13 редких и недооцененных языков программирования

0
670
views

На Java, Python, С/С++, JavaScript и PHP пишут миллионы разработчиков, но хорошему специалисту нужно постоянно изучать что-то новое. Сайт proglib.io опубликовал список редких, необычных и/или недооцененных языков программирования, на которые стоит обратить внимание.

Photo by Danny Meneses from Pexels

1. Rust

В 2006 году разработчик Mozzilla Грэйдон Хор начал работу над созданием языка программирования Rust. Через три года компания увидела перспективы в дальнейшем развитии проекта и начала его отдельно финансировать, а уже через год Rust был официально представлен на Mozilla Summit 2010. Несколько лет тестирования, и в мае 2015 года вышла первая стабильная версия Rust 1.0.

Сейчас этот статически типизированный мультипарадигменный компилируемый язык используют для распределенных клиент-серверных приложений и системного программирования. Грамотно реализованная модель управления памятью препятствует возникновению критических ошибок, регулярно возникающих в коде на похожих языках. К тому же Rust весьма производителен, и разработчики часто используют его как альтернативу С/С++, переписывая унаследованный код и запуская новые проекты.

2. Hack

В Facebook создали этот мультипарадигменный язык программирования для совмещения быстрых циклов разработки на PHP со статической типизацией, обеспечивающей надежность и производительность. Написанный на нем код исполняется виртуальной машиной HHVM (HipHop Virtual Machine). Чаще всего Hack применяется для создания сложных веб-сайтов, позволяя разработчикам использовать для проектов динамическое кодирование как в PHP. Несмотря на впечатляющий дебют в самой популярной социальной сети, язык не получил широкого распространения. На данный момент Hack активно разрабатывается.

3. Аda

Этот язык был создан в 1980 году по заказу Министерства обороны США для управления автоматизированными военными комплексами, бортовыми системами кораблей, самолетов, танков и ракет. Он узкоспециализирован и хорош лишь в своей предметной области.

Алголоподобный синтаксис языка был значительно расширен, что сделало его более логичным. Ада – строго-типизированный язык с добавлением базовых средств для объектно-ориентированного программирования. Он имеет множество замечательных функций, хорошо масштабируется и считается одним из самых безопасных среди языков своей группы. Назван он в честь Ады Лавлейс – первого в мире программиста.

4. Haskell

В 80-е годы прошлого века функциональные языки, к которым относится Haskell, были либо очень сложными, либо легкими и витиеватыми. Все они были ужасно непрактичными и не имели прочной основы для создания реальных приложений, пока не появился этот чисто функциональный язык программирования с серьезным отношением к типизации.

Помимо простого и элегантного синтаксиса, Haskell имеет приличную скорость быстродействие. С момента принятия последнего стандарта языка (Haskell 98) прошло много времени, и с тех пор ведущие реализации (ghc и hugs) были расширены множеством дополнительных возможностей. Приверженцев у языка до сих пор немало. Используют его для инвестиционного банкинга, для проектирования программного обеспечения, а также для разработки системных продуктов. Более подробную информацию о Haskell вы можете получить на официальном сайте.

Photo by Vlada Karpovich from Pexels

5. Erlang

Еще один возрастной язык с открытым исходным кодом был создан Ericsson Computer Sciences Lab в середине 80-х годов. Компания преследовала две цели: обеспечение эффективной разработки программного обеспечения и создание системы, устойчивой к сбоям программного и аппаратного характера. Перед разработчиками стояла задача сделать язык с возможностью обновления приложений «на лету» без простоя оборудования.

В основе Erlang лежит принцип “let it crash” (пускай выходит из строя), то есть работает механизм, завершающий сбойные процессы и запускающий новые.

Erlang допускает многопоточность и использует похожую на JVM виртуальную машину, но в отличие от последней, он предназначен для встроенных решений. Есть мнение, что странный синтаксис языка отпугивает новичков, но такая слава совершенно незаслуженно. На Erlang пишут современные системы веб-управления и базы данных, а также разрабатывают различные чаты (включая чат Facebook).

6. Racket

Racket – мультипарадигменный язык на базе Lisp/Scheme. Разработчики используют его для исследования идей и тестирования прототипов. Одна из главных задач Racket – создание, проектирование и реализация новых языков программирования. Синтаксис языка довольно прост, он не типизирован и имеет учебно-ориентированные библиотеки, а руководство по Racket – один из наиболее понятных и хорошо организованных документов.

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

7. Io

Это относительно малоизвестный язык сценариев, сочетающий в себе принципы LISP (весь код – это данные) с объектами на основе прототипов и простой моделью передачи сообщений. Хотя он не получил широкого распространения, функциональность Io хорошо продумана и основана на простых конструкциях. Изучение Io – способ понять базовое строение основанных на прототипах языков (вроде JavaScript). Его отличительными особенностями являются простота и минимальный синтаксис, довольно легкий для восприятия. Приверженцы говорят, что это отличный язык программирования общего назначения.

8. Groovy

Groovy – объектно-ориентированный язык, созданный как дополнение к Java. Он выглядит и ощущается как Java, но с упором на расширяемость и быстрые инновации. Groovy заимствовал основные концепции и идеи из динамических языков, вроде Ruby, Python и Smalltalk, предложив решения для устранения некоторых недостатков Java. Он расширяемый, поддерживает простую перегрузку операторов и имеет гибкую грамматику. Хотя Groovy все еще неразрывно связан с Java, со временем,из языка динамических сценариев он превратился в привлекательный самодостаточный язык программирования.

9. Scratch

Визуальная среда программирования для детей в возрасте от 8 до 16 лет была разработана в Массачусетском технологическом институте. В Scratch не придется писать код – программировать нужно с помощью перетаскивания визуальных блоков (drag-and-drop). Блоки группируются по назначению и каждая их группа обозначена соответствующим цветом для лучшего восприятия. Интерфейс платформы переведен на русский, так что если вы хотели научить ребенка основам – это хороший вариант.

Photo by cottonbro from Pexels

10. Dart

Созданный в Google в 2011 году, Dart должен был заменить JavaScript или хотя бы стать ему достойной альтернативой.

«JavaScript имеет фундаментальные изъяны, которые невозможно исправить, поэтому и был создан Dart», — Марк Миллер, создатель Dart.

Задуманное не осуществилось, JavaScript оставил Dart далеко позади, и технический гигант переделал его по образцу CoffeeScript (компилятор Dart-to-JavaScript). Тем не менее на Dart разработаны веб-приложения Google AdSense, Google AdWords и еще много достойных программ.

11. Q#

Предметно-ориентированный язык от компании 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.


Языки программирования – это инструменты для выполнения вашей работы. Постарайтесь овладеть ими и не бойтесь периодически осваивать новые. Часто они нужны для решения вспомогательных задач, вроде написания скриптов или прототипирования. Даже если нет, изучение языков программирования – хорошая тренировка для ума, расширяющая базовые представления о профессии и позволяющая поддерживать ваши навыки в актуальном состоянии. Инвестируйте в себя и вы всегда будете востребованным специалистом. Удачи!

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here