The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз языка программирования Clojure 1.4

19.04.2012 16:15

Анонсирован релиз динамического языка программирования Clojure 1.4, базирующегося на языковых конструкциях Lisp и сочетающего в себе возможности функционального и многопоточного программирования с чертами современных скриптовых языков. Код программ на языке Clojure транслируется в Java байт-код и выполняется на виртуальной машине JVM. Код компилятора Clojure, библиотек и runtime-компонентов распространяется в рамках лицензии Eclipse Public License.

Новая версия отличается внесением большой порции мелких улучшений и исправлений. Среди значительных новшеств отмечена возможность использования тегов для более ясного выделения определённых элементов структур данных и проверки соответствия типа. Добавлены литералы для определения времени, даты и UUID, что позволяет отождествлять теги со структурами данных типов. Представлен новый начинающийся с точки синтаксис обращения к полям записей и типов (например: "(defrecord Foo [x]) ;=> user.Foo (.-x (Foo. 10)) ;=> 10"). Проведена оптимизация производительности. Улучшена обработка ошибок, связанных с указанием некорректных символов в Unicode-строках.

  1. Главная ссылка к новости (http://groups.google.com/group...)
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/33640-clojure
Ключевые слова: clojure
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, жабабыдлокодер (ok), 17:18, 19/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вот не понимаю, и все тут!

    >Код программ на языке Clojure транслируется в Java байт-код и выполняется на виртуальной машине JVM

    Нафига? Зачем? Почему не писать сразу на жабе?

     
     
  • 2.2, Аноним (-), 17:22, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На лиспе писать интереснее.
     
  • 2.3, Crazy Alex (ok), 17:32, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Потому что жаба - многословная неудобочитаемая хреновина. Добровольно на ней писать далеко не каждый станет.
     
     
  • 3.5, Аноним (5), 17:55, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >многословная

    согласен
    >неудобочитаемая

    как раз наоборот, минимализм синтаксиса (который порой приводит к увеличению кода) как раз делает код простым и понятным. (При условии что это не индусский код)

     
     
  • 4.18, Аноним (-), 23:09, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тогда велком в ассемблер.
     
  • 4.32, Crazy Alex (ok), 16:00, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Большой массив текста "замыливает" глаз и забивает память, читать становится довольно неудобно
     
  • 3.6, ДяДя (?), 18:17, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, но моё мнение, что людей, которые не хотят писать на Lisp-подобном языке на порядок меньше. Хотя на самом функциональные штуки могут быть очень полезными.
     
     
  • 4.7, ДяДя (?), 18:19, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Согласен, но моё мнение, что людей, которые не хотят писать на Lisp-подобном
    > языке на порядок меньше. Хотя на самом функциональные штуки могут быть
    > очень полезными.

    "не" вставил не туда ;-) Т.е. людей, которые хотят писать на Lisp-подобном языке единицы.

     
     
  • 5.28, ytrrt (?), 08:35, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Это же не лисп. Там даже половину скобок убрали.
     
     
  • 6.39, ДяДя (?), 17:23, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Это же не лисп. Там даже половину скобок убрали.

    Если это и так, то их там ещё предостаточно осталось :-D

    (defn lazy-seq-fibo
        ([]
            (concat [0 1] (lazy-seq-fibo 0 1)))
        ([a b]
            (let [n (+ a b)]
                (lazy-seq
                    (cons n (lazy-seq-fibo b n))))))
                

     
  • 4.33, Crazy Alex (ok), 16:03, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже согласен. Как по мне, идеально - когда язык даёт богатый синтаксис, как Scala, C# или D - тогда с первого взгляда уже по самой конфигурации строки видишь, что за конструкция и что, скорее всего, она делает. То есть если я вижу foreach, к примеру - я сразу знаю, где сомтреть его аргументы и что вообще будет происходить.
     
  • 2.4, Фкуку (?), 17:53, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Нафига? Зачем? Почему не писать сразу на жабе?

    Почему не писать сразу в машкодах?

     
     
  • 3.8, жабабыдлокодер (ok), 18:31, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В машинных кодах писать долго и еще дольше отлаживать.
    А здесь мы имеем все недостатки жабы без ее достоинств.
     
     
  • 4.9, Фкуку (?), 18:56, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > В машинных кодах писать долго и еще дольше отлаживать.
    > А здесь мы имеем все недостатки жабы без ее достоинств.

    А ПРИ ЧЕМ тут вообще жаба???
    Речь о ВМ, о байткоде, о среде исполнения.

     
     
  • 5.10, Аноним (-), 19:19, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И о тысячал либ, написанных на жабе.
     
  • 5.11, жабабыдлокодер (ok), 19:25, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    При том, что мы получаем не слишком высокую скорость и повышенный расход памяти, по сравнению с скомпилированным кодом. Это встроенные особенности JVM и Java-байткода. Для Java это компенсируется ясностью кода, продуманной архитектурой и множеством библиотек. А для этого?
    И да, как всегда, когда человек выдумывает новый язык программирования, он не грабит, не убивает, не насилует и не пытается свергнуть правительство. И только.
     
     
  • 6.12, iZEN (ok), 19:46, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > При том, что мы получаем не слишком высокую скорость

    По отношению к чему? По тестам скорость выполнения Java-байткода не так уж сильно уступает нативным программам, написанным на C++. При этом скорость написания, тестирования и отладки у Java программ раза в три выше, чем у "нативно-ориентированных" языков программирования.

    > и повышенный расход памяти, по сравнению с скомпилированным кодом.

    Что сравнивали? Писать надо уметь, и память не будет расходоваться!

    > Это встроенные особенности JVM и Java-байткода.

    JIT-среда, вообще говоря, требует для своей работы чуть больше памяти, чем готовая нативная программа. Это — цена, которую платят за преносимость (возможность работы без перекомпиляции из исходников), безопасность и скорость работы программ, запускаемых в ней.

    > Для Java это компенсируется ясностью кода, продуманной архитектурой и множеством библиотек. А для этого?

    Для использования всего этого богатства из Лиспа, а не переписывания.

     
     
  • 7.14, жабабыдлокодер (ok), 20:27, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > При этом скорость написания, тестирования и отладки у Java программ раза в три выше, чем у "нативно-ориентированных" языков программирования.

    и

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

    Это все совершенно верно для чистой Java. Это именно те плюсы, которые полностью уравновешивают ее минусы.
    Но здесь же не просто JVM используется, тут происходит компиляция в Java-байткод! Фактически они просто добавляют дополнительный костыль.

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

     
     
  • 8.15, Аноним (-), 20:33, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мусье наркоман Использование JVM запуск байткода на исполнение А теперь след... текст свёрнут, показать
     
     
  • 9.16, жабабыдлокодер (ok), 20:56, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Так Попытаюсь объяснить на примере Предположим у Вас есть соковыжималка И В... текст свёрнут, показать
     
     
  • 10.19, Фкуку (?), 23:11, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    187 187 Байткод - это просто другое представление языка ... текст свёрнут, показать
     
     
  • 11.42, Аноним (-), 01:46, 24/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вь 1110 его немного недопоняли Действительно скомпилированнь 1110 й в байт-к... текст свёрнут, показать
     
  • 10.24, Аноним (-), 01:36, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мусье, давайте я за вас погуглю http en wikipedia org wiki Java_virtual_machi... текст свёрнут, показать
     
  • 7.34, Crazy Alex (ok), 16:09, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> При том, что мы получаем не слишком высокую скорость
    > По отношению к чему? По тестам скорость выполнения Java-байткода не так уж
    > сильно уступает нативным программам, написанным на C++. При этом скорость написания,
    > тестирования и отладки у Java программ раза в три выше, чем
    > у "нативно-ориентированных" языков программирования.

    На том же Go/D пишется как минимум не медленнее и не хуже по надёжности, но что касается скорости выполнения - да, разница на многих задачах довольно мала.

    >> и повышенный расход памяти, по сравнению с скомпилированным кодом.
    > Что сравнивали? Писать надо уметь, и память не будет расходоваться!

    На шутауте давно были последний раз? По памяти с нативом любые JVM-программы в разы отличаются, если не на порядки

     
  • 6.13, Аноним (-), 19:50, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > При том, что мы получаем не слишком высокую скорость и повышенный расход памяти, по
    > сравнению с скомпилированным кодом

    Вы опоздали со своим комментарием лет на 5. Повышенный расход памяти уже мало кого волнует, ибо время программиста дороже, чем ещё одна планка на 4Gb. Ну и есть такая вещь как JIT.

     
     
  • 7.21, Аноним239 (?), 00:31, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    */me ущел гуглить туториал как вставить планку на 4Gb в HTC desire*
     
     
  • 8.23, Аноним (-), 01:33, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Читаем внимательно мало кого волнует - это значит, что в общем случае эт... текст свёрнут, показать
     
     
  • 9.35, Crazy Alex (ok), 16:12, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И таких областей нынче вагон - потому что, с одной стороны, оператору облака в... текст свёрнут, показать
     
  • 7.25, YetAnotherOnanym (?), 01:39, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А если все посадочные места заняты планками максимального размера? А если серверу уже лет пять и достать "правильную" планку - проблема, потому что у продавца, с которым договор, нет, и у дистрибьютора тоже, и вообще уже не выпускают, и разве что поискать, может у кого-то есть на складе, и при этом найдётся не 4GB, а только 2?
     
     
  • 8.27, Аноним (-), 03:01, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если мы уперлись в предел вертикального масштабирования, то самое время сделать ... текст свёрнут, показать
     
     
  • 9.36, Crazy Alex (ok), 16:13, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И уйти на Erlang VM - А если серьёзно - то горизонтально далеко не всё удобно ... текст свёрнут, показать
     
  • 8.29, Аноним (-), 08:43, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ладно, давайте посчитаем Зарплата Java программиста в Астралии, Канаде и проч ... текст свёрнут, показать
     
     
  • 9.37, Crazy Alex (ok), 16:18, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да вот есть вопросы 1 а сколько у нас серверов Может дешевле орду программист... текст свёрнут, показать
     
     
  • 10.41, Анони (?), 08:47, 21/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    1 Железо всё равно дешевле человека Поэтому во многих областях и заменяют люде... текст свёрнут, показать
     
  • 6.17, umbr (ok), 23:00, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Учите матчасть.
    >Java НЕ компилируется в байткод.

    Java таки компилируется в байт-код.

    >Для Java это компенсируется ясностью кода, продуманной архитектурой и множеством библиотек. А для этого?

    Что угодно скомпилированное в байт-код имеет доступ ко всем Java-библиотекам. Clojure - не исключение.

     
     
  • 7.20, жабабыдлокодер (ok), 23:11, 19/04/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Что угодно скомпилированное в байт-код имеет доступ ко всем Java-библиотекам

    Да, но, как правило, через анус и при помощи костылей.
    >Clojure - не исключение.

     
     
  • 8.22, umbr (ok), 01:18, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Никогда, ты слышишь, НИКОГДА не говори о том, чего не знаешь с http cloju... текст свёрнут, показать
     
     
  • 9.26, Аноним (-), 01:40, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Убогий костыль Пока у языка нет своих библиотек и он использует Java-либы, любо... текст свёрнут, показать
     
     
  • 10.30, dem (??), 08:45, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    clojure - замечательный язык, и чем меньше людей это понимают, тем больше денег ... текст свёрнут, показать
     
     
  • 11.31, Аноним (-), 15:35, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Платят не за понты, а за востребованность ... текст свёрнут, показать
     
     
  • 12.38, Crazy Alex (ok), 16:20, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Платят за решение проблем На чём - клиента не волнует С точки хрения наёмного ... текст свёрнут, показать
     
     
  • 13.40, umbr (ok), 18:15, 20/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не так уж редко хорошо платят как раз за понты и UI с большим количеством свисто... текст свёрнут, показать
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру