Этот язык строится на виртуальной машине Java, благодаря чему он совместимым с кодом, написанным на Java, и со средой выполнения JRE. Но Clojure компилируется не только в Java: существует также ClojureScript – версия, компилируемая в JavaScript.
Код Clojure нужно читать справа-налево, например, вычисление суммы чисел 3 и 1 будет выглядеть так: +1 3. А еще в нем вместо циклов используется рекурсия. Язык принадлежит Lisp-семейству ЯП, так что код и все данные в Clojure программист воспринимает линейным списком. Кроме того здесь применяется очень много макросов.
Плюсы
Удобный вариант для функционального программирования, когда не хочется сильно углубляться в дебри. ФП дает возможность по максимуму использовать возможности новейших многоядерных процессоров во время выполнения параллельных вычислений, а низкоуровневые языки, например, Haskell, будут слишком трудными для некоторых разработчиков.
Минусы
Тем, кто привык к объектно-ориентированному или императивному программированию, сперва наверняка будет непросто воспринять отсутствие циклов и структур данных, а еще наличие по умолчанию неизменных данных. Пользователи тематических форумов часто жалуются на постоянно появляющиеся загадочные ошибки и выражают недовольство JVM.
Компании, которые используют Clojure:
Walmart, Puppet.
Как можно не умиляться, глядя на символ этого языка – необычного милого суслика? Golang – это разработка Google, которая создавалась с учетом главных потребностей современного мира, включая многие важные факторы вроде научных вычислений и веб-приложений.
Предназначение Go – это в первую очередь быстрая разработка, недаром он оснащен столь важными функциями, как упрощенное управление зависимостями, параллелизм, легкое масштабирование и встроенный инструмент для сборки мусора.
Плюсы
Пользоваться Go можно без особого труда, поскольку создаваемые на нем приложения компилируются в один исполняемый файл, а не требуют параллельно устанавливать разные зависимости. Они прекрасно поддерживают многопоточность.
Еще один важный плюс – это большая поддержка языка и быстро развивающееся сообщество.
Go совместим с самыми популярными операционными системами (Windows, Linux и Mac), а также с небольшими компьютерами вроде Raspberry Pi.
Минусы
Из-за еще довольно юного возраста Go не хватает достаточного количества библиотек и других полезных дополнений.
Компании, которые используют Go:
Docker, Cloud Foundry, CrowdStrike, CloudFlare, компания-разработчик Google и Dropbox.
Rust был создан Mozilla в качестве альтернативы C++, к тому же его активно поддерживает Samsung. Создатели языка стремились сохранить в Rust возможность управлять памятью, как в C++, и производительность. Помимо этого их задачей было исправить баги, в том числе “висячие” указатели над несуществующими объектами, переполняющийся буфер и др. Благодаря исправлению этих недочетов поддержка кода облегчилась, что особенно актуально для долгосрочных проектов.
Благодаря Rust компания Maidsafe за 6 месяцев огромную кодовую базу, написанную на языке C++ объемом 500 тысяч строк, поместила всего лишь в 30 тысяч строк Rust-кода, при этом существенно повысив ее стабильность.
Плюсы
Rust прекрасно подходит для системных разработчиков, работающих над созданием низкоуровневого ПО для долгосрочного проекта, если они хотят использовать более надежный и актуальный язык, чем C или C++. Несмотря на свой юный возраст, Rust может похвастать хорошей поддержкой, постоянно растущим числом библиотек и увеличивающимся количеством разработчиков.
Минусы
Нельзя сказать, что выучить Rust просто, потому что в нем скомбинированы низкоуровневые возможности Си с высокоуровневыми, характерными для функциональных ЯП, например Scala. Приоритет компилятор отдает безопасности, поэтому он не разрешает коду идти вопреки многочисленным правилам языка. Новичкам разобраться со всеми тонкостями может быть трудно.
Компании, использующие Rust:
Dropbox, Evrone, Mozilla и Maidsafe.
Этот уникальный язык стал самым удобным инструментом для математиков и сотрудников, занимающихся анализом данных, потому что заменил сразу несколько других языков, которые они использовали для решения разных задач.
Например, в линейной алгебре можно пользоваться Matlab, статистические данные обрабатывать с помощью R, осуществлять быстрый запуск и выполнять функции в C, а для соединения всех компонентов воедино применить один из ЯП общего назначения, к примеру, Python.
Но теперь можно не усложнять себе жизнь, а воспользоваться всеми возможностями, которые объединил в себе язык Julia: легкость в использовании и производительность Python, математические способности Matlab и эффективность С.
Плюсы
Julia можно посоветовать всем аналитикам данных, которые работают с огромными БД. Синтаксис языка имеет много общего с Python, поэтому у Python-разработчиков точно не возникнет трудностей в изучении Julia. Если будет необходимо, вы всегда имеете возможность применить Fortran- и C-библиотеки. Плюс ко всему, установить внешние библиотеки и любые дополнительные функции легко можно с помощью диспетчера пакетов.
Минусы
Несмотря на принадлежность Julia к ЯП общего назначения, чтобы работать с ним понадобятся хорошие математические познания. Нужно быть готовым и к некоторым недоработкам, неидеальной поддержке и недостатку необходимой документации.
Staffjoy была одной из первых фирм, начавших активно использовать этот язык, но через некоторое время прекратила работу с ним из-за недостаточной поддержки.
Сейчас стал очень востребованным язык PHP, но даже самые преданные его поклонники не могут уверенно утверждать, что он безупречен и не нуждается в доработках. Одним из возможных улучшений PHP является язык Hack для виртуальной машины HipHop. Он полностью совместим со стандартным PHP и существенно расширяет его функциональность (хотя 7 версия PHP тоже пытается не отставать).
Плюсы
PHP-разработчикам Hack позволяет сильно ускорить рабочий процесс, а также делает код надежнее, безопаснее и более масштабируемым. Сеть Facebook в основном написана на языке PHP, так что ее создатели заинтересованы в том, чтобы он развивался и укреплялся.
Минусы
Последняя версия PHP ничуть не хуже Hack, так что если вам комфортно с ней работать, нет смысла перестраиваться. Существенный минус Hack заключается в том, что его нельзя встроить в HTML, что создает сложности буквально на ровном месте даже для самых простых проектов.
Компании, которые используют Hack:
Facebook, Box и Wikipedia.
Этот язык, как и Hack, является потомком одного из популярных ЯП, созданным для его улучшения, но если Hack – это улучшение PHP, то TypeScript – это более функциональная версия JavaScript от компании Microsoft. Как и прочие последние проекты Microsoft, TypeScript бесплатный и имеет открытый исходный код.
Если Hack – это отдельный язык, то TypeScript – целиком совместимая часть JavaScript. Код, написанный на TypeScript, легко компилируется в JS. Он также добавляет к нему внешние пакеты и обладает статической типизацией. TypeScript может применяться для создания клиент-серверных архитектур.
Плюсы
Рекомендуем TypeScript разработчикам комплексных проектов. Он будет полезным для более эффективного обнаружения багов, всплывающих во время компиляции из-за неверно указанного типа данных. Кроме того TypeScript позволяет совершать быстрое прототипирование и пользоваться сторонними библиотеками и модулями.
Минусы
TypeScript – это всего лишь надстройка, и он не преследует цель исправить недостатки JavaScript или сделать написание кода более легким. Вот почему вместо него часто выбирают CoffeeScript, облегчающий переход к языку JavaScript тем разработчикам, которые до этого писали на Ruby и Python.
Компании, которые используют TypeScript:
Bet365, Asana, Kaggle, Clever и eBay.