После почти двух лет разработки опубликован (https://groups.google.com/forum/#!topic/clojure/O307eyvpwn0) релиз динамического языка программирования Clojure 1.8 (http://clojure.org/), базирующегося на языковых конструкциях Lisp и сочетающего в себе возможности функционального и многопоточного программирования с чертами современных скриптовых языков. Код программ на языке Clojure транслируется в Java байт-код и выполняется на виртуальной машине JVM. Код компилятора Clojure, библиотек и runtime-компонентов распространяется в рамках лицензии Eclipse Public License.Из ключевых улучшений (https://github.com/clojure/clojure/blob/master/changes.md) отмечается:
- Реализация (http://clojure.github.io/clojure/branch-master/clojure.strin...) дополнительных строковых функций в модуле clojure.string: index-of, last-index-of, starts-with?, ends-with?, includes?);
- Поддержка в компиляторе прямого связывания (direct linking (http://clojure.org/reference/compilation#directlinking)), которое позволяет добиться повышения производительности и сократить время запуска. Суть прямого связывания в обеспечении прямого вызова статических методов функций вместо обращения через объекты var и Fn;
- Представлены компоненты Socket server (http://clojure.org/reference/repl_and_main#_launching_a_sock...) и socket server REPL, дающие возможность организовать выполнение удалённых операций c использованием REPL (Read-Eval-Print Loop) на базе сокетов, например, чтобы организовать динамическое расширение функциональности программ без изменения кода.URL: http://blog.cognitect.com/blog/2016/1/19/clojure-18
Новость: http://www.opennet.me/opennews/art.shtml?num=43698
Вот бы еще ссылочку кто добавил на растолкование для чего этот язык и кому он нужен
Вернее кем используется
Как кем? Некоторым процентом среди любителей Лиспа. Разумеется к новости можно было приложить список имён всех этих людей, благо их пару десятков. Но зачем?
> Вернее кем используетсяПивотал например, хотя там три с половиной инвалида его используют.
http://cognitect.com/clojure#successstories
http://clojure.org/community/companies
> Вот бы еще ссылочку кто добавил на растолкование для чего этот язык
> и кому он нуженВот обоснование от автора языка http://clojure.org/about/rationale
Чтоб писать JavaScript, не дотрагиваясь до него руками.
С каких пор сферы применения JavaScript и JVM стали так плотно пересекаться?
> С каких пор сферы применения JavaScript и JVM стали так плотно пересекаться?Обычно бывает так: В БД - SQL, на сервере Java/.Net/PHP/Perl/Python ... на клиенте JavaScript/HTML/CSS ...на мобильных приложениях Swift,
А в clojure в БД - clojure (datomic), на сервере в любой ОС - clojure, в браузере clojure (clojurescript), на мобильниках clojure (через react native).
Я не хочу сказать что это серебряная пуля, но язык очень, очень хорошо сделан.
На сервере js через Node.js
На клиенте js
На мобиле js через react native
Но если руками его можно при этом не трогать, то какая разница .
В CPU на сервере, клиенте и мобиле тоже байткод этих CPU исполняется в конечном итоге (а внутри - микрокод и uOps), это не повод его же и писать в подавляющем большинстве случаев.
js - высокоуровневый язык, поэтому давайте сравнивать с другими выосокоуровневыми язками. Вы предлагаете использовать СlosureScript с библиотеками на js, где при ошибке или отладке придется столкнутся с js кодом.
> js - высокоуровневый язык, поэтому давайте сравнивать с другими выосокоуровневыми язкамиЛучше не будем.
> Вы предлагаете использовать СlosureScript с библиотеками на js, где при ошибке или отладке придется столкнутся с js кодом.
При ошибке или отладке много с чем приходится сталкиваться. Иногда даже и похуже джаваскрипта, как бы не было трудно такое представить.
С момента появления главного драйвера роста популярности Clojure - ClojureScript.
JVM тут решительно не при чем.
а раньше repl разве не работал?
работал
> а раньше repl разве не работал?просто теперь репл можно включаеть при старте приложения java -jar app.jar указав ключ jvm -Drepl={:host :port} после чего можно коннектится прям внутрь приложения и делать там, что только возможно: метрики собирать, видеть реальный стейт, вызвывать функции или патчить код.
> а раньше repl разве не работал?Раньше какой*то там "socket server REPL" не был представлен.
пример проекта, где сабж используется http://riemann.io/
Далеко ходить не надо Twitter Storm
Отлично. Можете подсказать хорошие статьи и литературу по этому языку?
С чего начать? Какие-нибудь практические примеры использования.
>С чего начать?Начинать с Лиспа
Настоящий хипстер -- только увидел, уже готов изучать и писать проекты.
Странные вы понятия вкладываете в слово хипстер.
Насчёт проектов он ничего не говорил, а стремление изучать что-то новое - не какая-то особая черта, присущая лишь хипстерам. Скорее, не изучать новое - черта, присущая старпёрам.
Новое, говорите?
http://stackoverflow.com/questions/432922/significant-new-in...
начни отсюда http://www.braveclojure.com
Удваиваю. Еще https://clojuredocs.org/ сюда стоит заглядывать в любой непонятной ситуации.
Кложурка - это ЛИСП, а ЛИСП - это история. Забавный язык для мозговыверта, но полный швах для продакшена.
Судя по комментарию, вы используете современные языки, не обремененные историей, зато содержащие революционные концепции, которым может быть даже меньше трех-четырех десятков лет.
Kodir, не сочтите за троллинг, что вы имеете в виду под словом "продакшен"?
В чём вы видите сложность, судя по вашим словам, лиспа?