Язык программирования Clojure


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

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

Пара слов о Clojure

Clojure – функциональный и динамичный язык программирования общего назначения, который работает на основе виртуальной машины JVM (Java Virtual Machine). Он стремится быть языком общего назначения, подходящим в тех областях, где подходит Java.

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

Язык программирования Clojure – достаточно молодой, но он уже успел удивить многих своей функциональностью: он активно используется в production, клиент сайтах, backend, браузерных интерфейсах. Его используют для анализа данных, machinelearning, управления ресурсами и задачами.

Clojure разработали всего 6 лет назад в компании Cognitect. Несмотря на то, что это компилируемый язык, он остается полностью динамичным. Clojure обеспечивает легкий доступ к платформе Java с дополнительным выведением типа и подсказками для избежания отражения вызовов Java.

Преимущества

Clojure обладает рядом преимуществ перед другими языками программирования. Мы перечислим некоторые из них:

  • язык ориентирован на работу с данными. Данные вынесены в основу концепции Clojure. У него есть все средства для работы с ними, а также удобная библиотека. Язык заменяет данными классы, иерархии, объекты, что позволяет разработчику легко работать и писать на Clojure;
  • Clojure – очень динамический язык программирования. У него есть возможность запускать команды в консоли и тут же просматривать результат, не затрачивая лишнего времени. Также есть возможность горячей подмены кода, позволяющая не инициализировать программу заново при каждом изменении в коде;
  • язык очень компактен. Например, размер кода, написанного на Clojure, будет от 3 до 10 раз меньше, чем у Java.

Первая версия языка программирования Clojure существовала в виде языка компилируемого в JVM байт-код. Сейчас это основное направление развития Clojure.

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

Возможности

Clojure – диалект Lisp, разделяющий с ним мощную макросистему и философию «код-как-данные», когда у кода и данных общий синтаксис. В язык программирования Clojure по сравнению с другими языками, основанными на Lisp, введен дополнительный синтаксис: кроме стандартных символов, строк, чисел, списков он отражает такие объекты первого класса как векторы, отображения (maps) и множества (sets).

Еще одна не менее важная возможность Clojure заключается в том, что написанный на этом языке код можно легко компилировать в JavaScript.

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

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

Clojure достигает своих целей путем:

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

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


Comments 0


My pageSettingsLogout
Cancel Confirm
100%
Cancel Confirm
Cancel Confirm