LINUX.ORG.RU

Развенчание мифов о джаве


0

3

1. Джава тормозит, в частности в части аппликейшн серверов.
Неверно. http://agoncal.files.wordpress.com/2011/10/2011appserverstartup.png
2. Джава жрет неоправдлано много оперативной памяти.
Неверно. http://agoncal.files.wordpress.com/2011/10/2011appservermemory.png
Это так сказать, КДПВ.

Сама статья с бенчмарками апп серверов: http://agoncal.wordpress.com/2011/10/20/o-java-ee-6-application-servers-where...

★★★☆

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

Последнюю, которую запускал — семерку. Он летала, с тех пор в глаза не видел. Еще летал KDevelop3, как сейчас — не знаю.

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

От него на десктопах ни холодно ни жарко. Тем более, покажи сложное, большое приложение. Вот портанут идею под тамошний тулкит, тогда и можно о чем-нибудь говорить.

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

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

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

где противоречие?

«нетормозящий гуй только на андроиде» — откуда это следует? По приложениям с одной кнопкой мало чего можно сказать.

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

У меня там не тормозит ничего, ни ридеры, ни браузеры, ни скайпы, ни игры ни вообще ничего.

Я лично пишу на десктопе графику на OpenGL. Ничего не тормозит, колбасит много геометрии с кучей шейдеров. «Так все же делает GPU?» - скажете вы. «Так и надо» - отвечу я. А кто делал Swing или SWT - ССЗБ

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

Я лично пишу на десктопе графику на OpenGL. Ничего не тормозит.

А кто делал Swing или SWT - ССЗБ

Твои поделки практически никому не нужны, а вот поделки тех самых буратин — даже очень.

baverman ★★★
()

1. Джава тормозит, в частности в части аппликейшн серверов. 2. Джава жрет неоправдлано много оперативной памяти.

[троллинг] да возьми ты айфончег и телефон на зеленом ведре - сразу все опнятно станет :) [/троллинг]

а по теме - все от прямых рук зависит.

mityash
()

УГ написанное на Java ничем не уступает УГ написанному на лиспе, C++, C, брейнфаке, ассемблере, пистоне, пых-пыхе, шарпе, фортране, коболе, пл-сиквел, дельфи, руби и визуалвасике.

no-dashi ★★★★★
()
Ответ на: комментарий от baverman

Можно писать прямо и нежруче свой софт. Иногда можно все же прибегать ка Swing, там где он все нормально решает

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

Верно, всё дело в проценте УГ.

УГ на жабе может и жрет процессор и память, но по крайней мере не сегфолтится :-)

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

UncaughtException же

Жопа и палец, ага. По трейсу, как правило, можно сразу исправить ошибку. По корке, как правило, нет.

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

Так тебе надо большое приложение или нетормозящий гуй? Когда будет стабильно сие поделие, тогда и посмотрим, насколько можно писать нормальный гуй, а пока рано говорить.

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

кто мешает под lisp-lor-faq (стр. 2 3) прибить «perpetual java-срач»?

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

Давай я тебе дам корку, а ты мне найдешь ошибку? Бинарь, естественно, будет без отладочной инфы.

К тому же исключение можно обработать выше по стеку, а сегфолт нет.

baverman ★★★
()
Ответ на: комментарий от no-dashi

> УГ на жабе может и жрет процессор и память, но по крайней мере не сегфолтится :-)

еще как сегфолтится, у меня падали как минимум Netbeans, SmartSVN и Zoom

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

> Нет такого языка блядь!!
Спешал фор ю:
Почему тогда игрушки для консолей пишут на C или C++?

А игрушки для консолей на шарпе пишут

Надеюсь ты это не серьезно? На C# и XNA AAA игр я не видел.

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

>[троллинг] да возьми ты айфончег и телефон на зеленом ведре - сразу все опнятно станет :) [/троллинг]
/me посмотрел на Galaxy S II
И? Я в курсе, что айфон тормозное говно, не умеющее одновременно навигатор + видеорегистратор + аудиоплейер держать, и?

JFreeM ★★★☆
() автор топика

Заключения о недостатках Java можно сделать простой логикой:

1) При исполнении Java-приложения необходимо транслировать байт-код в нативный. То есть к времени непосредственно работы приложения всегда будет прибавляться ненулевое время на трансляцию.

2) В Java используется сборщик мусора. То есть память освобождается далеко не сразу после исчезновения последней ссылки. Поэтому часто бывает ситуация, когда в адресном пространстве процесса Java будет выделено много памяти, реально не используемой.

Засовывание в объекты всего чего только можно (в том числе чисел и строк) также не может не сказаться на производительности и потреблении памяти.

Есть логические опровержения? Графики показывают лишь, что приложения сами по себе были хорошо написаны и запущены на мощных серверах. Однако были бы написаны они на другом языке, то сожрали бы ещё меньше памяти и запустились бы быстрее.

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

>ЛОР написан на Java — это трагическое стечение обстоятельств.

нуда-нуда. а то что твиттор написан на java это закономерный итог

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

>1) При исполнении Java-приложения необходимо транслировать байт-код в нативный. То есть к времени непосредственно работы приложения всегда будет прибавляться ненулевое время на трансляцию.
Вы бы хоть не позорились...
http://en.wikipedia.org/wiki/Just-in-time_compilation

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

нуда-нуда. а то что твиттор написан на java это закономерный итог

Заблудшие овцы. Покинули лоно Матца-отца.

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

>где «поразительно с каким старанием и глубоким пониманием написана реализация на C++» (с)

суть в том что наверняка код реализации на жабе ничуть не более глубокий. только код на жабе не надо тюнить, jit все в рантайме оттюнит, а код на C++ будет хорош ровно настолько насколько хорош его криэйтор

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

> а код на C++ будет хорош ровно настолько насколько хорош его криэйтор

все верно, потому java так удобна - можно набирать «обезьянок» и заставлять их кодить по специально наделанным для них паттернам, насколько я знаю есть чуть ли не наука как организовать подобную стаю оптимальным образом, чтоб выжать из них по максимуму

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

>Штука написана на Java

поцчему тендер не выиграла контора сиплюсплюсников? наверное потому что денег предложили слишком мало для претендентов, вон кто попало и получил заказ

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

> поцчему тендер не выиграла контора сиплюсплюсников?

скажи спасибо, что на делфи не написали, что было бы неудивительно

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

могу пока дать только over 100k строк на Adobe AIR: parleys desktop

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

>на делфи не написали,

подозреваю что писали те, кто до того 15 лет лабал на дехле, а писать на жабе им приказали уже после выигрыша тендера, мотивировав «жаба еще проще дехле»

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

>То есть к времени непосредственно работы приложения всегда будет прибавляться ненулевое время на трансляцию.

глубокая мысль. как ты думаешь сколько в % времени работы LORа с последнего рестарта заняла трансляция кода ? напиши диссертацию, годная, актуальная проблематика

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

>Засовывание в объекты всего чего только можно (в том числе чисел и строк)

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

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

Как раз я её и имею ввиду. Интерпретацию байт-кода без JIT можно даже не рассматривать - она то, очевидно, медленнее.

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

Все эти плюшки ООП добавляют тормозов (вместо прямого вызова функции она вызывается по ссылке, контроль типов объектов и т. д.) и потребления памяти (для объектов нужны служебные структуры, которые непосредственно не относятся к конечной задаче). Я не противник ООП, но если его пихать везде куда только можно, то будет огромный минус в производительности и экономии ресурсов. Java тому пример. Объекты следует использовать лишь в определённой части программы, виде задач.

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

>контроль типов объектов и т. д.)

и че? контроль только при первом вызове должен быть, а не на каждый чих

Karapuz ★★★★★
()

Как-то вброс не удался. Уже не торт.
Но, скажу что C# как-то симпотичнее выглядит.

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

> jit все в рантайме оттюнит

С какой стати? Уже сколько слышу сказки про этот «самотюнящийся в рантайме код», но никаких пруфов никогда не приводится.

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

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

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

жаба не только работает быстрее процессора, но уже обрела исскуственный интеллект и сама пишет программы на жабе

ckotinko ☆☆☆
()
Ответ на: комментарий от sol_linux

Пока в QtCreator не добавили front-end от clang оно полное УГ, т.к сейчас там парсер на тривиальном коде ломается. Жабские IDE для Java кода себе такого не позволяют, там оно просто работает со всеми refactorings.

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

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

Возьми любую тяжелую софтину на свинге и начни щелкать по настройкам, меню и прочим гуи-элементам. Первый раз тормозит, все последующие — почти как натив. Если я правильно понимаю, первый раз его jit компилит. Хотя, может это я и придумал.

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

>С какой стати? Уже сколько слышу сказки про этот «самотюнящийся в рантайме код», но никаких пруфов никогда не приводится.

Ну а с какого бодуна я должен рыть носом инет и спеки Сана^WОракла? Давно пробегал специально под это дело заточенный «тестик», когда одну и ту-же фигню написали на крестах и жабке. Естественно, не оптимальным способом, а демонстрирующем эту самую оптимизацию: передрали тест из жабки в кресты практически 1:1. В результате jvm сообразил, что реализация интерфейса единственная и нахрен чуть-ли не заинлайнил все вызовы тестового класса. На огромном количестве вызовов это сыграло решающую роль.

Вот только даже если ты найдёшь описание этого теста - eclipse на твоём писюке бысрее работать не станет :)

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