Научная статья на тему 'ЯЗЫК NEMERLE КАК АЛЬТЕРНАТИВА "КЛАССИЧЕСКИМ" ЯЗЫКАМ ПРОГРАММИРОВАНИЯ В УЧЕБНЫХ ЗАВЕДЕНИЯХ'

ЯЗЫК NEMERLE КАК АЛЬТЕРНАТИВА "КЛАССИЧЕСКИМ" ЯЗЫКАМ ПРОГРАММИРОВАНИЯ В УЧЕБНЫХ ЗАВЕДЕНИЯХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
25
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЯЗЫКИ ПРОГРАММИРОВАНИЯ / С-ПОДОБНЫЕ ЯЗЫКИ / ПАРАДИГМА ПРОГРАММИРОВАНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Драч А.Н., Ерохин Г.В.

Статья посвящена новому гибридному языку программирования Nemerle и его особенностям, делающим его альтернативой языков, которые изучают в учебных заведениях.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ЯЗЫК NEMERLE КАК АЛЬТЕРНАТИВА "КЛАССИЧЕСКИМ" ЯЗЫКАМ ПРОГРАММИРОВАНИЯ В УЧЕБНЫХ ЗАВЕДЕНИЯХ»

Драч А.Н. ассистент

кафедра Информационных технологий и методики преподавания информатики

Ерохин Г.В. студент 4 курса Институт Математики, механики и компьютерных наук им. И.И. Воровича ФГАОУ ВО «Южный федеральный университет»

Россия, г. Ростов-на-Дону ЯЗЫК NEMERLE КАК АЛЬТЕРНАТИВА «КЛАССИЧЕСКИМ» ЯЗЫКАМ ПРОГРАММИРОВАНИЯ В УЧЕБНЫХ ЗАВЕДЕНИЯХ

Статья посвящена новому гибридному языку программирования Nemerle и его особенностям, делающим его альтернативой языков, которые изучают в учебных заведениях.

Ключевые слова: языки программирования, С-подобные языки, парадигма программирования

В настоящее время в мире представлено большое разнообразие языков программирования. Одни языки были созданы для решения каких-либо узкоспециализированных задач, другие для решения широкого спектра задач. Неудивительно, что из этого многообразия, школьные учителя и преподаватели выбирают языки программирования, проверенные временем, не рассматривая вполне достойные современные альтернативы, освоив которые школьники и студенты быстрее смогут изучить другие языки.

Не так давно появился язык Nemerle, который специалисты называют одним из лучших языков, спроектированных под платформу .Net. Он схож с языками семейства C# и .Net, поэтому не только программистам, работающим на этих платформах, но и новичкам будет достаточно просто его освоить.

Язык Nemerle начали разрабатывать три аспиранта в Вроцлавском университете в 2003 году.

Первый комплекс для программирования на Nemerle, включавший компилятор языка с набором библиотек для встраивания в Microsoft Visual Studio 2008, компилятор для работы без Visual Studio, версию, интегрируемую с Visual Studio 2010, а также исходные коды, был выпущен в 2011 году под BSD-подобной лицензией, допускающей его свободное использование.

Такой состав ПО обусловлен тем, что Nemerle совместим на уровне библиотек как с C#, так и с VisualBasic. Все компоненты и библиотеки, доступные в .Net, можно использовать из Nemerle. К тому же, если в публичном интерфейсе не используются вариантные типы данных, библиотеку Nemerle можно использовать из C# или VB без изменений, как это обычно происходит с языками, не разрабатываемыми под платформу, а адаптируемыми к ней.

В Nemerle можно выделить 3 части:

• базовую, без подключения синтаксического макроса. Но использовать её затруднительно из-за отсутствия, например, приоритета операторов. Обычно её используют для обучения или создания собственной замены стандартной библиотеки.

• часть с макросами из стандартной библиотеки Nemerle.Core.

• часть с макросами из других пространств имен макро-библиотек (стандартной или сторонних).

Полное представление о синтаксисе Nemerle можно получить, только соединив синтаксис базовой части с синтаксисом стандартных макросов. При этом, база языка не очень большая.

Nemerle сочетает в себе несколько парадигм программирования (функциональную, объектно-ориентированную, императивную и метапрограммирование), благодаря которым его можно применять в очень широком спектре задач. К тому же, все перечисленные парадигмы можно рассматривать на примере одного языка. При этом, Nemerle не требует кардинальной перестройки сознания, как Haskell или LISP. В тоже время, эти языки станут более доступными и понятными после изучения Nemerle.

Функции (библиотечные, пользовательские) и другие действия можно выполнять последовательно, отделяя «;», как в Pascal, в C#, Java и C++.

Перечислим некоторые особенности языка: [1,2]

1. Использование интеллектуальной IDE (модуля расширения для Microsoft Visual Studio), что позволяет упростить процесс работы с кодом.

2. Наличие мощной системы метапрограммирования, которая позволяет автоматизировать разработку кода внутри проекта и использовать код из проектов на других языках.

3. Возможность использования как «{}» для отделения классов, составных операторов, тел методов, так и описание структуры программы, основанное на отступах, как в Python.

4. Идентификаторы могут состоять из букв, цифр, знаков подчёркивания и апострофа. В описании переменных и методов присутствует схожесть с Pascal («переменная : тип»), но при этом задать несколько имен переменных нельзя.

5. Кроме подключения всех вложенных пространств имён, команда using позволяет напрямую подключить конкретный тип, что позволяет использовать методы классов или константы перечислений без квалификации имени. При этом, язык поддерживает вывод типов, что позволяет не указывать типы внутри кода.

6. Объявление локальных функций и констант начинаются с def, а главной функции программы - в виде статического метода Main головного класса программы, как в C#, при этом поддерживается прямое размещение кода в файле (не обязательно помещать его в класс или метод).

7. За счет использования модификатора mutable при объявлении переменных в синтаксисе неизменяемых объектов, поддерживается

идеология функционального программирования.

8. Для создания экземпляра класса не обязательно указывать ключевое слово new, поскольку оно выполняется вызовом конструктора — «ИмяКласса(параметры конструктора)».

9. Стандартная библиотека содержит тип list (однонаправленный связанный список) с особым синтаксисом, значительно упрощающим работу с ним. Так же ведены типы variant (аналог алгебраических типов в функциональных языках) и tuple (безымянная, незменяемая структура данных, содержащая несколько одно- или разнотипных элементов).

10. Введена конструкция сопоставления с образцом match. Она обладает большими возможностями по сравнению с конструкцией переключения switch и была позаимствована из ML-подобных языков. В стандартной библиотеке языка есть 3 макроса, реализующих условные операторы:

a. if (с обязательной ветвью else),

b. when (как «if без else»);

c. unless (как отрицание when или «when (! условие) выражение»).

При этом, все перечисленные операторы переписываются

соответствующими макросами в оператор match.

11. Сопоставление с образцом, алгебраические типы данных, макросы позволяют описывать сложную логику и делают решение задачи более простым и понятным, чем на языках, не обладающих такими средствами (C#, Java, VB или C++). При этом полученный результат можно занести в библиотеку и использовать в проектах на других языках.

12. В коде можно использовать специальный подстановочный символ-заместитель «_», подавляющий предупреждение компилятора о неиспользуемой переменной. В C# это происходит автоматически и часто приводит к ошибкам, в то время, как Nemerle выдает предупреждение. Использование «_» вместо имени локальной переменной, как и использование стандартного макроса ignore, позволяет указать намеренное игнорирование результата.

13. Nemerle - статически типизированный, по сравнению с Ruby или Python, что позволяет получать легкий в исполнении код (сравнимый с C/C++ и C#) и находить некоторые ошибки еще до запуска программы.

14. В функциях Nemerle отсутствуют «return», «break», «continue» и другие императивные операторы перехода, позволяющие управлять ходом вычисления, по средством прерывания функции или цикла. Они реализуются в виде макросов на базе специальной конструкции.

Этот язык позволяет попробовать все возможности, которые предоставляют другие языки программирования, именно поэтому изучив его, школьнику или студенту будет проще освоить другие языки, многие из которых будут восприниматься как диалекты Nemerle.

При всей близости к «классическим» языкам программирования, Nemerle имеет ряд характерных отличий, часть которых взята из

функциональных и скриптовых языков, которые делают его проще и, как следствие, прекрасной альтернативой для изучения в любом учебном заведении или самостоятельно.

Использованные источники:

1. Nemerle. [Электронный ресурс]. Режим доступа: http://ru.wikipedia.org/wiki/Nemerle

2. Чистяков В.Ю. Язык Nemerle. [Электронный ресурс]. Режим доступа: http://rsdn.ru/article/Nemerle/TheNemerleLanguage.xml#1

Зуева М. С. студент 3 курса факультет «Экономика и управление» Самарский государственный аэрокосмический университет

им. академика С.П. Королева (НИУ)

Россия, г. Самара

ВЛИЯНИЕ ИКТ НА РЫНОК ТРУДА

Аннотация. Глобальное распространение информационных технологий стало причиной принципиальных изменений в трудовой деятельности людей. Появление и стремительное развитие таких экономических явлений, как телеработа и аутсорсинг, породило широкую дискуссию среди экономистов и социологов. Объектом данного исследования является современный российский рынок труда.

Ключевые слова: информационно-телекоммуникационные технологии (ИКТ), труд, информация, рынок труда, профессия.

Annotation. The global IT expansion led to fundamental transformations in human labor process. The appearance and impetuous development of such economic phenomena as WFH (Work From Home) and outsourcing caused the widespread debate among economists and sociologists. The object of this study is to present the Russian labor market

Keywords: Information and communication technology, labor, information, labor market, profession.

Стремительное развитие информационно-коммуникационных технологий (ИКТ) неузнаваемо видоизменяет наше общество, и каждый из нас на протяжении своей жизни вынужден адаптироваться к этим переменам.

При внедрении ИКТ организации сокращают численность персонала, оставляя наиболее способных и талантливых людей. В своей книге «Кибернетика» Н.Винер писал: «...мы стоим перед лицом другой социальной силы, несущей неслыханные возможности для добра и зла. Заводы -автоматы, сборочные конвейеры без рабочих появятся так скоро, как только мы решим затратить на них столько же усилий, сколько мы, например, затратили на развитие техники радиолокации во время Второй

i Надоели баннеры? Вы всегда можете отключить рекламу.