Clojure

Автор: Eugene Taylor
Дата создания: 10 Август 2021
Дата обновления: 20 Июнь 2024
Anonim
Clojure in a nutshell by James Trunk
Видео: Clojure in a nutshell by James Trunk

Содержание

Определение - Что означает Clojure?

Clojure - это динамический язык программирования, являющийся диалектом или вариантом языка программирования Lisp. Он предназначен для общего назначения и сочетает интерактивную разработку и доступность языка сценариев с надежной и эффективной инфраструктурой, используемой для многопоточного программирования.


Это также скомпилированный язык, который компилируется непосредственно в байт-код JVM, оставаясь при этом полностью динамическим.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Техопедия объясняет Clojure

Clojure был разработан Rich Hickey как диалект Lisp, который напрямую нацелен на виртуальную машину Java (JVM). Из-за этого он разделяет философию кода как данных и мощную систему макросов Lisp. Это преимущественно считается функциональным языком программирования, который имеет набор неизменных и постоянных структур данных.

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

Особенности Clojure включают в себя:
  • Тесная интеграция Java, где приложения легко упаковываются и развертываются на JVM и других серверах приложений.
  • Функции считаются первоклассными объектами
  • Динамическое развитие с циклом чтения-оценки
  • Акцент делается на рекурсию и другие функции более высокого порядка, а не на циклический эффект на основе побочных эффектов
  • Предоставляет неизменные и постоянные структуры данных, такие как хэш-карты, списки и наборы
  • Агентская система, динамическая переменная система и программная транзакционная память позволяют выполнять параллельное программирование
  • Мультиметоды допускают динамическую диспетчеризацию значений или типов любых аргументов