LINUX.ORG.RU

20 лет вместе с Java

 dear, , ,


0

3

23 мая 1995 года Sun Microsystems анонсировала выход Java. Сейчас Java исполняется 20 лет.

Поднимем бокалы за лучшую в мире платформу для программирования! На которой работают наши сайты, банки, микроволновки, самолёты, спутники, SIM-карты, сверхскоростные гоночные роботы и остальная половина мира!

Появившись в виде дуба, ты росла, развивалась и наконец стала взрослой. Созданная как «язык будущего», ты не только в это будущее попала, но и стала его основой.

С днем рождения, любимая Java! Всё еще только начинается!

Кстати, по этому поводу ребята из Jetbrains нарисовали комиксы вот здесь.

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

★★★★☆

Проверено: anonymous_incognito ()
Последнее исправление: unfo (всего исправлений: 1)

Ответ на: комментарий от msgascii

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

Это по-твоему. А вообще-то все компании имеет свою цену. Вот, сан и продалась.

anonymous
()
Ответ на: комментарий от msgascii

ага, конечно. ты как всегда прав

Конечно прав, факты ж на лицо - всё, что измеряется деньгами, продаётся и покупается. Бизнес делается дядями, а фонатики потом стродают :-)

anonymous
()
Ответ на: комментарий от vurdalak

Строки как раз сравниваются нормально.

str1.equals(str2) - это ни разу не нормально для высокоуровневного языка.

anonymous
()
Ответ на: комментарий от anonymous

Почему? В любом случае нужны разные способы сравнения по содержимому или по ссылке. Если заменить equals на ==, то для == надо придумать ещё что-нибудь.

vurdalak ★★★★★
()
Ответ на: комментарий от leave

Там нет строк. Есть объекты-экземпляры класса «строка». И к этому очень быстро привыкаешь.

В армии ты быстро привыкаешь спать в любом, даже самом неудобном, положении в любом, даже самом неподходящем, месте. Подумай об этом.

anonymous
()
Ответ на: комментарий от anonymous

str1.equals(str2) - это ни разу не нормально для высокоуровневного языка.

Это нормально для языка, где в основе ООП на базе посылки сообщений - понятная и однообразная семантика.

anonymous
()
Ответ на: комментарий от anonymous

Посмотри, как это сделано в других, действительно высокоуровневых языках.

Да также и сделано - два операнда и один оператор.

anonymous
()
Ответ на: комментарий от anonymous

Это нормально для языка, где в основе ООП на базе посылки сообщений - понятная и однообразная семантика.

А где тогда 5.add(6).less(2) и т. п., однообразный ты мой?

anonymous
()
Ответ на: комментарий от anonymous

Тут нет однообразия, оно есть тут

Что значит нет? Если все объект, то все объект; и если все через методы, то все через методы. Какого хрена в жабе операторы сравнения, сложения и т.п. делают? Сахарок? А чо он такой кривой и убогий тогда?

anonymous
()
Ответ на: комментарий от anonymous

Что значит нет? Если все объект, то все объект; и если все через методы, то все через методы. Какого хрена в жабе операторы сравнения, сложения и т.п. делают? Сахарок? А чо он такой кривой и убогий тогда?

Ну ты же знаешь, что в жабе - не всё объект. int - це ж примитив. Для них и делают операторы. А для объектов всё через методы.

anonymous
()
Ответ на: комментарий от anonymous

А вот в цепепе в какой-то либе через оператор +/+= даже можно добавлять виджеты в контейнеры, типа Container container; Label l; Input i;

container += l; container += i;

Вот это уже действительно уродство и желание авторов повыпендриваться. :-) Да что уж там виджеты, в цепепе даже ракеты в космос операторами можно отправлять :-)

anonymous
()
Ответ на: комментарий от anonymous

Ну ты же знаешь, что в жабе - не всё объект. int - це ж примитив. Для них и делают операторы. А для объектов всё через методы.

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

anonymous
()
Ответ на: комментарий от anonymous

Ну, если уж и так согрешили с операторами, можно же было сделать, чтобы и со строками было удобно работать

На жабе написано столько годного софта, включая нашумевший Clion для цепепе, что сдаётся мне, что всем пофиг то удобство относительно строк :-)

anonymous
()
Ответ на: комментарий от anonymous

А собственно чем это хуже container.Add(l)? Истерика с переопределением операторов совершенно надуманная. Метод Add, например, тоже у разных объектов может иметь абсолютно разный смысл, и это тоже целиком зависит от степени накуренности разработчика.

anonymous
()
Ответ на: комментарий от anonymous

А собственно чем это хуже container.Add(l)? Истерика с переопределением операторов совершенно надуманная. Метод Add, например, тоже у разных объектов может иметь абсолютно разный смысл, и это тоже целиком зависит от степени накуренности разработчика.

Тем что набор операторов, особенно в цепепе, ограничен. Даже точку переопределить нельзя. Кометет будет ещё многолет думать о точке :-) А методы можно называть бесконечным способом. Это в любом случае универсально, и хорошая либа будет содержать в первую очередь методы, а потом, может быть, вдобавок, операторы их вызывающие. Только операторы типа + особо нахрен никому не нужны. Тем более, что фОнаты скорости знают, что std::string s = «a» + «b» + «c» медленнее!!!11 чем std::string s; s.append(«a»).append(«b»).append(«c»). Остаются только -> и *.

anonymous
()
Ответ на: комментарий от anonymous

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

Так это проблемы конкретной реализации, а не концепции в целом.

anonymous
()

20 лет вместе с Java

я думал ты моложе

anonymous
()

Поздравляю фанов!

Помню, к восьмой версии на ней стало можно программировать.

Чего не хватало - возможности создавать объекты неподконтрольные gc.

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

Не собираются такое реализовать? А то аналог деструкторов есть, а реализовать нормальное управление ресурсами умучаешся.

x86_64 ★★★
()
Ответ на: комментарий от weare

Ура! Java давно обогнала по производительности С++

По производительности труда за счёт IDE. А в рантайме задротно написанный код на цепепе однозначно быстрее.

anonymous
()
Ответ на: Поздравляю фанов! от x86_64

Чего не хватало - возможности создавать объекты неподконтрольные gc. Которые бы уничтожались в тот момент, когда счетчик ссылов обнулялся бы.

Это шо за парадокс такой - «неподконтрольные gc, но уничтожаемые при обнулении счётчика ссылок»?

anonymous
()

Кстати, очень часто слышу плохие отзывы, что Java говно, но когда задаю вопрос: «А почему?», то никто мне не может дать нормального ответа. Тем не менее Java разработчиков ооооочень много. Неужели она такая простая и охватывает столько задач? Где-то читал, что она очень похожа на C++.

Задам здесь этот вопрос: почему Java говно?

P.S. Просьба без троллинга

ubik
()
Ответ на: комментарий от anonymous

Это шо за парадокс такой - «неподконтрольные gc, но уничтожаемые при обнулении счётчика ссылок»?

Он наверное имеет в виду ARC: http://en.wikipedia.org/wiki/Automatic_Reference_Counting

Кстати, если уж нужно устроить свалку, то есть Usafe, ByteBuffer, Direct Buffers всякие, Apache DirectMemory, Chronicle Map... Или просто свалить в Memcached или Redis

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от anonymous

Скучный ты, думал подождать пока ты лопнешь, а ты уныло слился.

ya-betmen ★★★★★
()
Ответ на: комментарий от ubik

Неужели она такая простая и охватывает столько задач?

Да.

Где-то читал, что она очень похожа на C++

Похожа только лишь сишным синтаксисом.

Задам здесь этот вопрос: почему Java говно?

У многих складывается такое впечатление из-за тормознутости на десктопах, особенно у тех, кто сидит на доисторическом железе, пИчатая код в vim. Другие фОнаты не любят потому шта это пропрЕИтарщЕна!!!11, а это не совместимо с догмами open source и fsf. Третьих не устраивает то, как там сравниваются строки :-) Четвёртых тошнит от классов и ООП. Пятые плюются от GC. Шестым нужны укОзатели и деструкторы. И т.д.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

Банки последние пару лет активно отказываются от жаборешений и переходят чистые веб-приложения.

Шо такое «чистые веб-приложения»?

anonymous
()
Ответ на: комментарий от anonymous

Восьмые просто не хотят учить язык, про который кто-то говорит «говно».

anonymous
()

В честь такой круглой даты всем ещё по паре планок памяти.

endeneu13
()

Отличная новость!
Нет повода не выпить :)
Правда С++ она так вытеснить и не смогла.
Но надеюсь что-нибудь другое его закопает.

KUser
()
Последнее исправление: KUser (всего исправлений: 1)
Ответ на: комментарий от iLoveoOz

Смотря как писать.
Вот Firefox не на джаве написан, а выжирает память оптом.
Был бы на джаве то может быть хотя бы не тёк.

KUser
()
Ответ на: комментарий от KUser

Вот Firefox не на джаве написан, а выжирает память оптом.

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

anonymous
()
Ответ на: комментарий от Zenom

Это тот самый лисп на JVM, как и все лиспы, с динамической типизацией?

Нет, это жалкая попытка сделать лисп в уловиях JVM.

Gentooshnik ★★★★★
()
Ответ на: комментарий от anonymous

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

и все эти веб-приложения написаны именно на жабе

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Что бы не писать простыни try с ресурсами.

x86_64 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.