Компания Oracle объявила (http://www.oracle.com/us/corporate/press/2545455) о проведении праздничных мероприятий (https://community.oracle.com/community/java/javas-20th-anniv...), посвящённых двадцатилетию c момента публикации первой версии языка Java. В настоящее время в разработку приложений на языке Java вовлечено более 9 млн программистов. В той или иной форме Java присутствует на более чем 7 миллиардах устройств. Java применяется в различных областях индустрии, от авиационной промышленности и научных исследований до игр и корпоративных систем. Разработчикам корпоративных систем предлагается 30 совместимых реализаций Java EE 6 и Java EE 7, развиваемых 12 различными поставщиками.
Из последних достижений, произошедших после перехода Java в руки компании Oracle, отмечается выпуск Java 7 (http://www.opennet.me/opennews/art.shtml?num=31332) и Java 8 (http://www.opennet.me/opennews/art.shtml?num=39334), внедрение более открытого процесса принятия решений по развитию платформы, учитывающего мнение представителей индустрии и сообщества, развитие (http://www.opennet.me/opennews/art.shtml?num=30840) открытого проекта OpenJDK как эталонной Java-платформы. В настоящее время усилия сосредоточены на подготовке выпуска Java 9 (http://www.opennet.me/opennews/art.shtml?num=42218), который примечателен переходом на модульную архитектуру платформы, новым клиентским HTTP API с поддержкой HTTP/2 и Web Sockets, обновлением существующего API, значительной оптимизацией производительности и появлением Java Shell, интерактивной консоли для выполнения отрывков кода.
URL: https://blogs.oracle.com/java/entry/celebrating_20_years_of_...
Новость: http://www.opennet.me/opennews/art.shtml?num=42268
qt и java одногодки, надо же а я и не знал:)
Самое пугающее, что они одногодки с Вин95.
Ещё более пугающее, что они одни одногодки с кучей комментаторов.
Судя по плюсам, вы непроизвольно инициировали перепись ;)
Написал человек 96 года рождения
"совпадение? не думаю" (c)
лучший язык программирования, который смогло придумать человечество. Мощь и красота в одном флаконе.
> лучший язык программирования, который смогло придумать человечество. Мощь и красота в одном флаконе.лучший язык программирования, который смогло придумать человечество. Мощь и красота в одном стакане.
Имхо, именно увлечение чудо-программистами указателями и манипуляциями с ними - главная беда современного прикладного программирования.
Вот такие, как автор комментария, любят менять значение указателя, чтобы он указывал на новый участок памяти, не освободив при этом ранее выделенную память :) А потом удивляются - чой-то программа через час работы 3 гига оперативы выжрала и благополучно закрашилась?
> А потом удивляются - чой-то программа через час работы 3 гига оперативы выжрала и благополучно закрашилась?Согласен, в яве всё гораздо лучше устроено. Программа через час работы выжирает 3 гига оперативы, и это считается нормальным.
> ... Программа через час работы выжирает 3 гига оперативы, и это считается нормальным.Ещё и добавки просит.
Вы на java то хоть пишете, или так, словоблуд?
> Вы на java то хоть пишете, или так, словоблуд?Сложный вопрос.
Если я отвечу, что да, пишу, вы скажете, что у меня руки из жопы.
Если отвечу, что не пишу, то скажете, что моё утверждение не имеет оснований.
Если отвечу, что пользуюсь, то скажете, что настраивать не умею.И в любом случае виноватыми окажутся миллионы пользователей, а не десятки разработчиков.
>Сложный вопрос.
>Если я отвечу, что да, пишу, вы скажете, что у меня руки из жопы.
>Если отвечу, что не пишу, то скажете, что моё утверждение не имеет оснований.
>Если отвечу, что пользуюсь, то скажете, что настраивать не умею.
>И в любом случае виноватыми окажутся миллионы пользователей, а не десятки разработчиков.Вопрос был очень простой и надо было просто ответить как есть, но теперь можете не отвечать.
>> А потом удивляются - чой-то программа через час работы 3 гига оперативы выжрала и благополучно закрашилась?
> Согласен, в яве всё гораздо лучше устроено. Программа через час работы выжирает
> 3 гига оперативы, и это считается нормальным.IDEA с открытым кровавым энтерпрайзом отжирает не больше 2х гб, работает с отличной скоростью и не падает в отличии от парфозных IDE на С которые не умеют даже четверти того что умеет IDEA но падают от малейшего чиха без объяснения причины.
> IDEA с открытым кровавым энтерпрайзом отжирает не больше 2х гб, работает с отличной скоростью и не падаетНельзя ли еще пару примеров крутых полезных программ? А то как-то ни одной программой на жабе кроме пары-тройки ide (где собственно обычно и выбора то почти нет, и которые в общем и правда работают) не пользуюсь. И не со зла, а просто где они? Почему о них ничего не известно. На жабоскрипте уже больше реально полезных прог чем на жабе.
> Нельзя ли еще пару примеров крутых полезных программ? А то как-то ни
> одной программой на жабе кроме пары-тройки ide (где собственно обычно и
> выбора то почти нет, и которые в общем и правда работают)
> не пользуюсь. И не со зла, а просто где они?
> Почему о них ничего не известно. На жабоскрипте уже больше реально
> полезных прог чем на жабе.RSSOwl, Vuze, JEdit, JFTP, muCommander, JDraw, PDFRenderer, javadjvu, Sweet Home 3D.
>> Нельзя ли еще пару примеров крутых полезных программ?
> RSSOwl, Vuze, JEdit, JFTP, muCommander, JDraw, PDFRenderer, javadjvu, Sweet Home 3D.Ну и чего? Для каждого из этих дел просто десятки прог не на жабе, заколеблешься выбирать. Ими почему то реально и пользуются. Да и сейчас даже pdf на вовсе жабоскрипт переписали и что, это как то говорит о полезности этого дела.
>>> Нельзя ли еще пару примеров крутых полезных программ?
>> RSSOwl, Vuze, JEdit, JFTP, muCommander, JDraw, PDFRenderer, javadjvu, Sweet Home 3D.
> Ну и чего?Это примеры крутых полезных программ на Java.
> Для каждого из этих дел просто десятки прог не на жабе
А что есть лучше за RSSOwl или хотя бы сравнимое с ним по качеству и функциональности?
>> Нельзя ли еще пару примеров крутых полезных программ? А то как-то ни
>> одной программой на жабе кроме пары-тройки ide (где собственно обычно и
>> выбора то почти нет, и которые в общем и правда работают)
>> не пользуюсь. И не со зла, а просто где они?
>> Почему о них ничего не известно. На жабоскрипте уже больше реально
>> полезных прог чем на жабе.
> RSSOwl, Vuze, JEdit, JFTP, muCommander, JDraw, PDFRenderer, javadjvu, Sweet Home 3D.+ yED еще
>>> А потом удивляются - чой-то программа через час работы 3 гига оперативы выжрала и благополучно закрашилась?
>> Согласен, в яве всё гораздо лучше устроено. Программа через час работы выжирает
>> 3 гига оперативы, и это считается нормальным.
> IDEA с открытым кровавым энтерпрайзом отжирает не больше 2х гб, работает с
> отличной скоростью и не падает в отличии от парфозных IDE на
> С которые не умеют даже четверти того что умеет IDEA но
> падают от малейшего чиха без объяснения причины.брос настолько жирный, что с трудом уместится в остаток ресурсов, пока её не отожраных явой
>> лучший язык программирования, который смогло придумать человечество. Мощь и красота в одном флаконе.
>лучший язык программирования, который смогло придумать человечество. Мощь и красота в одном стакане.лучший язык программирования, который смогло придумать человечество. Мощь и красота в одном python'e.
"Мощь и красота" это С и Фортран. А это, простите, овно какое-то. Как мне на этом "мощном" языке сделать такую простейшую операцию, как инкрементирование указателя?
Указателя? Ой, ха-ха-ха, насмешил! Указателя, говорит! Инкремент, говорит! Вот умора!
А, если ты не троллишь, то в жаве не нужно делать инкремент указателя.
С указателем компилятор увязывает размер значений его разименованного типа, чтобы легко было работать с массивами, которые суть строки.
А про качество явы говорит качество её любителей - какие-то они все нервные, точку зрения аргументируют плохо, часто переходят на личности и даже матерятся как-то костноязычно.
Мысли тоже на яве, видать, и потому тормозят сильно.
> ... и даже матерятся как-то костноязычно.Kостноязычными, оказываются, бывают не только Свидетели Жабы. Кто бы мог подумать!
>чтобы легко было работать с массивами, которые суть строки.Интересно, а Ритчи в курсе?
В том что Страуструп (с std::string-ом) против, надеюсь, сомнений нет?
У тебя какой-то набор стереотипов. Ява давно уже не тормозит, она чуть медленней C++. Алсо что значит качество Явы? Как ты его определеяешь? Типа Ява простой язык или что? Ещё раз убеждаюсь, что люди, кукарекающие про Яву, ничего кроме синтаксиса не знают, да и то не всегда. Объективно, Ява лучшая платформа для разработки серверных приложений на текущий момент.
Java прикладной язык. C/C++ системные. Было бы о чем спорить.
> Java прикладной язык. C/C++ системные. Было бы о чем спорить.Ну д. qt, gtk и т.п. для системного программирования же, как я забыл то.
Быть чуть медленнее C++ - не такое уж большое достижение, учитывая его переусложнённый синтаксис и многочисленные ошибки в стандарте, мешающие грамотной оптимизации кода.Да, и кстати, Ява не тормозит, я знаю. Был, помнится, какой-то RobotechCon. Так вот, там был робот с прошивкой на яве, который на всей скорости врезался в кирпичную стену. С тех пор хорошо известно, что Ява не тормозит.
Я сомневаюсь что вы сможете использовать ООП, которое сейчас необходимо в прикладом программировании, на Си. А C++ это пистолет, привязанный к ноге пациента. В большей степени из-за указателей и ручного высвобождения памяти.
> Я сомневаюсь что вы сможете использовать ООП, которое сейчас необходимо в прикладом
> программировании, на Си. А C++ это пистолет, привязанный к ноге пациента.
> В большей степени из-за указателей и ручного высвобождения памяти.man boost, неосилятор.
Трах на хадулях с рюшечками...
Ну да, особенно если у вас много объектов с неодинаковым жизненным циклом, то свободные участки памяти становятся похожи на клочки.
И вот этот вот человек говорит мне про гарбаджколлектор...
> Ну да, особенно если у вас много объектов с неодинаковым жизненным циклом,
> то свободные участки памяти становятся похожи на клочки.Для вас проблема написать свой аллокатор, если у вас такой большой продакшен? Я вот даже не знаю. Вы намеренно пытаетесь юзать молоток для открытия пивных банок, а открывалкой выдергивать гвозди?
Ммм, я вижу вы любитель создания костылей. Только вот я не увидел от вас ни одного конструктивного ответа, чем же си++ лучше явы. Я бы выбрал Си без плюсов. Ибо оба монстррузны.
Ну так жаба монструозней их обоих вместе взятых своей JVM. С/С++ -то хоть напрямую машинный код генерят.
> Ну так жаба монструозней их обоих вместе взятых своей JVM. С/С++ -то
> хоть напрямую машинный код генерят.JIT компилятор явы бывает побыстрее вашего "напрямую машинного кода".
Проблема только в том, что тот только тот машинный код делает то, что нужно, а JIT-компилятор - JIT-компиляцию.
>> Ну так жаба монструозней их обоих вместе взятых своей JVM. С/С++ -то
>> хоть напрямую машинный код генерят.
> JIT компилятор явы бывает побыстрее вашего "напрямую машинного кода".Такой вывод сделали разработчики Java после сравнения годами отлаживаемой программы на Java с аналогом, который эти же люди на скорую руку наваяли на C++?
>> Ну так жаба монструозней их обоих вместе взятых своей JVM. С/С++ -то
>> хоть напрямую машинный код генерят.
> JIT компилятор явы бывает побыстрее вашего "напрямую машинного кода".Вообще, выигрыш в скорости от jit-компиляции - это распротранённый миф.
Тут надо понимать, что при использовании jit Вы просто переносите процесс компиляции в рантайм, не более того. Поэтому когда говорят про выигрыш, надо прежде всего спросить: относительно чего, собственно, выигрыш? Коли относительно предыдущих версия Java, которая, к слову, раньше была вообще интерпретатором - охотно верю. Но надо понимать, что если jit использовать как оптимизацию интерпретируемого языка, Вы всё равно не можете достигнуть той же производительности, которую обеспечит Вам нативный код. Разве что Ваше приложение будет работать очень, очень, очень долго. Или же оно будет очень, очень, очень долго запускаться.
Тут речь идёт не о производительности, а скорее о переносимости.На самом деле у jit слегка другая задумка. Он необходим для того, чтобы генерировать новые функции на лету, а вовсе не для оптимизаций. Удобно, когда функция возвращает новую функцию в зависимости от параметров, переданных ей.
> На самом деле у jit легка другая задумка.Нет там никакой задумки. Самообман и попытка хоть как-то заткнуть очевидный архитектурный промах, не признаваясь в нем. И все это вместо тго чтобы допилить обычный компилятор, вроде gcj. Ну может гугловский аот им мозги прочистит.
>> На самом деле у jit легка другая задумка.
> Нет там никакой задумки. Самообман и попытка хоть как-то заткнуть очевидный архитектурный
> промах, не признаваясь в нем. И все это вместо тго чтобы
> допилить обычный компилятор, вроде gcj.В Java байткод может генерироваться в процессе выполнения программы,
обычный компилятор вроде gcj тут ничем не поможет.Не говоря уже про архитектуру языка - там все построено на classloader`ах,
которые опять же, загружают классы с байткодом, причем могут загружать их
откуда угодно - хоть из файла, хоть из базы данных, хоть по сети.P.S. я разочарован уровнем анонимных аналитеков опеннета.
> JIT компилятор явы бывает побыстрее вашего "напрямую машинного кода".Слышу эту фигню уже лет 10. На практике есть скажем osmand где рендерер карты в настройках переключается с ц++ варианта на жабовариант. Очень поучительно.
> Для вас проблема написать свой аллокатор...Он такого слова пока ещё не знает, а то бы напейсал.
> ...если у вас такой большой продакшен?
Кстати слово "продакшен" он тоже не знает, иначе сам бы рассказал нам про "остановись мгновенье ты прекрасно", на пару минут, причём каждый час. И про тюнинг GC он бы нам тоже напейсал, как его надо правильно делать.
> "остановись мгновенье ты прекрасно", на пару минут, причём каждый час.Да, есть такое. Но где-то в районе перехода с 5-й жабы на 6-ю по большей части ушло в небытие.
Да. Теперь мгновенье - на пол часа, каждые пол часа :)
> Я сомневаюсь что вы сможете использовать ООП, которое сейчас необходимо в прикладом программировании, на Си.Можно подумать, что глибц и интроспекшн это что-то другое.
>> Я сомневаюсь что вы сможете использовать ООП, которое сейчас необходимо в прикладом программировании, на Си.
> Можно подумать, что глибц и интроспекшн это что-то другое.Ну да, как будто они могут заменить классы и все вытекающие отсюда фичи. Всё равно на си это будет не столь элегантно.
> Ну да, как будто они могут заменить классы и все вытекающие отсюда фичиА зачем?
Вам ни разу не используемые фичи? Или таки ехать?
> Ну да, как будто они могут заменить классы и все вытекающие отсюда
> фичи. Всё равно на си это будет не столь элегантно.Слышь, Слаик, чота я ачкую! Ты щас нам тута список классных фичей вывалишь, а мы не сумеем понять их ценности из-за своего скудоумия.
Хм, они очень просты: класс, наследование, инкапсуляция, полиморфизм, рефлексия. Самые обычные "фичи" ООП. А вы, я вижу, толстый тролль). Либо совершенно не знаете плюсов и минусов того или иного языка, а соответсвенно и языков вообще.
> C++ это пистолет, привязанный к ноге пациентаНормальные пистолеты как раз и носят привязанными к ноге. Более того, у нормальных пистолетов на рукояти есть маленькая петелька, к которой крепится ремешок или тросик, другим концом привязанный к кобуре.
Вот как раз C++ пистолет даже без предохранителя). В чём я убеждался много раз. Поэтому пришлось переориентироваться на яву. Может вы подскажете такой язык, который будет тонкий как си, но удобный (особенно в плане сборки мусора, но с возможностью ручного управления памятью) как ява? Я таких языков не встречал.
Специально для Вас - Rust.
А Ява это дикий анахронизм с легаси.
> Специально для Вас - Rust.
> А Ява это дикий анахронизм с легаси.Спасибо, посмотрю.
лучший язык это скайп
Skype - это IDE, а языки он поддерживает разные: английский, немецкий, русский (литературный и руководящий), ... :)
Но скайп это же файлообменник.
> лучший язык это скайпкитайский же - мощно, выразительно, многопарадигменно, красиво и непонятно
Ява нормальный язык и платформа, не без косяков конечно же.
По сути из крупных косяков это
Maven/Ant и ужасная работа с зависимостями библиотек.
Ну и то что-что бы официально не ломать совместимость с прежними релизами, делают новые фичи не удобными, - та же лямбда в java8 тому пример!
> та же лямбда в java8Какие претензии к лямбдам?
>> та же лямбда в java8
> Какие претензии к лямбдам?Скобочек недовложили! <./>
Не понимаю, о чем ты.
> Скобочек недовложили! <./>Митрофанычъ, ты случайно скобочки не от генериков нарисовал?
сделаны на базе интерфейса с одним методом
> сделаны на базе интерфейса с одним методомУ тебя какие-то проблемы с этим?
Возможно подразумеваются дефолтные реализации методов в интерфейсах для сохранения миграционной совместимости.
У груви кложуры удобнее.
Я, кстати, весьма хорошо отношусь к джаве. 20 лет языку, а он до сих пор считается мейнстримовым. Удивительно, что в архитектуре его нету ужаснейших косяков, а самый серйозный изъян - type erasure в женериках.
Но, тем не менее, синтаксис, по современным меркам, явно дает знать о своем возврасте. Бывает смотришь на груви\c#6\dart\swift и плачешь.
>>а самый серйозный изъян - type erasure в женериках.так по идее то что в JAVA, не отдает операции с дженериками в Рантайм, а подставляет типы на этапе компиляции, должно положительно влиять на производительность или я чего-то не допонимаю?
>>>а самый серйозный изъян - type erasure в женериках.
> так по идее то что в JAVA, не отдает операции с дженериками
> в Рантайм, а подставляет типы на этапе компиляции, должно положительно
> влиять на производительность или я чего-то не допонимаю?Это сильно портит сам код в определённых ситуациях. Например, попробуйте создать очередь очередей на базе стандартного интерфейса Queue. Тип элементов вложенного Queue у вас потеряется. Есть и другие, ещё менее приятные последствия.
> так по идее то что в JAVA, не отдает операции с дженериками
> в Рантайм, а подставляет типы на этапе компиляции, должно положительно
> влиять на производительность или я чего-то не допонимаю?На момент компиляции проверяются операции с этими дженериками и совместимость типов. Если типы совместимы, то компиляция проходит успешно.
А в рантайм все уходит БЕЗ указания типа (точнее для типа Object). Что сильно мешает в некоторых ситуациях. C# дженерики работают намного лучше.
Мда, не знал, если при компиляции идет "деградация" до Object, а в рантайм приведение типов, то да, странное решение. Проще бы и эффективнее если был бы авто оверлоадинг на основе типов дженериков.
> У груви кложуры удобнее.
> Я, кстати, весьма хорошо отношусь к джаве. 20 лет языку, а он
> до сих пор считается мейнстримовым. Удивительно, что в архитектуре его нету
> ужаснейших косяков, а самый серйозный изъян - type erasure в женериках.
> Но, тем не менее, синтаксис, по современным меркам, явно дает знать о
> своем возврасте. Бывает смотришь на груви\c#6\dart\swift и плачешь.1980: C
printf("%10.2f", x);
1988: C++
cout << setw(10) << setprecision(2) << showpoint << x;
1996: Java
java.text.NumberFormat formatter = java.text.NumberFormat.getNumberInstance();
formatter.setMinimumFractionDigits(2);
formatter.setMaximumFractionDigits(2);
String s = formatter.format(x);
for (int i = s.length(); i < 10; i++) System.out.print(' ');
System.out.print(s);2004: Java
System.out.printf("%10.2f", x);
2008: Scala and Groovy
printf("%10.2f", x)
2012: Scala 2.10
println(f"$x%10.2f")
За print и неиспользование логгера надо руки отбивать!
> За print и неиспользование логгера надо руки отбивать!О да! ты как раз попал в самую боль всего Джава мира - безумный зоопарк из различных логгеров.
>> За print и неиспользование логгера надо руки отбивать!
> О да! ты как раз попал в самую боль всего Джава мира
> - безумный зоопарк из различных логгеров.http://habrahabr.ru/post/113145/
Java Logging: история кошмара
>>> За print и неиспользование логгера надо руки отбивать!
>> О да! ты как раз попал в самую боль всего Джава мира
>> - безумный зоопарк из различных логгеров.
> http://habrahabr.ru/post/113145/
> Java Logging: история кошмараЭто товарищу выше надо дать почитать, любителю "абстрактных" джава-логгеров.
С хз каких времен все юзают slf4j + необходимый бэкэнд на выбор и не парятся. В 9 обещют вообще единую систему. Вы лучше посмотрите как в С++(трахе на хадулях) обстоят дела с логингом...
> С хз каких времен все юзают slf4j + необходимый бэкэнд на выбор и не парятся.
> В 9 обещют вообще единую систему.и будет это https://xkcd.com/927/
уже ведь есть единая система - slf4j.
ну да, конечно, а не log4j ver2 или Logback которые более производительные, точнее менее затратные по ресурсам?!
> ну да, конечно, а не log4j ver2 или Logback которые более производительные,
> точнее менее затратные по ресурсам?!logback и log4j - это бекенды к SLF4J, подробнее здесь: http://www.slf4j.org/legacy.html
туда же прикручивается и https://logging.apache.org/log4j/2.0/log4j-slf4j-impl/index....
> 2012: Scala 2.10
> println(f"$x%10.2f")О! Молодца.
Gradle? Нет, не слышали!
А в чём проблема с лямбдами? По моему синтаксис лямбд у плюсов более жуткий.
C++
[](int) { /* do something here*/ }
Java
p -> p.printPerson()
(a, b) -> a + b
(p) -> { return p.getGender() == Person.Sex.MALE; }
У плюсов-то да, но на плюсах же свет не сошёлся, в том же яваскрипте анонимные функции же в 5 раз приятнее выглядят.
только те что в последнем стандарте: => вместо function
> только те что в последнем стандарте: => вместо functionи как это здорово что теперь функция вместо какого то непонятного function называется просто и понятно =>. ну или def или еще как попонятнее.
Ещё отсутствие пропертей и перегрузки операторов, хотя бы КАКИХ-ТО, например []...
> Ещё отсутствие пропертейЕщё не хватало устроить голосование, что войдёт в Java 10. :)))
Проперти... они из Delphi, вообще-то. Их придумал Андерс Хейлсберг в Borland, потом перешёл в Microsoft, написал библиотеку классов к самой быстрой проприетарной MS JVM, но как-то несовместимо оказалось с вышедшей позднее Sun Swing, за что и поплатился... Ж)) Принялся писать dotNet с пропертями...
> и перегрузки операторов, хотя бы КАКИХ-ТО, например []...
От перегрузки операторов авторы Java сознательно отказались в пользу простоты языка и понятности. Учите историю!
> От перегрузки операторов авторы Java сознательно отказались в пользу простоты языка и понятности. Учите историю!Как связано недовольство отсутствием определённых фич языка программирования и [не]знание его истории?
Ну и да, конструкции наподобие
a.add(b.mul(c.div(d.neg())).div(e.sub(f.mul(g).add(h)))
нихрена не просты и не понятны по сравнению с нормальной математической записью
(a + b * c / -d) / (e - (f * g + h))
которую можно обеспечить перегрузкой операторов.
> Ну и да, конструкции наподобие
> a.add(b.mul(c.div(d.neg())).div(e.sub(f.mul(g).add(h)))
> нихрена не просты и не понятны по сравнению с нормальной математической записью
> (a + b * c / -d) / (e - (f * g + h))Запись ваша нихрена не проста и понятна, потому как приоритеты операций не соответствуют тому, к чему привыкли люди, знакомые с математикой.
> приоритеты операций не соответствуют тому, к чему привыкли люди, знакомые с математикойЕщё несколько раз перечитал обе "формулы", но так и не нашёл смысловой разницы.
Ну так нехер нарушать закон Деметры и код сразу станет красивым и простым и понятным ;)
> Ну так нехер нарушать закон ДеметрыПредлагаешь наплодить кучу временных переменных под каждый промежуточный результат? IMHO, от такого код станет восприниматься только хуже.
Почему бы не использовать static?
Например:
(a + b * c / -d) / (e - (f * g + h))
Это:
Type.div(
Type.sum(
a,
Type.div(
Type.mul(
b,
c
),
d
)
),
Type.sub(
e,
Type.sum(
Type.mul(
f,
g
),
h
)
)
)
Компактнее:
Type.div(
Type.sum(
a,
Type.div(Type.mul(b, c), d)
),
Type.sub(
e,
Type.sum(Type.mul(f, g), h)
)
)
вот это хрень так хрень, я чувствую Джава выносит мозг людям основательно.
> вот это хрень так хрень, я чувствую Джава выносит мозг людям основательно.человек забыл статик импорты. Бывает
div(sum(a, div(mul(b, c), d)), sub(e, sum(mul(f, g), h)))
Вот так красивее, почти Clojure получился
Крайне не хватает именованных параметров с дефолтными значениями в методах и конструктореА этот человек похоже слишком много занимается котиками вместо развития языка:
https://twitter.com/BrianGoetzТак что если его будут дергать чаще по нужным вещам, может и пошевелится
>> Ещё отсутствие пропертей
> Ещё не хватало устроить голосование, что войдёт в Java 10. :)))
> Проперти... они из Delphi, вообще-то. Их придумал Андерс Хейлсберг в Borland, потом
> перешёл в Microsoft, написал библиотеку классов к самой быстрой проприетарной MS
> JVM, но как-то несовместимо оказалось с вышедшей позднее Sun Swing, за
> что и поплатился... Ж)) Принялся писать dotNet с пропертями...
>> и перегрузки операторов, хотя бы КАКИХ-ТО, например []...
> От перегрузки операторов авторы Java сознательно отказались в пользу простоты языка и
> понятности. Учите историю!Изя, а столько дырок в Жабке тоже от простоты?
Фиксили фиксили и наконец пофиксили... жабкин плугин. Теперь клиентов жабы вебстарта невозможно дебажить, ибо безопастность превыше всего. Это место у них отваливалось много раз, но в восьмёрочке отвалилось начисто, после 1.7.0_60 вебстартовские клиенты не дебажаться - спасибо 9-ти миллионам разработчиков openjdk, пусть они будут здоровы.
> От перегрузки операторов авторы Java сознательно отказались в пользу простоты языка и понятности. Учите историю!Да мы ведь знаем что любой бред всегда сознательно и для пользы делается. И да, история показывает, что все делается и делается и делается... Хоть учи, хоть не учи
>Ну и то что-что бы официально не ломать совместимость с прежними релизами, делают новые фичи не удобными, - та же лямбда в java8 тому пример!Варианты? Быть как в питоне, типа нам не понравились скобочки в print`e давайте их поменяем. Из-за обратной совместимости и предсказуемости платфоры Ява и держит свои позиции. Или ты хочешь каждый релиз перелопачивать весь проект и нести милионные убытки лишь потому, что какому-то щкольнику скобачке никрасива? Алсо, глянь выступление Брайана Гоетца, он там всё подробно объясняет.
> Ну и то что-что бы официально не ломать совместимость с прежними релизами,
> делают новые фичи не удобными, - та же лямбда в java8
> тому пример!Вау. =)
Простите, ввиду того, что я в прошлом году видел людей, которые радовались релизу java8, хочу уточнить: я правильно понял, что они lambda-выражения в java запилили всего год как? =)2015 год на дворе всё же. И если это так, то я даже не знаю. Ну, поздравляю, наверное.
На одного программиста-жабиста приходится ~780 шт. когда либо проданных устройств. Окупаются ли затраты на их зарплату? ;)А где iZEN ? У них там праздник, а Айзена нет.
> А где iZEN ? У них там праздник, а Айзена нет.Я не занимаюсь программированием для зарабатывания денег с 2002 года. Так что день рождения (23 мая) этой замечательной платформы программирования, в которую я погрузился в 1998 году, для меня — всего лишь одна из примечательных дат в календаре.
С другой стороны жаль, что простой императивный язык перегрузили чуждыми синтаксическими и семантическими конструкциями, которые больше не укладываются в голове. Больше всего вреда нанёсла "декларативщина" на XML, которая способствовала разрушению платформы снаружи своей "дополненной реальностью", когда казалось, что ты больше пишешь кода на XML, а не на Java. Всё остальное, призванное скрыть "следы преступленья делов минувших", произошло уже изнутри — Java выродилась в средство сиюминутных выгод и ангажированности новыми фичами. Теперь это — субстрат для технологий-однодневок.
> декларативщина" на XML, которая способствовала разрушению платформы снаружи своей "дополненной реальностью", когда казалось, что ты больше пишешь кода на XML, а не на Java.Вот!
Теперь даже ты это понимаешь.
Это да, за любовь ко всякого рода xml-линам, Джавистов по рукам палкой бить надо.
20 лет позади с++ и Qt! Дискас)
> Язык Java празднует двадцатилетиеЩИТО
> James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.
>> Язык Java празднует двадцатилетие
> ЩИТО
>> James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.Угу, а датой рождения человека вы считаете дату его зачатия? :-)
Да, они начали работу над Java в 1991 году, но альфу с бетой выпустили в 1995-ом,
а JDK 1.0 - в начале 1996-го.
>> Язык Java празднует двадцатилетие
> ЩИТО
>> James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.Это был проект GREEN
Чё за бабуйня
какие открытые решения
С приобретения Java Ораклом
популярность Java падаетА то как Оракл задавил
свободную Apache Harmony
это заявление Оракла в новости
- просто плевок в лицо разработчикамJava 8 - всё что они смогли сделать
и те кто видел Java 8
- это добавление нереального количества
ситаксиса без принципиально нового функционалаА ведь когда-то Java славился простотой и стандартизацией
Сукины дети
Ну руки из жопы растут ну так отдайте в опенсорс
пусть будут десятки популярных конкурирующих jdk
>популярность Java падаетСамый популярный язык программирования.
>Оракл задавил свободную Apache Harmony
OpenJDK.
>обавление нереального количества ситаксиса без принципиально нового функционала
Добавили новые интерфейсы и стрелочку.
>отдайте в опенсорс
OpenJDK.
>пусть будут десятки популярных конкурирующих jdk
Ты не поверишь...
Читай нормально хватит строить из себя тупого1) Да это до сих пор самый популярный язык программирование
по популярность падает последние 3 года2)
OpenJDK - проприетарный продукт3)
Добавили новые интерфейсы и стрелочку - это функционал ?4)
десятки популярных конкурирующих jdkКонкуренция это значит что у них примерно равная доля рынка
http://java.dzone.com/articles/most-popular-java-environments
Промотай до графика JVM vendors
Sun + Oracle > 70% рынка
Большую часть оставшейся доли - Apple
Где тут конкуренция ?Хватит овощем прикидываться
> OpenJDK - проприетарный продуктOpenJDK is a free and open source
License: GNU GPL+linking exception
Давай ка объясню
OpenJDK javac - написан на Java
но код на с++ - не то что открыто полностью
Какая часть будет на Java (то есть будет открыта)
зависит только от разрботчиков
Они могут в приципе оставить только native функции (то есть они будут где в коде С++)
и тогда не обязаны вообще ничего открывать.Но главное не это.
Главное что OpenJDK - принадлежит Oracle
то есть захотели GPL, захотели - не GPL
Sun как то обещала открыть и ничегоСобственно почитай ту ссылку что сам дал
http://en.wikipedia.org/wiki/OpenJDK#History
про историю
> Давай ка объясню
> OpenJDK javac - написан на Java
> но код на с++ - не то что открыто полностью
> Какая часть будет на Java (то есть будет открыта)
> зависит только от разрботчиков
> Они могут в приципе оставить только native функции (то есть они будут
> где в коде С++)
> и тогда не обязаны вообще ничего открывать.что именно из состава OpenJDK открыто не полностью?
исходники доступны для скачивания здесь: http://openjdk.java.net/
> Но главное не это.
> Главное что OpenJDK - принадлежит Oracle
> то есть захотели GPL, захотели - не GPLOracle уже не сможет отменить GPL лицензию для OpenJDK.
> Sun как то обещала открыть и ничего
> Собственно почитай ту ссылку что сам дал
> http://en.wikipedia.org/wiki/OpenJDK#History
> про историюТам написано о том, что как Sun обещала, так и открыла:
Sun released the Java HotSpot virtual machine and compiler
as free software under the GNU General Public License on November 13, 2006,и дальше по тексту:
This was made possible, over the course of the first year, by the work of Sun Microsystems and the OpenJDK community. Each encumbrance[35] was either released as free and open source software or replaced with an alternative. Beginning in December 2010, all the so-called binary plugs were replaced by Open source replacements, making the whole JDK open sourced and the binary plugs not necessary anymore.[36]
*whole JDK open sourced*
что именно из состава OpenJDK открыто не полностью?
я сказал часть написанная на С++
То что написано на Java доступноOracle уже не сможет отменить GPL лицензию для OpenJDK
На саму нет но читай это
http://en.wikipedia.org/wiki/Apache_Harmony#Difficulties_to_...Ты не думаешь почему при таких свободах им принадлежит 70 % рынка, Apple - остальной кусок ?
>> что именно из состава OpenJDK открыто не полностью?
> я сказал часть написанная на С++
> То что написано на Java доступноНет. На самом деле все 100% исходников OpenJDK открыты и доступны.
Вот, например, как собираются бинарные пакеты OpenJDK для CentOS/RHEL:https://git.centos.org/commit/rpms!java-1.8.0-openjdk/9e49de...
> почему при таких свободах им принадлежит 70 % рынка, Apple - остальной кусок ?
какого именно рынка? и Oracle HotSpot и OpenJDK доступны бесплатно всем желающим.
статья http://java.dzone.com/articles/most-popular-java-environments
говорится только о клиентах компании plumbr по состоянию на 2013 год,причем, plumbr поддерживает только Oracle HotSpot и OpenJDK:
https://plumbr.eu/support/is-my-environment-supported-by-plumbr"Apple JVM" - это на самом деле HotSpot: http://stackoverflow.com/a/979459
> что именно из состава OpenJDK открыто не полностью?
> я сказал часть написанная на С++
> То что написано на Java доступноOpenJDK 7 и 8 код открыт полностью. Собираю порт на FreeBSD из этого:
% cd /usr/ports/java/openjdk8/ && make checksum
===> License GPLv2 accepted by the user
===> Found saved configuration for openjdk8-8.31.13
===> openjdk8-8.45.14_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by openjdk8-8.45.14_1 for building
=> SHA256 Checksum OK for openjdk-8-src-b132-03_mar_2014.zip.
>[оверквотинг удален]
> это заявление Оракла в новости
> - просто плевок в лицо разработчикам
> Java 8 - всё что они смогли сделать
> и те кто видел Java 8
> - это добавление нереального количества
> ситаксиса без принципиально нового функционала
> А ведь когда-то Java славился простотой и стандартизацией
> Сукины дети
> Ну руки из жопы растут ну так отдайте в опенсорс
> пусть будут десятки популярных конкурирующих jdkЩито? openjdk, не?
OpenJDK - почти такая же проприетарщина, что и раньше. Вон Apache развивал свой JDK и закрыл проект из-за недоступности программы для его сертификации.
помню конец 90-х... java спасёт мир! книги по java продавались даже в мебельных магазинах! весь мир перепишем на java - апплеты, сервлеты, javigator и так далее... где, где это всё? где первое общество взаимного кредита? где второе общество взаимного кредита?
> помню конец 90-х... java спасёт мир! книги по java продавались даже в
> мебельных магазинах! весь мир перепишем на java - апплеты, сервлеты, javigator
> и так далее... где, где это всё? где первое общество взаимного
> кредита? где второе общество взаимного кредита?Васюкинские шахматисты внимали *** с сыновней любовью. *** понесло. Он почувствовал прилив новых сил и шахматных идей.
...
Ослепительные перспективы развернулись перед васюкинскими любителями. Пределы комнаты расширились. Гнилые стены коннозаводского гнезда рухнули, и вместо них в голубое небо ушел стеклянный тридцатитрехэтажный дворец шахматной мысли. В каждом его зале, в каждой комнате и даже в проносящихся пулей лифтах сидели вдумчивые люди и играли в шахматы на инкрустированных малахитом досках…
Мраморные лестницы ниспадали в синюю Волгу. На реке стояли океанские пароходы. По фуникулерам подымались в город мордатые иностранцы, шахматные леди, австралийские поклонники индийской защиты, индусы в белых тюрбанах, приверженцы испанской партии, немцы, французы, новозеландцы, жители бассейна реки Амазонки и завидующие васюкинцам — москвичи, ленинградцы, киевляне, сибиряки и одесситы.
> помню конец 90-х... java спасёт мир! книги по java продавались даже в
> мебельных магазинах! весь мир перепишем на java - апплеты, сервлеты, javigator
> и так далее... где, где это всё? где первое общество взаимного
> кредита? где второе общество взаимного кредита?А что не так? Во всех бюджетных кнопочных телефонах java, в андроид java, в энтерпрайсе java, даже blueray menu это java, она везде, вы просто не замечаете.
Высокочастотные трейдинговые системы.
http://www.devexperts.com/en/products.html
http://www.lmax.com/
http://www.youtube.com/watch?v=gfdAfhSM724&feature=share
можно добавить ишо такую отрасль как entert./gamedev/ etc.
ознакомится c TCR/TRC для приставок и пр.
Авторы LMAX, в частности, очень подробно расписывали что им приходилось и приходится делать с Java чтобы она хоть как-то была пригодна к.
Там от неё одно название в итоге остаётся.
> А что не так? Во всех бюджетных кнопочных телефонах java, в андроид
> java, в энтерпрайсе java, даже blueray menu это java, она везде,
> вы просто не замечаете.вся бытовая техника будет с андроидом/джавой. Умный дом, интернет вещей и тд. Все там будет.
> Во всех бюджетных кнопочных телефонах java, в андроид
> java, в энтерпрайсе java, даже blueray menu это java, она везде,
> вы просто не замечаете.Поверьте, замечаем. Замечаем и стараемся избегать. )
>> помню конец 90-х... java спасёт мир! книги по java продавались даже в
>> мебельных магазинах! весь мир перепишем на java - апплеты, сервлеты, javigator
>> и так далее... где, где это всё? где первое общество взаимного
>> кредита? где второе общество взаимного кредита?
> А что не так? Во всех бюджетных кнопочных телефонах java, в андроид
> java, в энтерпрайсе java, даже blueray menu это java, она везде,
> вы просто не замечаете.Жаль, у меня на Nokia Lumia нету Java. А то бы было гораздо веселее! ;)
>Язык Java празднует двадцатилетие20 лет, а нормальной GUI-библиотекой так и не обзавелась.
>>Язык Java празднует двадцатилетие
> 20 лет, а нормальной GUI-библиотекой так и не обзавелась.Щито? Swing, AWT, SWT. Если не умеете готовить, то это не проблемы Java.
swing? FX
Три калеки по сравнению с Qt.
> Три калеки по сравнению с Qt.Qt — это бледная тень JFC/Swing.
Qt это какапелька по сравнению с JavaFX :D
только на кьюте убунту и парусник, а на жава эфикс - никого
Мне очень нравится, как школьники, которые знают о Java только по отзывам других таких же школьников, активно продолжают минусовать положительные отзывы о Java'е. Но при этом, видимо, вся эта школота и не догадывается, что каждый день, заходя в интернет, они в той или иной мере используют продукты, backend которых написан именно на Java'e.Также, осмелюсь предположить, что все кто поставил минус пользуются только iphone'ами, либо их родители считают, что смартфон им пока рано! :-)))
Вообще судя по количеству отзывов на новость, Java остается очень популярной :-)
> Мне очень нравится, как школьники, которые знают о Java только по отзывам
> других таких же школьников, активно продолжают минусовать положительные отзывы о Java'е.
> Но при этом, видимо, вся эта школота и не догадывается, что
> каждый день, заходя в интернет, они в той или иной мере
> используют продукты, backend которых написан именно на Java'e.
> Также, осмелюсь предположить, что все кто поставил минус пользуются только iphone'ами,
> либо их родители считают, что смартфон им пока рано! :-)))
> Вообще судя по количеству отзывов на новость, Java остается очень популярной :-)Это вы еще про JavaCard забыли :)
Кто на Java писал, тот в цирке не смеётся. После двух лет разработки под Android сложно сказать что-то хорошее про Java, когда вокруг полно современных и куда более продуманных и лаконичных ЯП.
Возьмите же один из этих: Kotlin, Ceylon, Groovy, JRuby и пребудет с Вами щасьте!!!
Странный у вас список. Ни Scala, ни Clojure в нём случайно не оказалось, или по каким-то причинам?
> Кто на Java писал, тот в цирке не смеётся. После двух лет
> разработки под Android сложно сказать что-то хорошее про Java, когда вокруг
> полно современных и куда более продуманных и лаконичных ЯП.Android Java != Java ;)
Да ну! Те же лямбды и на Android есть (retrolambda), но общая многословность языка и уродский type erasure в обычной Java никуда не деваются, как и требование, чтобы замыкания в лямбдах были final.Я знаю только одно принципиальное отличие - отсутствие генерации байткода в Dalvik.
> Я знаю только одно принципиальное отличие - отсутствие генерации байткода в Dalvik.https://source.android.com/devices/tech/dalvik/dalvik-byteco...
сложно сказать что-то хорошее про Java, когда вокруг полно современных и куда более продуманных и лаконичных ЯП.
это какие например, если посмотреть на энтерпрайз?см шарп и джава - а больше никого нет
выбор предопределен - не мелкомягкое же использовать
> Кто на Java писал, тот в цирке не смеётся.Ну с другой стороны это только если им ц++11 и ц++14 там не показывали
> Вообще судя по количеству отзывов на новость, Java остается очень популярной :-)Ну зарплаты java-программистов о чем-то, да говорят.
> Ну зарплаты java-программистов о чем-то, да говорят.Ну да, как обычно, чем хреновей средство, тем больше платят. Иначе никак.
> Но при этом, видимо, вся эта школота и не догадывается, что
> каждый день, заходя в интернет, они в той или иной мере
> используют продукты, backend которых написан именно на Java'e.Угу. Только вот jvm ейный написан ... СЮРПРАЙЗ!!! ... не на жабе. :)
С таким подходом никакие языки программирования вообще не нужны, только хардкор, только ассемблер, да чо там ассемблер, прямой ввод нулей и единиц!
>> Но при этом, видимо, вся эта школота и не догадывается, что
>> каждый день, заходя в интернет, они в той или иной мере
>> используют продукты, backend которых написан именно на Java'e.
> Угу. Только вот jvm ейный написан ... СЮРПРАЙЗ!!! ... не на жабе.
> :)Есть JVM и на Java :P
Совет начинающим программистам которые не знают какой язык выбрать
Выбирайте джава, я сам программировал на джава лет 5.