LINUX.ORG.RU — Русская информация об ОС Linux

[#]  

Groovy++ догоняет Java по скорости

Осенью открылся проект по разработке статического компилятора с Groovy, называемый Groovy 1.8 или Groovy++ code.google.com/p/groovypptest/

Тесты, проведенные Nick Wiedenbrueck, показывают что производительность получаемого Groovy++ байткода лишь незначительно (в ~1,5раза) уступает байткоду, получаемому javac

>>> Подробности

Метки: groovy, java, jvm, scala, программирование

Karapuz **** (07.02.2010 23:52:24)
Проверено: anonymous_incognito (07.02.2010 23:56:48)
Juick

[#] Ответ на: комментарий от anonymous 08.02.2010 14:42:30  

> Реальные задачи требуют нормальную производительность.

Реальные задачи бывают очень разные. И подавляющее большинство из них от производительности никак не зависит, потому как 99% времени проводится в ожидании ввода-вывода.

> А не в полтора и не в 42 раза худшую чем даже у джавы.

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

> Количество обрабатываемой информации в современном мире растёт даже быстрее, чем скорости процессоров, время уже стало дороже всего.

Ути-пути. Умные слова выучил, а складывать их в умные фразы еще не научился.

anonymous (08.02.2010 14:46:47)
[#] Ответ на: комментарий от LamerOk 08.02.2010 13:15:22  

> Ровно затем же, зачем нужны: питон, чихпых, перл и многие другие, менее известные.

А ты и правда считаешь, что Питон и ПХП - языки одинакового назначеня? %)

tailgunner ***** (08.02.2010 14:48:49)
[#] Ответ на: комментарий от yyk 08.02.2010 14:32:47  

> >Специалисты, скажите, зачем вообще клепают языки для JVM - чтобы медленней работало?

> С тех пор, как комп стал дешевле кодера - чтоб кодер быстрее работал.

Отлично, пусть быстро работает, если новый синтаксис нравится. Только зачем итог этой работы делать тормозным JVM-поделием, если можно сделать быстрый софт для реальной машины?

>Дутая "переносимость" уже давно никому не нужна - реально на сервере в большинстве случаев будет x86_64 и выбор ОС тоже невелик, почему бы сразу для реальной жизни не компилить?

> За серверами жизни нет?

Предлагаешь это для декстопа?? Т.е. юзер скачает и установит себе JVM, после чего сообразит как запустить инсталлятор на груви, чтобы установить себе программу фотошоп-на-груви, чтобы в итоге это работало в полтора..42 раза медленнее даже джавы?

anonymous (08.02.2010 14:50:31)
[#] Ответ на: комментарий от los_nikos 08.02.2010 14:41:07  

>никакого follow-up не наблюдал

да ну? а это что:

Update: There's is a follow-up post(http://stronglytypedblog.blogspot.com/2010/02/groovy-performance-now-were-tal...) that shows how to tune the Groovy++ code to make it run as fast as Java and Scala (Thanks to ait, see comments).

thevery **** (08.02.2010 14:51:44)
[#] Ответ на: комментарий от anonymous 08.02.2010 14:50:31  

> Отлично, пусть быстро работает, если новый синтаксис нравится. Только зачем итог этой работы делать тормозным JVM-поделием, если можно сделать быстрый софт для реальной машины?

Ты дрочишь на быстрый софт? Дрочи дальше, детко. А индустрии нужен быстро разрабатываемый и дешевый в поддержке софт. Разница в несколько раз в скорости никому не интересна.

anonymous (08.02.2010 14:51:47)
[#]  

Они опять изобрели компилятор для Питона? Больше велосипедов....

Divius ** (08.02.2010 14:56:22)
[#] Ответ на: комментарий от anonymous 08.02.2010 14:50:31  

>после чего сообразит как запустить инсталлятор на груви

ну толсто же, тут для groovy не нужен отдельный инсталлятор

thevery **** (08.02.2010 14:57:11)
[#] Ответ на: комментарий от anonymous 08.02.2010 14:17:14  

> Специалисты, скажите, зачем вообще клепают языки для JVM - чтобы медленней работало? Дутая "переносимость" уже давно никому не нужна - реально на сервере в большинстве случаев будет x86_64 и выбор ОС тоже невелик, почему бы сразу для реальной жизни не компилить?

Основные Java-вендоры(IBM, Oracle) имеют и собственные ОС, и процессоры. Так что не все работают с Mac/Win/Linux.

Говоря о компиляции - есть же HotSpot & JIT: толку от AOT особо не будет для приложений, которые крутятся на сервере. На клиенте - возможно, но тут Java никто особо не использует.

Для чего нужен.. Groovy - прекрасно видно на примере Grails, Jython - используется в серверах приложений IBM/Oracle для удобства администраторов, JRuby - выручает рубистов на некоторых платформах + удобен для коробочных решений(ThoughtWorks, Github), Scala - хоть и используется в Twitter, Foursquare и др. - проект во многом исследовательский. Наряду с Clojure они предоставляют возможности для ФП на JVM.

anonymous (08.02.2010 15:00:18)
[#] Ответ на: комментарий от GreenE 08.02.2010 10:17:55  
los_nikos

> Все предрешено только для тех, кто изучил Java поверхностно

Ну а вот это:

> int m = a[((L+R)/2).intValue()] > int m = a[(L+R) >> 1]

при чём тут Java к сдвигу регистров? Эдак можно дооптимизировать до написания asm-интерпретатора на java.

los_nikos ***** (08.02.2010 15:03:36)
[#] Ответ на: комментарий от thevery 08.02.2010 14:51:44  
los_nikos

это какой-то дурной камент на камент, по которому запостили мегановость на ЛОРе

los_nikos ***** (08.02.2010 15:04:54)
[#] Ответ на: комментарий от tailgunner 08.02.2010 14:48:49  

Я считаю, что это - инструментальные средства одного и того же порядка.

LamerOk **** (08.02.2010 15:07:08)
[#] Ответ на: комментарий от Divius 08.02.2010 14:56:22  

> Они опять изобрели компилятор для Питона?

Они расширили язык. Гвидо, к сожадению, на это не пошел :/

tailgunner ***** (08.02.2010 15:10:20)
[#] Ответ на: комментарий от anonymous 08.02.2010 14:46:47  

> > Реальные задачи требуют нормальную производительность.

> Реальные задачи бывают очень разные. И подавляющее большинство из них от производительности никак не зависит, потому как 99% времени проводится в ожидании ввода-вывода.

Система ждёт когда ты слоупок эни кей нажмёшь? Или диски медленные - тогда попроси у родителей купить тебе комп побыстрее. :) А то 99% времени проводишь в ожидании ввода-вывода.

> > А не в полтора и не в 42 раза худшую чем даже у джавы.

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

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

> > Количество обрабатываемой информации в современном мире растёт даже быстрее, чем скорости процессоров, время уже стало дороже всего.

> Ути-пути. Умные слова выучил, а складывать их в умные фразы еще не научился.

Ты слова во фразы складывать не научился, а уже на лоре комментировать лезешь? Рановато, научись сначала понимать смысл того, что написано.

anonymous (08.02.2010 15:14:43)
[#] Ответ на: комментарий от anonymous 08.02.2010 14:50:31  

ай... тебе уже много сказали. Не хочешь писать - не пиши. Не хочешь понимать - не понимай. Свобода - да... ;)

yyk **** (08.02.2010 15:29:31)
[#] Ответ на: комментарий от los_nikos 08.02.2010 15:04:54  

т.е. вы-таки осилили увидеть follow-up? Ну так теперь кликните по ссылке и прочитайте его.

thevery **** (08.02.2010 15:53:39)
[#] Ответ на: комментарий от Steplton 08.02.2010 0:11:27  
k0valenk0_igor

>В полтора раза тормознее тормозной жабы? ТАНУНАФИГ!

Вот-вот-вот! Мля, я это скажу и по сабжу, и чисто в знак согласия.

k0valenk0_igor * (08.02.2010 16:51:48)
[#] Ответ на: комментарий от thevery 08.02.2010 15:53:39  
los_nikos

> т.е. вы-таки осилили увидеть follow-up? Ну так теперь кликните по ссылке и прочитайте его.

Т.е. это нормально когда в ссылке "подробности" нифига не пишут откуда взяты "(в ~1,5раза) уступает байткоду, получаемому javac"?

Мда, и всё-таки, при чём тут замена деления на сдвиг регистра? В Java и Groovy нету сдвига регистра? В чём там юмор? Спрашиваю как осилившего все ссылки с этого поста и связанные с ним другие посты, код гордящегося этим фактом ЛОРовца.

los_nikos ***** (08.02.2010 17:11:21)
[#] Ответ на: комментарий от tailgunner 08.02.2010 1:44:23  
Borg

>> Visual 2008 по сравнению с эклипсом как истребитель против улитки.
>Чо, _настолько_ толще? O_O

Нет быстрее
Чесно говоря даже Komodo быстрее эклипса. А он на Javascript написан.
Сравниваю на основе Perl плагина для Eclipse(EPIC) и Komodo IDE

Borg (08.02.2010 17:15:53)
[#] Ответ на: комментарий от Borg 08.02.2010 17:15:53  

> Сравниваю на основе Perl плагина для Eclipse(EPIC) и Komodo IDE

Ну так и говори: "ИМХО, EPIC тормознее Komodo".

А что этот Komodo умеет, кроме Perl? Python, C/C++, Java? Какие VCS поддерживает?

tailgunner ***** (08.02.2010 17:19:52)
[#] Ответ на: комментарий от lester 08.02.2010 2:41:39  
k0valenk0_igor

>см. список дополнений - в эклипсе ведь точно также все через них сделано

Есть одно "но" - в эклипсе, это просто кирпичи из которых строишь среду, а M$ IDE - платные дополнения. По-ходу, что-то вроде супермаркета, где даже расположение товаров крутит тебя на бабло!

k0valenk0_igor * (08.02.2010 17:34:38)
[#] Ответ на: комментарий от k0valenk0_igor 08.02.2010 17:34:38  

Лучше заплатить копеечку за то, что хорошо работает, чем жрать бесплатную каку.

Тем более что стоимость всех этих тулзов микроскопическая по сравнению со стоимостью даже одного разработчика.

anonymous (08.02.2010 17:38:47)
[#] Ответ на: комментарий от anonymous 08.02.2010 17:38:47  
k0valenk0_igor

>Лучше заплатить копеечку

Копейка - рубль бережет. Если всяким буржуям по копеечке дарить, - копеечек не напасешься.

k0valenk0_igor * (08.02.2010 17:47:06)
[#] Ответ на: комментарий от k0valenk0_igor 08.02.2010 17:47:06  

> Копейка - рубль бережет. Если всяким буржуям по копеечке дарить, - копеечек не напасешься.

Надо же, какой глупый нищий ребёнок! Рубль бережет не копеечка, а более высокая эффективность труда разработчиков, надёжность и качество тех. поддержки, и прочие подобные факторы.

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

anonymous (08.02.2010 18:02:50)
[#] Ответ на: комментарий от anonymous 08.02.2010 17:38:47  
>>-----Цитата---->>

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

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

Я вот сейчас на соседнем рабочем столе пишу логику + работу со строками + построение графиков. Мне вполне хватает geany, потому что я пишу на Питоне. VS + Fortran вспоминаю как страшный сон.

Vudod ** (08.02.2010 18:04:20)
[#] Ответ на: комментарий от GreenE 08.02.2010 9:50:58  
k0valenk0_igor

>Имхо, надо развивать что-то одно, а не плодить языки программирования.

Ага. А потом это единственный и неповторимый язык, хапнет единственная и неповторимая копания (Оракл, Гугл, M$ или кто там еще?), понаделает "дилерских цепочек", понапечатает сертификатов (люди гибнут за картон1) и еще всяко изгалится дабы поиметь бабал поболее.

....А споспешествование прогрессу становится при этом просто досадным недоразумением.

А так все хорошо начиналось, а?

k0valenk0_igor * (08.02.2010 18:06:06)
[#] Ответ на: комментарий от Vudod 08.02.2010 18:04:20  
k0valenk0_igor

>>чем жрать бесплатную каку

>Я вот сейчас на соседнем рабочем столе пишу логику + работу со строками + построение графиков. Мне вполне хватает geany, потому что я пишу на Питоне.

Точно!

Я тоже постоянно пишу на питоне и тоже в geany. И тоже хватает за глаза. А ребята у нас на конторе пишут на пых-пых в этом IDE и тоже хватает. Так что о "каке" поспорим!

k0valenk0_igor * (08.02.2010 18:10:50)
[#] Ответ на: комментарий от anonymous 08.02.2010 18:02:50  
k0valenk0_igor

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

Во, тюлень дрессированый! Хому рассказывать вздумал, а? Улыбнул! Да ты видать из работников мечтающих, что бы на них не экономили, не иначе.

Запомни, детка, считать надо все. И если есть возможность НЕ заплатить, то платить НЕ стоит по-любому. И для того что бы так и было и есть ИТ-аналитики на конторе.

k0valenk0_igor * (08.02.2010 18:38:44)
[#] Ответ на: комментарий от tailgunner 08.02.2010 17:19:52  
Borg

>А что этот Komodo умеет, кроме Perl? Python, C/C++, Java?
http://www.activestate.com/komodo/

Komodo IDE supports PHP, Python, Ruby, Perl and Tcl, plus JavaScript, CSS, HTML and template languages like RHTML, Template-Toolkit, HTML-Smarty and Django.

>Какие VCS поддерживает?

support for CVS, Perforce, Subversion, Git, Mercurial and Bazaar

Borg (08.02.2010 19:17:58)
[#] Ответ на: комментарий от los_nikos 08.02.2010 17:11:21  

>Т.е. это нормально когда в ссылке "подробности" нифига не пишут откуда взяты "(в ~1,5раза) уступает байткоду, получаемому javac"?

ну промазал автор слегка ссылкой, а модератор и не проверил, бывает

>Мда, и всё-таки, при чём тут замена деления на сдвиг регистра? В Java и Groovy нету сдвига регистра?


в groovy нет целочисленной математики, что даёт нехилые расходы на простое деление пополам. g++ же за счёт статической компиляции/вывода типов позволяет сделать финт ушами и сделать-таки недорогое деление. В результате чего в данном тесте отставание g++ от java/scala сокращается почти в 30 раз почти без изменения кода. Т.е. приличная часть синтаксического сахара теперь доступна почти без оверхеда по производительности почти без изменения кода.

thevery **** (08.02.2010 19:24:52)
[#]  
vertexua

Когда тут говорят о средах разработки, то почему-то не вспоминют NetBeans, которые действительно уже по всех фронтах в разы лучше Eclipse и MSVS. Я думаю что он может уступать Visual Studio на майкрософт специфических технологиях.

Относительно groovy, то лично я не побегу переписывать что не попадя на groovy, но когда я пишу второстепенную тулзу, утилиту, которая помогает работе главной программы, при этом не делает high-performance вычисления, но при этом может обладать рутинной логикой, то конечно groovy интересен и удобен. И эта утилита может быть не отдельным продуктом, а просто набором классов в существующем Java приложении.

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

vertexua *** (08.02.2010 19:59:09)
[#] Ответ на: комментарий от vertexua 08.02.2010 19:59:09  

> почему-то не вспоминют NetBeans, которые действительно уже по всех фронтах в разы лучше Eclipse и MSVS

хорошее IDЕ, его как раз и использую в Linux, из минусов разве что редкая необходимость руками править Makefile( из-за желания его авторов максимально скрыть "лишнее" в настройках )

lester **** (08.02.2010 20:06:25)
[#] Ответ на: комментарий от vertexua 08.02.2010 19:59:09  
GreenE

я бы в этот ряд еще поставил IntelliJ IDEA. Тоже удобная вещь. Тут все зависит от задач + кто к чему привык.

GreenE (08.02.2010 20:09:34)
[#] Ответ на: комментарий от lester 08.02.2010 20:06:25  
vertexua

Я никогда не правлю. Меня смущает то, что если я юзаю pkg-config, то оно не добваляет полученные каталоги для code completion и подчеркивает #include, что мол не нашло хеадер. Но соотвественно компилит.

Очевидно, что то, в чем code completion не помешал бы, как раз и требует code completion, который в NetBeans неслабый. По ходу сильнее MSVS

vertexua *** (08.02.2010 20:10:57)
[#] Ответ на: комментарий от vertexua 08.02.2010 20:10:57  

> оно не добваляет полученные каталоги для code completion

Надо удалять кэш из .netbeans/.../cnd/*

Почти что официальная бага.

> По ходу сильнее MSVS


MSVS идёт в комплекте с хэлпом по стандартным библиотекам, не говоря уже о вендовых. NetBeans CND хэлп просто не умеет, как я понял. Ни доксиген проекта, ни тем более отсутствующую доку по стандартной библиотеке.

LamerOk **** (08.02.2010 20:57:46)
[#]  
ZeMvlad

У меня java не тормозит, что мне делать?

p.s. программирую на java

ZeMvlad * (08.02.2010 21:03:55)
[#] Ответ на: комментарий от anonymous 08.02.2010 0:13:30  
GreatCornholio

Мой мозг тормознее...

GreatCornholio * (08.02.2010 21:06:23)
[#] Ответ на: комментарий от LamerOk 08.02.2010 20:57:46  
vertexua

> Почти что официальная бага.

Вы не поняли. Оно не должно работать, так как оно не обязано понимать что нужно брать вывод команды pkg-config

vertexua *** (08.02.2010 21:10:31)
[#] Ответ на: комментарий от ZeMvlad 08.02.2010 21:03:55  
>>-----Цитата---->>

У меня java не тормозит, что мне делать?

p.s. программирую на java

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

Потому и не тормозит :)

У меня Питон тоже не тормозит. Программирую на Питоне.

Vudod ** (08.02.2010 21:11:40)
[#] Ответ на: комментарий от vertexua 08.02.2010 21:10:31  

И я по прежнему не понимаю. На что ты тогда сетовал?

LamerOk **** (08.02.2010 21:16:33)
[#] Ответ на: комментарий от LamerOk 08.02.2010 21:16:33  
vertexua

Что в плагине нет специального места для pkg-config )))

vertexua *** (08.02.2010 21:25:05)
[#] Ответ на: комментарий от ZeMvlad 08.02.2010 21:03:55  

>У меня java не тормозит, что мне делать?

Томми, ты?

anonymous (08.02.2010 22:32:27)
[#] Ответ на: комментарий от los_nikos 08.02.2010 17:11:21  

>Т.е. это нормально когда в ссылке "подробности" нифига не пишут

Нет, не нормально, я из неправильной владки ссылку взял, открыл 3 штуки и в подробности неправильную засунул. виноватисправлюсьвашбродiе!

Karapuz **** (08.02.2010 23:33:50)
[#] Ответ на: комментарий от anonymous 08.02.2010 22:32:27  

>Томми, ты?

Мимо, это корпорация Azul. У них жаба не тормозит, видимо ZeMvlad из их стана

Karapuz **** (08.02.2010 23:35:11)
[#] Ответ на: комментарий от sv75 08.02.2010 9:38:57  
r

>Огласите пожалуйста остальные пункты, для несведущих и ленивых.

Примеры:

a) project coin, спецификация т.н. 'diamond' - апофигей маразма. В жабе работает вывод параметров типов например для такого: (1.1)

<T> List<T> getList() {...}
...
List<String> l = getList(); //тип парамиетра будет выведен.
но вывод не работает для конструкторов - для чего и сделана спека диамод. но почему то в спецификации 'Diamond' узрели "неоднозначность" в вызове вида: (1.2)
List<String> l = new ArrayList();
мол а вдруг я хочу rawtype? И потому они придумали мегаштуку вот такой синтаксис: (1.3)
List<String> l = new ArrayList<>();

от чего и называется diamond. А то что: * вдруг я хотел rawtype в примере 1.1? Но там почему-то не парит и никаких проблем в реальности. * rawtype при инициализации 1.2 не имеет никакого смысла - все равно переменная строго типизирована - то есть эскейпинг равтайпа дальше оператора new не идет. * учитывая type erasure для java generics этой разницы по факту _вообще нет_ потому что компилятор дропает эту инфу.

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

b) Лямбдашарп или пусть живет перл. Оказывается они там не хотят вводить новых ключевых слов - но не против ввести ключевые иероглифы. Потому для определения замыкания или "function type" они его начинают... с символа #! И послушайте как обоснование - в жавадоке локальная ссылка на метод так! А то что это просто HTML fragment reference - в голову не пришло им. Но решотка оказывается не всем подходит решетка и потому есть предложение заменить его.. на крышу ^ !!! А есть предложения еще круче - function type - решетка - лямбда - крыша! То есть лямбда вида:

#int(int) inc = ^(int x) {x + 1};

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

Но дальше - круче. c) что такое лямбда или жаба-программеры - идиоты. Они там совершенно серьезно пишут пассажи вида "лямбда среднему жаба програмеру может быть обяснена как менее многословный анонимный класс". Оказывается концепция замыканя - это мля слишком сложное понятие! Из этого растут маразмы вида:

d) invoke! а как же - программист (программист мать его так!) не поймет что такое:

i = inc(i)

Не по жабски это эказывается. По жабски надо:

i = inc.invoke(i)

!!!! А как же - очевидно выхов метода - а функция - это высший пилотаж - запредельная сложность. Один маразматик доказывал что "closure - это не функция" - пока его не ткнули в определение! И эти люди пишут спеки на жабу!!

e) если методвозвращает функцию то ее аппликация будет выглядеть как:

m()();

Ага - да опять нереально сложная концепция - слишком много скобок - 'жабапрограммисты' сойдут сума! Поэтому предложим мегасинтаксис

m()!()
Тут вылезает Блох откуда нивозьмись с гениальной идеей вида: "Си-программисты привыкли к звездочке в указателях на функции потому давайте сделаем":
m()*();
f*();
и прочие маразмы подобного вида. Нил Гафтер (хотя и является там одним из самых вменяемых) носится со своим control invocation syntax и non-local transfers для return, break, continue.

В результате доходит до вот таких уродов:


#(String)->int (throws IOException, InterruptedException) stringLength;

stringLength = #(String s) int (throws IOException,
InterruptedException) length: {
if (s == null) break length = -1;
length = s.length();
};

И ОНИ СЕРЬЕЗНО ОБСУЖДАЮТ ПОДОБНЫЕ ТЕМЫ!!!! Блох, Гафтер, Дуг Лии, и прочие! И все под соусом "программисты знакомые с С++" и "жабапрограммисты не поймут что такое функция".

r ***** (08.02.2010 23:45:36)
[#] Ответ на: комментарий от r 08.02.2010 23:45:36  
r

>length = s.length();

Паскалевский ретурн заметили?! В гребаный лабел. Просто хочется передушить всех работников сана котороые старше 40.

r ***** (08.02.2010 23:51:23)
[#] Ответ на: комментарий от r 08.02.2010 23:51:23  
r

Еще они там себя ведут так как будто изобретают что-то совершенно новое а не объезженое в десятках языков. Один из тамошних ответственных сантехников принял решение "не смотреть на другие языки - мол это плохой подход "смотреть как сделано у соседа". Анализ существующих решщений - это оказывается "плохой подход" - надо занятся велосипедостроением без знания даже базовых определений!!! Такое впечатление что вместе с падением сана - у сантехнимков острый ФГМ развился.

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


r ***** (09.02.2010 0:04:13)
[#] Ответ на: комментарий от r 09.02.2010 0:04:13  
r

Еще когда предложили не дублировать описания типа в определениях вида

#inc(int) inc = #int(int x) {x + 1};

а вывести их:

#inc(int) inc = #{x + 1};

некоторые маразматики завелись - ааа вывод типов, жабапрограмисты сойдут с ума ненене - все должно быть манифестировано и понятно, читабельностьб принтабельность прочая ФГМная хрень.

Поубивал бы.

r ***** (09.02.2010 0:06:39)
[#] Ответ на: комментарий от r 08.02.2010 23:45:36  

>Блох, Гафтер, Дуг Лии, и прочие! И все под соусом "программисты знакомые с С++" и "жабапрограммисты не поймут что такое функция".

Sun поэтому и загнулся. Ничего, Одески напишет нам скалу и ниипет. А java7 останется мертворожденной спекой

Karapuz **** (09.02.2010 0:12:10)
[#] Ответ на: комментарий от LamerOk 08.02.2010 11:47:44  
r

>С чего бы? Даже питон еще жив и шевелится.

Питон в других областях применяется. А у руби только рельсы. Стандартная либа - глючна и убога. JRuby хрень непонятного назначения - убогая либа руби на jvm. Перспективно было бы стать языком в рамках llvm - если он разовьется в мощную платформу - тут и язычек будет. Питон к стати делают же гуглоиды.

r ***** (09.02.2010 0:12:39)
[#] Ответ на: комментарий от r 08.02.2010 23:45:36  

>a) project coin

да мало ли что на заборе написано!

на http://openjdk.java.net/projects/jdk7/ ничего про _весь_ coin не сказано, а та часть, что уже внедрили, не имеет ничего общего с тем, что ты пишешь

по поводу diamond - на данный момент работает именно 1.2, а нетбинс даже ласковое предупреждение выдаёт при попытке типизировать вызов конструктора (выставил source в 1.7). На 1.3 вообще следует нецензурная ругань

>b) Лямбдашарп

см. п.1. в самом openjdk пока даже не упоминается. Всякие давинчи - в пень.

>учитывая type erasure для java generics

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

$ javap -v classes/B.class
Classfile /c:/Work/x/build/test/classes/B.class
...
abstract class B<X extends java.lang.Object, Y extends java.lang.Object> extends java.util.HashMap<java.lang.String, java.lang.Integer>
Signature: #30 // <X:Ljava/lang/Object;Y:Ljava/lang/Object;>Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;
...
java/util/HashMap<java/lang/Comparable<? extends Y>, X> map;
flags:
Signature: #7 // Ljava/util/HashMap<Ljava/lang/Comparable<+TY;>;TX;>;
...
public abstract <U extends java/lang/Comparable<? extends U>> java/util/HashMap<U, X> f6(java/util/HashMap<Y, U>);
flags: ACC_PUBLIC, ACC_ABSTRACT
Signature: #29 // <U::Ljava/lang/Comparable<+TU;>;>(Ljava/util/HashMap<TY;TU;>;)Ljava/util/HashMap<TU;TX;>;


P.S. Не читайте до обеда всякую дрянь. Пусть в коине на говно изойдут - про jsr вы забыли?

P.P.S. И даже если действительно изговняют Java, про изменения в jvm пока пока ничего не слышно. Помимо invokedynamic только лоск наводят

yyk **** (09.02.2010 11:02:59)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru