Сегодня можно реально затеряться в фауне объектно-ориентированных, функциональных, императивных, динамических, компилируемых, интерпретируемых и скриптовых языков. Их стало настолько много, что ни один разработчик не может познать их все, но давайте посмотрим на 5 перспективных языков программирования, которые перевернут мир ИТ.
Opa
Веб-программирование штука сложная. Даже самое простое веб-приложение состоит из огромного количества строк, написанных на нескольких языках, например HTML и JavaScript для клиента, PHP или Java для серверной стороны, SQL для базы данных. Opa заменяет их всех сразу – получаетсясовершенно новая парадигма веб-программирования. В Opa-приложениях интерфейсы пользователя клиента, логика сервера и взаимодействие с БД – все написано на одном языке.
Такой результат получается за счет комбинирования фреймворков. Компилятор Opa сам решает где запускать программу – на сервере, клиенте или же на обеих сторонах.
F#
Функциональное программирование уже очень давно пользуется большой популярностью, но именно чисто функциональные языки (Lisp и Haskell) часто считаются непригодными для разработки ПО, из-за того, что коды функционального типа сложно сочетать с кодами и библиотеками, которые написаны на императивных языках (C++ или Java).
F# — язык, разработанный в стенах Microsoft. Поскольку F# язык первого класса на .Net CLR, он поддерживает те же библиотеки и функции, какие используют и другие CLR языки (например C# или Visual Basic). Код F# похож на OCaml, но со своим уникальным синтаксисом. Например, чтобы облегчить научные расчёты числовыми типами данных в F# могут быть единицы измерения. Также тут есть и конструкции для облегчения асинхронных вводов/выводов, инструменты параллелизации ЦПУ и т.п.
Dart
JavaScript хорошо подходит для создания базовой динамичности на странице, но как только приложение начинает разростаться, можно заметить недостатки JS. Поэтому разработчики Google создали Dart. Возможно что Dart, так само как и JavaScript, приживется в веб-программировании основательно и надолго.
Разница между JS и DART в том, что JavaScript основан на прототипах, а Dart на объектах. Сейчас Dart мало где используется, но так как Google выпускает Dart по беспланой лицензии BSD, вы можете спокойно писать свои приложения, соглашаясь с условиями лицензии.
Go
Команда Google не перестает нас радовать. Go это язык программирования общего назначения. На нем можно написать как приложение так и целые системы. Чем то он похож на C или C++, чем то на Java или C#, но нужно понимать, что Go был создан для легкого программирования и в основном он похож на С. Но во время оптимизации кода компилятор удаляет ненужные повторения кода.
Спецификация языка пока еще не готова, но Google подготовила хорошую документацию, в которой нельзя не заметить разницу между Go и другими языками.
haXe
Переносимый код уже давно не фантастика. Например, C имеет множество компиляторов заточенных под разные архимектуры и ЦПУ. haXe больше чем переносимый язык. Это мультиплатформный язык – его можно использовать как на разных архитектурах, так и на разных типах ОС.
Синтаксис haXe напоминает C, но этот языкпросто изобилирует огромным количеством функций. Но его главным преимуществом считается возможность устранения проблем, которые свойственны каждой из платформ. Например, haXe строготипизированный, но его код может конвертироваться в JavaScript, который в свою очередь не ограничивает переменные типами – компилятор учтет такую разницу и сделает все необходимое для получения нормального js на выходе.
Хотя haXe все еще находится на стадии разработки – его создатель (игровая студия Motion Twin) успешно использует его в комерческих целях. haXe доступен для Windows, Mac OS X и Linux по комбинациях бесплатных лицензий.
Это далеко не все новые языки и как говорят “хороший программист должен каждый год учить новый язык, чтобы расширять свое мышление”.