LINUX.ORG.RU

Производительность Java, C и C++

 , , ,


4

6

Предположим я не тролль, а правда знаю C, C++ и Java.

Java умеет оптимизировать «горячий путь», т.е. в среднем должна быть быстрее на этом пути, чем программы на C или C++. С другой стороны при отклонении от этого «горячего пути» начинаются тормоза.

В большинстве случаев в интерпрайзе(вэб/промышленное ПО) применение java оправдано(там где регулярно выполняется всего 10 основных действий). Т.к. порог вхождения у java ниже - можно найти больше программистов, следовательно дешевле разработка.

Вопрос: чем вызвано массовое увлечение написанием десктопного ПО на java, ведь явного «горячего пути» в десктопных ПО обычно не существует?

ЗЫ программисты на Qt, а не на C++ проходите мимо, вопрос к людям постарше.

чем вызвано массовое увлечение написанием десктопного ПО на java

например? я уже давненько не видел чтобы кто-то на джаве это писал
сейчас больше в тренде что-то electron'о-подобное

rusich ()
Последнее исправление: rusich (всего исправлений: 2)

чем вызвано массовое увлечение написанием десктопного ПО на java

Быстрее и без сегфолтов. Другими словами, плазма, будь она на Java, не падала бы.

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

Быстрее и без сегфолтов. Другими словами, плазма, будь она на Java, не падала бы.

явного «горячего пути» у плазмы нет. соответственно в скорости получится только проиграть, а ресурсов жрать она станет много

clover ()

Предположим я не тролль

чем вызвано массовое увлечение написанием десктопного ПО на java

Да, на тролля ты еще не тянешь, максимум начинающий.

mbivanyuk ★★★★★ ()

ЗЫ программисты на Qt, а не на C++ проходите мимо, вопрос к людям постарше.

Сам ты толстая школота.

Предположим я не тролль

да куда там...

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

не тратим время на отладку

что значит тратить время на отладку? есть же юнит-тесты, которые можно запустить с valgrind'ом. В java все тоже самое, только без valgrind'а

clover ()

Предположим я не тролль

Согласен. Тролль должен делать более качественные вбросы и быть подкованным в той сфере о которой он вбрасывает.

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

я уже давненько не видел чтобы кто-то на джаве это писал сейчас больше в тренде что-то electron'о-подобное

+1

Сейчас тренд делать всё на JS/Electron/etc. Ибо оно нынче получается более портабельно и JS-мартышек пруд пруди. Обратная сторона медали еще более лютая жручесть ресурсов чем java.

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

Второе легче обработать.

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

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

когда оно съест всю оперативу?

Если бы RAM сейчас была узким горлышком, никто продуктами JetBrains бы не пользовался. Сегодня в мире средний ноутбук/компьютер имеет 8GB RAM и более, а этого вполне достаточно для запуска какой-нибудь IDEA.

И да, плазма частенько и так съедает всю ОЗУ, а потом падает. А так бы GC вызывался и был бы тупо фриз на полсекунды.

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

Если бы RAM сейчас была узким горлышком, никто продуктами JetBrains бы не пользовался. Сегодня в мире средний ноутбук/компьютер имеет 8GB RAM и более, а этого вполне достаточно для запуска какой-нибудь IDEA.

ок, ну допустим что пользователь ради мегасупердесктопной программы согласен потратить деньги на ОЗУ и готов страдать от однозадачности своего ноутбука. Но как быть с тормозами? Явный «горячий путь» же отсутствует.

clover ()

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

orm-i-auga ★★★★ ()
Ответ на: комментарий от clover

И ещё.

Программы на Java имеют очень большую гибкость и функциональность. Сравни Eclipse и KDevelop, CLion и Qt Creator, PyCharm и Eric Python IDE.

Пока C++'ники бегают и отлавливают сегфолты в той функциональности, которую реализовали — Java'ники уже пишут следующую плюшку.

Ну и при работе в каком-нибудь KDevelop или Qt Creator неосторожное или нестандартное движение курсора приводит к моментальному закрытию окна с потерей всех данных и строчкой

segfault at 10 ip 00007f9bebcca90d sp 00007fffb62705f0 error 4

В dmesg. Этим очень часто грешил KDevelop и плагин поддержки Git в Qt Creator. Из-за таких вот проблем даже было придумано насилие винчестера в виде постоянных 10-секундных временных *.swp-копий редактируемых файлов. Ибо никогда не знаешь, в какой момент эта твоя IDE, написанная на C++, грохнется в очередной раз.

Но зато работают они быстро, это да.

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

eclipse, Netbeans, PyCharm и тд на java

когда блин это было. я еще в школе учился когда eclipse начали разрабатывать. это раз.
два это то, что джаву просто поддерживать и намного проще разрабатывать чем C/C++. а значит стоимость разработки намного меньше, тем более что с железом проблем нет.
ну и прямо сейчас на джаве вменяемые люди десктопные программы не начинают с нуля. все колбасят JS

rusich ()

Java умеет оптимизировать «горячий путь», т.е. в среднем должна быть быстрее на этом пути, чем программы на C или C++

ты это сам придумал, или тебе кто-то сказал такое?

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

Ну и при работе в каком-нибудь KDevelop или Qt Creator неосторожное или нестандартное движение курсора приводит к моментальному закрытию окна с потерей всех данных и строчкой

У меня такая херня в PyDEV еклипсовском все время происходила. На QtCreator ни разу не видел такого.

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

Программы на Java имеют очень большую гибкость и функциональность. Сравни Eclipse и KDevelop, CLion и Qt Creator, PyCharm и Eric Python IDE.

Какое-то нечестное сравнение. Не передергивай. CLion и Pycharm разрабатываются крупной IT-компанией, в отличие от KDevelop и Eric Python IDE, которые разрабатываются сообществом в качестве хобби.

Так что тренд не прослеживается. Попробуй еще.

clover ()

Java умеет оптимизировать «горячий путь», т.е. в среднем должна быть быстрее на этом пути, чем программы на C или C++. С другой стороны при отклонении от этого «горячего пути» начинаются тормоза.

а правда знаю C, C++ и Java.

Нет, не знаешь.

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

стоимость разработки намного меньше

но ведь есть и десктопный опенсорс на java

ну и прямо сейчас на джаве вменяемые люди десктопные программы не начинают с нуля. все колбасят JS

с js вообще вопросов нет: «на чем умею, на том пишу, инструменты под задачу - для лохов». есть толпа гопников и модный веб, там все просто.

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

Но как быть с тормозами? Явный «горячий путь» же отсутствует.

Смириться с ними, они не настолько фатальные, чтобы обращать на них внимание. Да и под «горячий путь», чтобы JIT делал хорошо, можно кое-что подогнать.

Вон, в MS переписали огромное количество компонентов этой вашей дисяточки на C#. «В приложении Explorer.exe произошла ошибка, отправить отчёт?» теперь перестало напрягать. Стала ли WPF-оболочка Win10 работать тормознее, чем приплюснутая в Win7/WinXP? Я не вижу особой разницы.

Вот и для GNU/Linux программы в существующих DE нужно переписывать на Java или C#.

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

Смириться с ними, они не настолько фатальные, чтобы обращать на них внимание

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

Вот и для GNU/Linux программы в существующих DE нужно переписывать на Java или C#.

как хорошо что не ты это решаешь

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

Так что тренд не прослеживается. Попробуй еще.

Так более крупных IDE на C++, чем KDevelop и Qt Creator тупо нет в природе. Не с чем сравнивать. Предложи ты. И да, MS Visual Studio на C# + WPF переписали.

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

с js вообще вопросов нет: «на чем умею, на том пишу, инструменты под задачу - для лохов». есть толпа гопников и модный веб, там все просто.

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

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

но ведь есть и десктопный опенсорс на java

опенсорс есть на чем угодно

на чем умею, на том пишу

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

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

речь в целом о десктопе

Но здесь ты перечислил IDE.

А если все будет на java, уверен, ты первый застрелишься.

Сколько там застрелилось пользователей Android?

Число Android-пользователей достигло 1,4 миллиарда (c)

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

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

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

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

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

Но здесь ты перечислил IDE.

и не только.

Сколько там застрелилось пользователей Android?

кстати, хороший пример. iOS, не смотря на то что она «нетакаякаквсе», использует нативную компиляцию. Отсюда долгоживущая батарея и высокая скорость работы. Ведроид работает от батареи намного более емкой в разы меньше. ОЗУ на некоторых телефонах требуется больше чем на десктопе. Кошмар совсем, короче. Когда уже Tizen выпустят...

clover ()