day & night

 
Clojure 1.1, язык программирования
Дата публикации:
#1
~karlson~



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Модераторы
Сообщений: 1.878
Регистрация: 6.06.2006
Из: Чернигов
Пользователь №: 555


Респектов: 726
-----XXXX-




Clojure 1.1


Твой софтовый форум


Что такое Clojure?

Совсем недавно для того, чтобы запустить программу на Java Virtual Machine (JVM), необходимо было написать эту программу на языке Java. Эти дни безвозвратно ушли в прошлое, потому что теперь есть широкий выбор языков программирования для JVM. Наиболее популярные, такие как Groovy, Ruby (с интерпретатором JRuby), и Python (с интерпретатором Jython), предназначены в основном для процедурного программирования или же относятся к группе объекто-ориентированных языков. Парадигмы процедурного и объекто-ориентированного программирования хорошо знакомы Java-программистам, так что сторонники Java имеют веский аргумент в свою пользу – используя вышеназванные языки, вы напишете примерно такой же код, какой вы написали бы на Java, вам просто придется использовать другой синтаксис.

Clojure – тоже язык программирования для JVM, однако он в корне отличается от Java-технологии и других упомянутых выше языков программирования для JVM. Clojure – диалект Lisp. Семейство языков программирования Lisp существует уже довольно длительное время – фактически с 50-х годов прошлого века. Lisp использует S-выражения, или польскую префиксную запись. Такая запись выглядит как (function arguments...). Вы всегда начинаете с задания имени функции, за которым следует список (пустой или непустой) аргументов, передаваемых функции. Чтобы понять, где начинается и где заканчивается определение функции, ее имя и список аргументов заключаются в скобки. Именно это требование синтаксиса языка привело к появлению огромного количества скобок в коде, что стало своего рода торговым знаком Lisp.

Как можно догадаться, Clojure – функциональный язык программирования. С чисто академической точки зрения его «чистоту» можно оспаривать, однако Clojure, безусловно, опирается на основные принципы функционального программирования: отказ от изменяемых переменных (mutable state), использование рекурсии и функций высокого порядка и т.п. В Clojure используется динамическая типизация, однако при необходимости вы можете задать определенный тип данных, чтобы обеспечить максимальную производительность критически важных фрагментов кода. Clojure не просто работает на JVM, он разрабатывался с учетом операционной совместимости с Java. Кроме того, создатели Clojure ориентировались на поддержку многопоточности, так что Clojure предоставляет разработчикам уникальные возможности для параллельного программирования.


Новая версия языка программирования Clojure. Clojure является динамически типизируемым и компилируемым языком общего назначения для JVM и CLR. Изменений много. Среди них:

* поддержка примитивных массивов (primitive array generators)
* chunked-последовательности
* futures, предназначенные для асинхронных вычислений
* promises для обмена данными между тредами
* pre- и post условия для функций
* новое пространство имён

Полный список изменений: http://github.com/ric....x/changes.txt

Домашняя страница: http://clojure.org/

Статья посвященная языку програмирования Clojure: http://www.ibm.com/de...ure/index.html

Скачать: http://clojure.google...jure-1.1.0.zip
User is offline
Go topGo end

Topic Options
Сейчас: 2.05.2024 - 2:25
Мобильная версия | Lite версия