The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Релиз языка программирования Clojure 1.4"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз языка программирования Clojure 1.4"  +/
Сообщение от opennews (ok) on 19-Апр-12, 17:18 
Анонсирован (http://groups.google.com/group/clojure/browse_thread/thread/...) релиз динамического языка программирования Clojure 1.4 (http://clojure.org/), базирующегося на языковых конструкциях Lisp и сочетающего в себе возможности функционального и многопоточного программирования с чертами современных скриптовых языков. Код программ на языке Clojure транслируется в Java байт-код и выполняется на виртуальной машине JVM. Код компилятора Clojure, библиотек и runtime-компонентов распространяется в рамках лицензии Eclipse Public License.


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


URL: http://groups.google.com/group/clojure/browse_thread/thread/...
Новость: http://www.opennet.ru/opennews/art.shtml?num=33640

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз языка программирования Clojure 1.4"  –1 +/
Сообщение от жабабыдлокодер (ok) on 19-Апр-12, 17:18 
Вот не понимаю, и все тут!

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Релиз языка программирования Clojure 1.4"  +2 +/
Сообщение от Аноним (??) on 19-Апр-12, 17:22 
На лиспе писать интереснее.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Релиз языка программирования Clojure 1.4"  +4 +/
Сообщение от Crazy Alex (ok) on 19-Апр-12, 17:32 
Потому что жаба - многословная неудобочитаемая хреновина. Добровольно на ней писать далеко не каждый станет.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Релиз языка программирования Clojure 1.4"  +1 +/
Сообщение от Аноним email(??) on 19-Апр-12, 17:55 
>многословная

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

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

18. "Релиз языка программирования Clojure 1.4"  +2 +/
Сообщение от Аноним (??) on 19-Апр-12, 23:09 
Тогда велком в ассемблер.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

32. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Crazy Alex (ok) on 20-Апр-12, 16:00 
Большой массив текста "замыливает" глаз и забивает память, читать становится довольно неудобно
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от ДяДя on 19-Апр-12, 18:17 
Согласен, но моё мнение, что людей, которые не хотят писать на Lisp-подобном языке на порядок меньше. Хотя на самом функциональные штуки могут быть очень полезными.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от ДяДя on 19-Апр-12, 18:19 
> Согласен, но моё мнение, что людей, которые не хотят писать на Lisp-подобном
> языке на порядок меньше. Хотя на самом функциональные штуки могут быть
> очень полезными.

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

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

28. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от ytrrt on 20-Апр-12, 08:35 
Это же не лисп. Там даже половину скобок убрали.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

39. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от ДяДя on 20-Апр-12, 17:23 
> Это же не лисп. Там даже половину скобок убрали.

Если это и так, то их там ещё предостаточно осталось :-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))))))
            

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

33. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Crazy Alex (ok) on 20-Апр-12, 16:03 
Тоже согласен. Как по мне, идеально - когда язык даёт богатый синтаксис, как Scala, C# или D - тогда с первого взгляда уже по самой конфигурации строки видишь, что за конструкция и что, скорее всего, она делает. То есть если я вижу foreach, к примеру - я сразу знаю, где сомтреть его аргументы и что вообще будет происходить.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

4. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Фкуку on 19-Апр-12, 17:53 
>> Нафига? Зачем? Почему не писать сразу на жабе?

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

8. "Релиз языка программирования Clojure 1.4"  –1 +/
Сообщение от жабабыдлокодер (ok) on 19-Апр-12, 18:31 
В машинных кодах писать долго и еще дольше отлаживать.
А здесь мы имеем все недостатки жабы без ее достоинств.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Релиз языка программирования Clojure 1.4"  +3 +/
Сообщение от Фкуку on 19-Апр-12, 18:56 
> В машинных кодах писать долго и еще дольше отлаживать.
> А здесь мы имеем все недостатки жабы без ее достоинств.

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Релиз языка программирования Clojure 1.4"  +1 +/
Сообщение от Аноним (??) on 19-Апр-12, 19:19 
И о тысячал либ, написанных на жабе.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Релиз языка программирования Clojure 1.4"  –3 +/
Сообщение от жабабыдлокодер (ok) on 19-Апр-12, 19:25 
При том, что мы получаем не слишком высокую скорость и повышенный расход памяти, по сравнению с скомпилированным кодом. Это встроенные особенности JVM и Java-байткода. Для Java это компенсируется ясностью кода, продуманной архитектурой и множеством библиотек. А для этого?
И да, как всегда, когда человек выдумывает новый язык программирования, он не грабит, не убивает, не насилует и не пытается свергнуть правительство. И только.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Релиз языка программирования Clojure 1.4"  +1 +/
Сообщение от iZEN (ok) on 19-Апр-12, 19:46 
> При том, что мы получаем не слишком высокую скорость

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

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

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

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

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

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

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

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

14. "Релиз языка программирования Clojure 1.4"  –3 +/
Сообщение от жабабыдлокодер (ok) on 19-Апр-12, 20:27 
> При этом скорость написания, тестирования и отладки у Java программ раза в три выше, чем у "нативно-ориентированных" языков программирования.

и

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

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

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Релиз языка программирования Clojure 1.4"  +2 +/
Сообщение от Аноним (??) on 19-Апр-12, 20:33 
> Но здесь же не просто JVM используется, тут происходит компиляция в Java-байткод
> Фактически они просто добавляют дополнительный костыль.

Мусье наркоман? Использование JVM = запуск байткода на исполнение. А теперь следите за цепочкой: Java->ByteCode->JVM. Java компилится в байткод! Можно хоть C копилить в байткод и исполнять на JVM. Байткод JVM - это что то навроде ассемблера. Так что ваш пост имеет запах марихуаны.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Релиз языка программирования Clojure 1.4"  –4 +/
Сообщение от жабабыдлокодер (ok) on 19-Апр-12, 20:56 
Так... Попытаюсь объяснить на примере:
Предположим у Вас есть соковыжималка. И Вы делаете сок из яблок, апельсинов и прочего винограда. А теперь Вам захотелось березового сока... Стоит ли засовывать в соковыжималку полено?
Java НЕ компилируется в байткод. Байткод - это просто другое представление языка. Обратное декодирование восстанавливает исходный текст - попробуйте восстановите исходный код на С из программы. Выходит, что они просто переделывают свой лисп в яву а потом выполняют.
Да, и внезапно JVM расшифровывается как Java Virtual Machine.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

19. "Релиз языка программирования Clojure 1.4"  +2 +/
Сообщение от Фкуку on 19-Апр-12, 23:11 
»» Байткод - это просто другое представление языка????????????? :) :) :) :) :) :) :) :)

Байткод — ЭТО ПРОСТО ДРУГОЕ ПРЕДСТАВЛЕНИЕ машкода :)

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

42. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Аноним (??) on 24-Апр-12, 01:46 
Вьі его немного недопоняли. Действительно скомпилированньій в байт-код Java код можно переконвертировать назад в Java код (сделать реверс инженирегн), даже читаемьій (имена локальньіх переменньіх будут утраченьі и де вьіглядеть наподобие a1, a2  и т.п.). Ето все не противоречит вами сказанного. Видемо имеллось ввитду если сделать "реверс инжениренг" откомпилированного кода clojure в код на Java, то алгоритм будет запутан очень.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

24. "Релиз языка программирования Clojure 1.4"  +1 +/
Сообщение от Аноним (??) on 20-Апр-12, 01:36 
Мусье, давайте я за вас погуглю:

http://en.wikipedia.org/wiki/Java_virtual_machine

http://en.wikipedia.org/wiki/Java_bytecode

http://en.wikipedia.org/wiki/Java_compiler

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/ja...

Java - язык не интерпретируемый, она - язык компилируемый.

ЗЫ И да, завязывайте с тяжёлыми наркотиками, а то плохо кончите.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

34. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Crazy Alex (ok) on 20-Апр-12, 16:09 
>> При том, что мы получаем не слишком высокую скорость
> По отношению к чему? По тестам скорость выполнения Java-байткода не так уж
> сильно уступает нативным программам, написанным на C++. При этом скорость написания,
> тестирования и отладки у Java программ раза в три выше, чем
> у "нативно-ориентированных" языков программирования.

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

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

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

13. "Релиз языка программирования Clojure 1.4"  +1 +/
Сообщение от Аноним (??) on 19-Апр-12, 19:50 
> При том, что мы получаем не слишком высокую скорость и повышенный расход памяти, по
> сравнению с скомпилированным кодом

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

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

21. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Аноним239 on 20-Апр-12, 00:31 
*/me ущел гуглить туториал как вставить планку на 4Gb в HTC desire*
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

23. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Аноним (??) on 20-Апр-12, 01:33 
Читаем внимательно "...мало кого волнует..." - это значит, что в общем случае это так. Но таки есть области где да волнует, например встраиваемые системы.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

35. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Crazy Alex (ok) on 20-Апр-12, 16:12 
И таких областей нынче вагон - потому что, с одной стороны, оператору "облака" вполне важно, сколько он сможет забить на одну физическую железку, с другой - таки куча мобильных устройств, где тоже памяти не вагон, да и батарейка ещё лимитирует. Впрочем, на десктопе у джавы всё совсем плохо - память она по требованию не отдаёт и запускается довольно долго, т.е. если шутрая утилита "на один раз" - тормозит при запуске, а если что-то долгоиграющее - жрёт память и не отдаёт даже если она уже не нужна.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

25. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от YetAnotherOnanym on 20-Апр-12, 01:39 
А если все посадочные места заняты планками максимального размера? А если серверу уже лет пять и достать "правильную" планку - проблема, потому что у продавца, с которым договор, нет, и у дистрибьютора тоже, и вообще уже не выпускают, и разве что поискать, может у кого-то есть на складе, и при этом найдётся не 4GB, а только 2?
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

27. "Релиз языка программирования Clojure 1.4"  +1 +/
Сообщение от Аноним (??) on 20-Апр-12, 03:01 
Если мы уперлись в предел вертикального масштабирования, то самое время сделать упор на мощь и выразительность языка и выполнить горизонтальное масштабирование :)
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

36. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Crazy Alex (ok) on 20-Апр-12, 16:13 
И уйти на Erlang VM ;-) А если серьёзно - то горизонтально далеко не всё удобно масштабировать.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

29. "Релиз языка программирования Clojure 1.4"  +4 +/
Сообщение от Аноним (??) on 20-Апр-12, 08:43 
Ладно, давайте посчитаем. Зарплата Java программиста в Астралии, Канаде и проч. странах развитого капитализма примерно 70-120К долларов в год. Для оптимизации нам нужно нанять ещё одного праграммиста на полную ставку. Сколько стоит хороший сервер? Явно меньше.

ЗЫ Примеры России и Украины, где жабабыдлокодеры, не знающие, что такое байткод, работают за еду не приводить, ибо я не в России живу и мне строго пох на быдлопроблемы.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

37. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Crazy Alex (ok) on 20-Апр-12, 16:18 
Да вот есть вопросы:
1) а сколько у нас серверов? Может дешевле орду программистов а оптимизацию посадить, и сэкономить на покупке железа, электричестве и прочих прелестях?
2) А что даёт именно жаба? Может какой-нибудь D/Go подошел бы лучше? Тогда и программисты лишние не понадобятся - писать на них проще, чем на жабе, и эффективность работы радует. Ограничением только наличие библиотек может быть, на самом деле.
3) Что мешает нанять программиста из России/Украины? Полно контор та делает, аутсорсинг называется. Результаты обычно вполне хороши.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

41. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Анони on 21-Апр-12, 08:47 
1. Железо всё равно дешевле человека. Поэтому во многих областях и заменяют людей высокой квалификации автоматикой (те же автопилоты например).
2. Такие платформы как .NET и Java дают неплохую скорость разработки при приемлемом качестве кода и накладных расходах. Да они медленнее нативного кода, но в общем случае это не критично, это же всё таки не Питон.
3. А нафига фирме в Канаде нанимать Васю Пупкина через океан? Где он там сидит и что делает хрен его не знает. Кому эти риски нужны?
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

17. "Релиз языка программирования Clojure 1.4"  +3 +/
Сообщение от umbr (ok) on 19-Апр-12, 23:00 
Учите матчасть.
>Java НЕ компилируется в байткод.

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

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

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

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

20. "Релиз языка программирования Clojure 1.4"  –1 +/
Сообщение от жабабыдлокодер (ok) on 19-Апр-12, 23:11 
>Что угодно скомпилированное в байт-код имеет доступ ко всем Java-библиотекам

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

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Релиз языка программирования Clojure 1.4"  +1 +/
Сообщение от umbr (ok) on 20-Апр-12, 01:18 
"Никогда, ты слышишь, НИКОГДА не говори о том, чего не знаешь." (с)

http://clojure.org/java_interop

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

26. "Релиз языка программирования Clojure 1.4"  –4 +/
Сообщение от Аноним (??) on 20-Апр-12, 01:40 
Убогий костыль. Пока у языка нет своих библиотек и он использует Java-либы, любой код на нем будет выглядеть как Java с приподвывихнутым синтаксисом. Поэтому например код на окамле выглядит как окамл, а на F# -   как сишарп. А так как свои библиотеки писать никто не будет(нафига? Взять готовые проще, хоть и не очень удобно), то любые попытки писать новые языки под JVM/. NET обречены на провал. Более-менее успешны могут быть лишь порты уже устоявшихся языков с сильным комьюнити, как, например, JRuby. Смирись с этим.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

30. "Релиз языка программирования Clojure 1.4"  +3 +/
Сообщение от dem (??) on 20-Апр-12, 08:45 
> Убогий костыль. Пока у языка нет своих библиотек и он использует Java-либы,
> любой код на нем будет выглядеть как Java с приподвывихнутым синтаксисом.
> Поэтому например код на окамле выглядит как окамл, а на F#
> -   как сишарп. А так как свои библиотеки писать
> никто не будет(нафига? Взять готовые проще, хоть и не очень удобно),
> то любые попытки писать новые языки под JVM/. NET обречены на
> провал. Более-менее успешны могут быть лишь порты уже устоявшихся языков с
> сильным комьюнити, как, например, JRuby. Смирись с этим.

clojure - замечательный язык, и чем меньше людей это понимают, тем больше денег мы заработаем ;)

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

31. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от Аноним (??) on 20-Апр-12, 15:35 
Платят не за понты, а за востребованность.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

38. "Релиз языка программирования Clojure 1.4"  +2 +/
Сообщение от Crazy Alex (ok) on 20-Апр-12, 16:20 
Платят за решение проблем. На чём - клиента не волнует. С точки хрения наёмного программиста это, конечно, не так.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

40. "Релиз языка программирования Clojure 1.4"  +/
Сообщение от umbr (ok) on 20-Апр-12, 18:15 
Не так уж редко хорошо платят как раз за понты и UI с большим количеством свистоперделок.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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