← Архив: Clojure

Форум о Clojure

Author: · 01.02.2010 09:20
· original author: archimag
Добавлен новый форум, посвященный программированию на языке Clojure.
· original author: treep
Ну всё, теперь точно никого не забыли :)
Как-то не доводилось сталкиваться с Clojure, он очень не похож на CL, или не очень?-)
· original author: zw0rk
А в чем мерять похожесть? %)
· original author: treep
Ну, к примеру, портабельностью кода :)
· original author: treep
Ну вот, там всё совсем по другому - ещё одна сущность, JWM, Lisp-1, есчё виды скобок... Вот создатель Qi говорил, что мыслит перенести Qi с CL на Clojure - мол CL тащит за собой груз прошлых предрассудков, а Clojure более последователен. Зато SBCL концептуальней - всё сам без всякой Javы ;D
· original author: alexott
Код один в один не портабелен, но есть много удобных вещей... Подробней про язык будет в следующем номере журнала ПФП
· original author: treep
Это я в словах запутался уже - closure, Clojure, есть ведь ещё cl-Clozure.
Наверно этот язык имеет смысл использовать как мощную надстройку над самой Java с доступом ко всем её средствам.
>> но есть много удобных вещей...
Эт точно, вроде скобок для массивов и таблиц, или def с расписыванием типов и вариантов списков аргументов.
<===>
Language as platform vs. language + platform
  • Old way - each language defines its own runtime
    • GC, bytecode, type system, libraries etc
  • New way (JVM, .Net)
    • Common runtime independent of language
Language built for platform vs language ported-to platform
  • Many new languages still take 'Language as platform' approach
  • When ported, have platform-on-platform issues
    • Memory management, type-system, threading issues
    • Library duplication
    • If original language based on C, some extension libraries written in C don't come over
</===>
Я испугался )))
· original author: alexott
скобки - это не основное... основные приятности - параллелизм, в том числе неявный, STM, легкость написания многотредовых приложений.  Легкость интеграции с жабой (в обе стороны), что дает доступ к большому кол-ву библиотек, ну и т.д.
· original author: treep
А как вы относитесь к противопоставлению (Language as platform) vs. (language + platform), то есть реализация сама себя "обслуживающая" (классический cl-runtime?) и реализация операющаяся на внешнюю vm вроде JVM, или это вещи самодостаточные?
· original author: alexott
Language as platform - вещь хорошая, но не надо впадать в крайности.  Сейчас CL как платформа не имеет большой экосистемы, что ограничивает его применение...