LINUX.ORG.RU

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

 , , ,


4

6

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

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

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

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

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


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

Сильное заявление...

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

Чё-т я пропустил этот немаловажные момент..

UVV ★★★★★
()

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

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

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

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

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

EXL ★★★★★
()

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

Язабан.

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

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

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

clover
() автор топика

программисты на Qt, а не на C++ проходите мимо

Еретик!

pftBest ★★★★
()

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

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

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

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

Ты сам ответил на свой вопрос.

порог вхождения у java ниже

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

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

без сегфолтов

ну и в любом случае, чем будет отличаться для пользователя на десктопе падение приложения с «сегфолтом» или с бэктрейсом после java-exception ?

clover
() автор топика

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

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

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

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

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

весна, анонiмус, торжествуя, на ветке гложет кость..

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

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

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

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

На с++ тебе пользователь не пришлет стектрейс по почте

ну почему же, может прислать coredump, из него можно вытащить стектрейс

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

Стектрейсы делаются при желании и на c/c++ (см. breakpad). И присылаются по почте.

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

падение приложения с «сегфолтом» или с бэктрейсом после java-exception

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

EXL ★★★★★
()

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

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

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

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

+1

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

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

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

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

clover
() автор топика

У тебя прямо в тексте вопроса написан ответ.

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

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

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

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

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

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

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

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

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

У тебя прямо в тексте вопроса написан ответ.

ну вот например Eclipse и FreeCol - опенсорс, они-то почему?

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 ★★★★★
()
Ответ на: комментарий от EXL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А что, уже переписали хром на яву? Или как там..., а, «Сервисы google» тоже?

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

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

и не только.

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

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

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

Как только придумают альтернативу Qt - позовите

Я так понимаю, Qt - это альтернатива Си++? Вот поэтому программистов на Qt и просили проходить мимо.

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