Сейчас этот статически типизированный мультипарадигменный компилируемый язык используют для распределенных клиент-серверных приложений и системного программирования. Грамотно реализованная модель управления памятью препятствует возникновению критических ошибок, регулярно возникающих в коде на похожих языках. К тому же Rust весьма производителен, и разработчики часто используют его как альтернативу С/С++, переписывая унаследованный код и запуская новые проекты.
2. Hack
В Facebook создали этот мультипарадигменный язык программирования для совмещения быстрых циклов разработки на PHP со статической типизацией, обеспечивающей надежность и производительность. Написанный на нем код исполняется виртуальной машиной HHVM ( HipHop Virtual Machine ). Чаще всего Hack применяется для создания сложных веб-сайтов, позволяя разработчикам использовать для проектов динамическое кодирование как в PHP. Несмотря на впечатляющий дебют в самой популярной социальной сети, язык не получил широкого распространения. На данный момент Hack активно разрабатывается.
3. Аda
Алголоподобный синтаксис языка был значительно расширен, что сделало его более логичным. Ада – строго-типизированный язык с добавлением базовых средств для объектно-ориентированного программирования. Он имеет множество замечательных функций, хорошо масштабируется и считается одним из самых безопасных среди языков своей группы. Назван он в честь Ады Лавлейс – первого в мире программиста.
4. Haskell
Помимо простого и элегантного синтаксиса, Haskell имеет приличную скорость быстродействие. С момента принятия последнего стандарта языка (Haskell 98) прошло много времени, и с тех пор ведущие реализации (ghc и hugs) были расширены множеством дополнительных возможностей. Приверженцев у языка до сих пор немало. Используют его для инвестиционного банкинга, для проектирования программного обеспечения, а также для разработки системных продуктов. Более подробную информацию о Haskell вы можете получить на официальном сайте .
5. Erlang
Еще один возрастной язык с открытым исходным кодом был создан Ericsson Computer Sciences Lab в середине 80-х годов. Компания преследовала две цели: обеспечение эффективной разработки программного обеспечения и создание системы, устойчивой к сбоям программного и аппаратного характера. Перед разработчиками стояла задача сделать язык с возможностью обновления приложений «на лету» без простоя оборудования.
Erlang допускает многопоточность и использует похожую на JVM виртуальную машину, но в отличие от последней, он предназначен для встроенных решений. Есть мнение, что странный синтаксис языка отпугивает новичков, но такая слава совершенно незаслуженно. На Erlang пишут современные системы веб-управления и базы данных, а также разрабатывают различные чаты (включая чат Facebook).
6. Racket
Некоторые разработчики жалуются, что в скобках язык «плывет»: строка нередко заканчивается десятью или двенадцатью скобками. Проблема может быть и в недостаточно большом сообществе последователей и отсутствии возможности подсмотреть интересующие вас фрагменты кода в режиме онлайн. В любом случае, высокой популярностью Racket не пользуется, а жаль.
Это относительно малоизвестный язык сценариев, сочетающий в себе принципы LISP (весь код – это данные) с объектами на основе прототипов и простой моделью передачи сообщений. Хотя он не получил широкого распространения, функциональность Io хорошо продумана и основана на простых конструкциях. Изучение Io – способ понять базовое строение основанных на прототипах языков (вроде JavaScript). Его отличительными особенностями являются простота и минимальный синтаксис, довольно легкий для восприятия. Приверженцы говорят, что это отличный язык программирования общего назначения.
8. Groovy
Groovy – объектно-ориентированный язык, созданный как дополнение к Java. Он выглядит и ощущается как Java, но с упором на расширяемость и быстрые инновации. Groovy заимствовал основные концепции и идеи из динамических языков, вроде Ruby, Python и Smalltalk, предложив решения для устранения некоторых недостатков Java. Он расширяемый, поддерживает простую перегрузку операторов и имеет гибкую грамматику. Хотя Groovy все еще неразрывно связан с Java, со временем,из языка динамических сценариев он превратился в привлекательный самодостаточный язык программирования.
9. Scratch
Визуальная среда программирования для детей в возрасте от 8 до 16 лет была разработана в Массачусетском технологическом институте. В Scratch не придется писать код – программировать нужно с помощью перетаскивания визуальных блоков ( drag-and-drop ). Блоки группируются по назначению и каждая их группа обозначена соответствующим цветом для лучшего восприятия. Интерфейс платформы переведен на русский, так что если вы хотели научить ребенка основам – это хороший вариант.
10. Dart
Созданный в Google в 2011 году, Dart должен был заменить JavaScript или хотя бы стать ему достойной альтернативой.
Задуманное не осуществилось, JavaScript оставил Dart далеко позади, и технический гигант переделал его по образцу CoffeeScript (компилятор Dart-to-JavaScript). Тем не менее на Dart разработаны веб-приложения Google AdSense, Google AdWords и еще много достойных программ.
Предметно-ориентированный язык от компании Microsoft был разработан в 2017 году. Он используется для расчета квантовых алгоритмов и работы с квантовыми компьютерами. Синтаксис Q# похож на C# и F#, но имеет ряд особенностей. Язык доступен пока только в форме отдельно загружаемого расширения для Visual Studio в составе Quantum Development Kit и поставляется вместе с квантовым симулятором, на котором и запускается.
12. Clojure
Язык общего назначения, упрощающий поддержку многопоточности и параллелизма. Clojure является разновидностью Lisp и работает на виртуальной машине Java. Имея простую структуру и синтаксис, он решает немало связанных с функциональным программированием проблем. Работая в контексте JVM, язык имеет доступ ко всем доступным библиотекам с возможностью вызова кода на Java из кода на Clojure и наоборот.
13. Lua
Несмотря на свою простоту, Lua считается мультипарадигменным языком, поддерживающим императивный, функциональный и объектно-ориентированный подходы. Он работает быстрее чем другие интерпретируемые языки и стал чрезвычайно популярен в геймдеве. Код на нем идеально подходит для различных скриптов, поэтому Lua поддерживается не только игровыми движками. Adobe Photoshop, Angry Birds, Apache HTTP Server, Tarantool, веб-браузер Firefox, MediaWiki и World of Warcraft – таков далеко не полный список приложений, которые «дружат» с Lua.
Языки программирования – это инструменты для выполнения вашей работы. Постарайтесь овладеть ими и не бойтесь периодически осваивать новые. Часто они нужны для решения вспомогательных задач, вроде написания скриптов или прототипирования. Даже если нет, изучение языков программирования – хорошая тренировка для ума, расширяющая базовые представления о профессии и позволяющая поддерживать ваши навыки в актуальном состоянии. Инвестируйте в себя и вы всегда будете востребованным специалистом. Удачи!