LINUX.ORG.RU
 
ins3y3d

Clojure 1.3


1

2

Состоялся релиз Clojure 1.3, динамического языка для JVM. Clojure можно использовать в проектах любого рода, при этом важной его особенностью является сочетание удобства скриптового языка с эффективностью многопоточного программирования. Как любой динамический язык, Clojure компилируется в байт-код для JVM непосредственно на этапе выполнения. В то же время Clojure является диалектом Lisp, предоставляя вам все преимущества функционального программирования.

Изменения в новой версии:

  • Монолитная система дополнений clojure-contrib.jar заменена на полностью модульную структуру, что позволяет, во-первых, не включать в готовые приложения код неиспользуемых библиотек, а во-вторых, иметь собственный цикл разработки для каждой отдельной библиотеки. При этом для обновления с Clojure 1.2 рекомендуется сначала обновить библиотеки, а затем уже обновиться до Clojure 1.3;
  • Улучшенная поддержка примитивов для арифметических расчетов;
  • Изменения в определении записей (defrecord) и типов (deftype);
  • Улучшена система оповещения об исключениях и ошибках;
  • Несколько новых функций в clojure.core, clojure.data, clojure.pprint, clojure.repl;
  • clojure.java.shell/sh теперь поддерживает в качестве источника данных объекты типов InputStream, Reader, File, byte[];
  • Поддержка Maven для компиляции и развертывания приложений;
  • Улучшения в плане производительности скомпилированных приложений;
  • Множество устраненных ошибок.

>>> Полный список изменений

ПОСАДИ КОМПЬЮТЕР НА ЦЕПЬ И ЗАСТАВЬ ЛАЯТЬ!

домашняя автоматизация: сделай сам; лучший подарок для техногика

http://www.unicontrollers.com/products/unc01x

[#]  

Clojure

а) ужасная многопоточность (если сравнить с эрлангом)
б) отсутствие инструментов для мета-программирования (если сравнить с CL)
в) в мире нет ни одного предложения по работе на clojure (на haskell их аж 6)
г) в зависимостях очень крутая виртуальная машина, которую можно сравнить только с феррари. Си ей уступает по скорости на всех задачах.

Вышла Clojur-r-r-eee 1.3.666! Ура!

anonymous ()
[#]  
Zenom

> Поддержка Maven для компиляции и развертывания приложений

Фу, какая гадость! Запилили бы себе что-нибудь по типу SBT.

** ()
[#]  

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

anonymous ()
[#] Ответ на: комментарий от anonymous 24.09.2011 19:25:59  

У Вас неправильный мир, пересоберите. "Предложения по работе" на clojure есть.

anonymous ()
[#] Ответ на: комментарий от anonymous 25.09.2011 22:04:01  

у вас случаем не MacOS ?

> detected by position of system

anonymous ()
[#] Ответ на: комментарий от anonymous 25.09.2011 22:04:01  
Mojo

>прикольно, что жаба постоянно уделывает всех-всех-всех по скорости, но при этом, когда я запускаю какую-нить простейшую прогу на этом языке, вся система встаёт раком

Абсолютно согласен, ерунда какая-то получается..... в хит-парадах Жаба в первой строчке, но на обычном компе почему-то упорно тормозит....

()
[#] Ответ на: комментарий от Mojo 25.09.2011 22:21:15  
Mystra_x64

Так это ж энетпрайзный комп нужен.

***** ()
[#] Ответ на: комментарий от Mystra_x64 25.09.2011 22:28:38  
bhfq

С 64ТБ озу и 512 ядрами? А тесты на си наверное писали сами джависты и запускали на ноутбуке.

** ()
[#] Ответ на: комментарий от Mystra_x64 25.09.2011 22:28:38  
Mojo

>Так это ж энетпрайзный комп нужен.

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

()
[#] Ответ на: комментарий от Karapuz 25.09.2011 12:09:10  
www_linux_org_ru

хорошая, годная ссылка; пройдя чуть дальше к http://groups.google.com/group/clojure/browse_thread/thread/b18f9006c068f0a0?pli... видим:

> The main problem is that the current implementation of actors in Scala suffers from known memory leaks

таким образом, не только ява, но даже и скала как языки не спасают от утечек памяти

**** ()
[#] Ответ на: комментарий от anonymous 25.09.2011 22:04:01  
dizza

У жабы тормозной гуй. Дело совсем не в VM.

*** ()
[#] Ответ на: комментарий от dizza 25.09.2011 23:08:19  

$ cat Iriska.java


public class Iriska
{
    public static void main(String[] argc)
    {
    System.out.println("Ты не прав");
    }
}

$ cat vkontakte.php

<?php
print "Пхп хароший язык, начялника";
?>

$ time java Iriska.java
cpu 0.142 total
$ time php vkontakte.php
cpu 0.032 total

Вот php быстрее java в 4.4 раза!!!
Только не надо мне говорить, что джаве нужен время разогреться, что не нужно считать время зупуска VM и прочую чушь.

Смирись с действительностью.

anonymous ()
[#] Ответ на: комментарий от anonymous 25.09.2011 23:25:06  
encyrtid

Классный тест. Повеселил.

** ()
[#]  

Ну какой смысл поверх ненужной жирной системы костылей и подпорок городить город-сад функциональщины?

Каким образом сия метода хотя бы в теории могла бы привести к успеху?

***** ()
[#] Ответ на: комментарий от anonymous 25.09.2011 23:25:06  
Ok

> System.out.println("Ты не прав");

> $ time java

> time java

> time

Хелловордщики отаке!111

* ()
[#] Ответ на: комментарий от AVL2 25.09.2011 23:49:33  

>Ну какой смысл поверх ненужной жирной системы костылей и подпорок городить город-сад функциональщины?

>Каким образом сия метода хотя бы в теории могла бы привести к успеху?

таким же образом как горождение функциональщины поверх ненужной жирной системы костылей и подпорок x86. никак.

** ()
[#] Ответ на: комментарий от www_linux_org_ru 25.09.2011 22:56:03  
Zenom

Реализаций экторов больше одной. Сходу могу упомянуть реализации от Lift и Akka.

** ()
[#] Ответ на: комментарий от encyrtid 25.09.2011 23:37:00  

ИДЕМ ДАЛЬШЕ

Как мы уже выяснили пхп супербыстр.
Теперь перечислим остальные киллер-фичи.
1) Горячая замена кода. Чтобы обновить пхп-приложение не нужно перезапускать сервер. Т.е. эдакий нон-стоп сервер ;]
2) Отказоусточивость. Даже если что-то там упало, это еще не повод не показывать темплейт сайта посетителю с ошибкой вроде: пользователь pavel не может подключиться к БД example.com с паролем "eralash". Кому нужны данные/информация, когда есть сверстанный дизайн сайта?
3) Доступность для пролетариата. Любой сможет открыть пхп-файл и отредактировать пару строк.

Where are your gods now?

anonymous ()
[#] Ответ на: комментарий от vasaka 26.09.2011 0:01:47  

>таким же образом как горождение функциональщины поверх ненужной жирной системы костылей и подпорок x86. никак.

Так вот оно чо, Это значит внутренние эмигранты-недоперфекционисты налабали. Не нужно.

***** ()
[#] Ответ на: ИДЕМ ДАЛЬШЕ от anonymous 26.09.2011 0:10:40  

>Where are your gods now?

ты открыл нам глаза. our gods now in php

**** ()
[#] Ответ на: ИДЕМ ДАЛЬШЕ от anonymous 26.09.2011 0:10:40  
dizza

Да, быдлокодить сайты проще на пыхе. И что дальше?

*** ()
[#] Ответ на: комментарий от anonymous 25.09.2011 22:04:01  
Fice

> прикольно, что жаба постоянно уделывает всех-всех-всех по скорости, но при этом, когда я запускаю какую-нить простейшую прогу на этом языке, вся система встаёт раком.

Не все ведь так просто. Время запуска — одна характеристика, пропускная способность — другая, время отклика при интерактивной работе — третья.

В OpenJDK/Oracle JDK используется виртуальная машина Hotspot в двух вариантах: server и client. Первая оптимизарована для получения максимальной пропускной способности, что наиболее важно на серверах. Во второй попытались уменьшить время запуска и время отклика в ущерб пропускной способности. Client VM доступна только для x86, 64-битной версии нет. В JDK7 в server VM добавили "tiered compilation" — попытка объединить преимущества обоих VM, по умолчанию пока выключено.

Еще одна важная особенность: максимальная производительность достигается не сразу, а через некоторое время после запуска, когда выполнится JIT-компиляция с оптимизациями, учитывающими поведение программы во время выполнения (подобные оптимизации не доступны при статической компиляции и возможны только с JIT). Подробнее про оптимизацию в Hotspot: http://wikis.sun.com/display/HotSpotInternals/PerformanceTechniques

И это все особенности только Hotspot, а есть еще и совершенно другие реализации JVM...

В общем, для серверных приложений Hotspot вне конкуренции. С интерактивными графическими приложениями сложнее, особенно в Иксах, т.к. там еще и с реализацией 2D проблемы (исправили в JDK7?).

** ()
[#] Ответ на: комментарий от Karapuz 25.09.2011 12:09:10  
r

анекдоты без ссылок такие анегдоты...

***** ()
[#] Ответ на: комментарий от anonymous 25.09.2011 23:25:06  
Fice

Итак, вы измерили время запуска JVM и интерпретатора PHP (выводом нескольких байт данных в stdout можно пренебречь). Обычно интерпретатор PHP запускается при обработке каждого запроса, JVM — один раз. Делайте выводы.

Дальше можно еще поизучать http://shootout.alioth.debian.org/
Например, http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=java&l...

** ()
[#] Ответ на: комментарий от Mystra_x64 25.09.2011 22:28:38  
lucentcode

А вы запускаете Java в режиме server? В нём она сильно оперативу потребляет, но скорость выполнения на высоте. Рвёт дотнет как Тузик грелку. А в обычном режиме оно не быстрее дот-нетовских подделий. И по памяти, и по производительности. Конечно, это субъективное впечатление. Ведь сравнивая, я полагался только на свои ощущения, не проводя замеров.

** ()
[#] Ответ на: комментарий от lucentcode 26.09.2011 2:36:37  
Mystra_x64

>А вы запускаете Java в режиме server?

Может мне ещё 10 гигов памяти докупить? :}

***** ()
[#] Ответ на: комментарий от Mystra_x64 26.09.2011 2:52:05  
lucentcode

Ну, это жизнено необходимо для быстрой и эффективной JIT-компиляции. Или скорости не будет:( Это минус почти всех языков использующих виртуальную машину с JIT-компиляцией. Как инжинеры Google заставили WM андроида работать довольно эффективно, они одни знают. Но нативные приложение всегда намного экономичней потребляют ресурсы.

** ()
[#] Ответ на: комментарий от lucentcode 26.09.2011 3:23:15  
shty
>>-----Цитата---->>

Как инжинеры Google заставили WM андроида работать довольно эффективно

<<-----Цитата----<<

1. там V от Volks, а не W от Wagen, или нет?
2. почему именно инженеры Google?

*** ()
[#] Ответ на: комментарий от lucentcode 26.09.2011 3:23:15  
dizza

Херня. Много гигов только мностры вроде IDEA жрут. Остальное в десятки мегов влазит.

*** ()
[#] Ответ на: комментарий от r 26.09.2011 2:26:40  

> анекдоты без ссылок такие анегдоты...

Анекдоты и со ссылками остаются анекдотами: "Our choices at World Singles were: migrate to Akka, wait for Scala 2.10 (which is when I think Akka will be folded in). Neither were appealing solutions. Migrating to Clojure was less work".

***** ()
[#] Ответ на: комментарий от lucentcode 26.09.2011 3:23:15  
Mystra_x64

Ну так это понятно. Потому на десктопе и эти штуки как-то использовать неудобно.

***** ()
[#]  

>система оповещеня
>Проверено: maxcom

anonymous ()
[#] Ответ на: комментарий от Mojo 25.09.2011 22:50:31  

>Могу предположить, что на энтерпрайзном компе, все, что угодно будет "летать"

Хех, нет ;)

***** ()
[#] Ответ на: комментарий от Fice 26.09.2011 2:08:35  

>И это все особенности только Hotspot, а есть еще и совершенно другие реализации JVM...

Из Hotspot/OpenJDK/IBM_J9 на моем ноутбуке на бенчмарке SPECjvm2008, самой быстрой оказалась HotSpot, так что про остальные не так интересно говорить...

***** ()
[#]  

А что на Clojure написано из того, что обычный хомячW@/юзер бубунты использует в повседневной жизни?

** ()
[#]  
Jayrome

Любой хикки может стать богатым.

***** ()
[#] Ответ на: комментарий от lucentcode 26.09.2011 2:36:37  

>А вы запускаете Java в режиме server? В нём она сильно оперативу потребляет, но скорость выполнения на высоте. Рвёт дотнет как Тузик грелку. А в обычном режиме оно не быстрее дот-нетовских подделий. И по памяти, и по производительности.

lolwut? Дотнет всегда был быстрее джавы из-за архитектурных особенностей.

>Конечно, это субъективное впечатление. Ведь сравнивая, я полагался только на свои ощущения, не проводя замеров.

А ну все ясно. Очередной упоротый на сиплюсплюсе

anonymous ()
[#] Ответ на: комментарий от anonymous 26.09.2011 8:14:34  
RedPossum

>отнет всегда был быстрее джавы из-за архитектурных особенностей.

выдайте пруф, пожалуйста.

*** ()
[#] Ответ на: комментарий от Mojo 25.09.2011 22:21:15  

Потому как у школоты компьютеры старые, на до 2 Гб оперативки будет больше тормозить аналогов, но кто же ориентируется на русскую школоту. Вы запустите программку хотя бы на современном 2 ядерном процессоре и хотя бы на 2 Гб оперативки, минимальный стандарт на сегодняшний день и убедитесь что даже такой комбайн, как Eclipse летает.

На нормальном железе и сравнивайте с аналогами. А то если программа за $2000 на java тормозит у школоты, разработчикам до этого не дела ибо не их клиент нищеборот, который и за $500 системный блок себе купить не может.

anonymous ()
[#]  
dave

> Clojure компилируется в байт-код для JVM непосредственно на этапе выполнения.

Практики, подтвердите! Это правда или ошибка в новости?

***** ()
[#] Ответ на: комментарий от tailgunner 26.09.2011 3:38:39  
r

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

Так что без пруфа я в жизни не поверю что кложура по сравнению со скалой ужала программу в 3 раза. С жабой - легко. Со скалой...

***** ()
[#] Ответ на: комментарий от anonymous 26.09.2011 8:14:34  

>Дотнет всегда был быстрее джавы из-за архитектурных особенностей

То-то он сосет в бенчмарках со свистом

**** ()
[#] Ответ на: комментарий от Karapuz 26.09.2011 11:41:14  

Пруф давай.

anonymous ()
[#] Ответ на: комментарий от X-Pilot 26.09.2011 6:12:14  
Fice

> Из Hotspot/OpenJDK/IBM_J9 на моем ноутбуке на бенчмарке SPECjvm2008, самой быстрой оказалась HotSpot, так что про остальные не так интересно говорить...

Субъективно, GUI на IBM J9 показался более отзывчивым, чем на Hotspot. Эти бенчмарки ведь время отклика не проверяют, только скорость обработки информации.

** ()