Недостатки java?

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Недостатки java?

Сообщение azsx » 17.11.2015 16:08:10

Какие недостатки в java не нравятся лично вам по сравнению с паскаль? или какие сильный стороны java, которые легко перекрывают все недостатки.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Недостатки java?

Сообщение McLion » 17.11.2015 16:26:50

Java требует среду выполнения runtime environment у клиента, паскаль нет! Раз, два и обчелся, яву на мусорку.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Недостатки java?

Сообщение azsx » 17.11.2015 16:32:31

извините за дилетантский вопрос. Я же правильно понимаю, что firemonkey в делпхи хе - для андроид та же виртуальная машина, как java?
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Недостатки java?

Сообщение McLion » 17.11.2015 16:39:37

azsx писал(а):извините за дилетантский вопрос. Я же правильно понимаю, что firemonkey в делпхи хе - для андроид та же виртуальная машина, как java?


Это я не знаю... на андроид ничего не пишу.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Недостатки java?

Сообщение hinst » 17.11.2015 16:59:53

В андроиде JVM Dalvik, она же модифицированная Java 6 (версии 7 и 8 на андроид до сих пор не завезли). А Firemonkey это вообще другое, это библиотека для UI для Delphi, а не VM.

В Java есть сборщик мусора. В Java сложнее получить Access Violation. В Java есть нормальные generic-и. Ну более нормальные, чем в FPC.
Java тормозит. Java требует много памяти.

В Java унаследованные конструкторы становятся private, и это блин неудобно. В Java нету property.
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Недостатки java?

Сообщение SSerge » 17.11.2015 17:12:44

Недостатки, говорите...

1. Ну с... Одна и та же программа с одним и тем же алгоритмом... В лазарусе загружала с данными 85 мегабайт, в C# 120 мегабайт. Явовская версия ни с того ни с сего вдруг захотела 790. Де факто.
2. Что-то не встречались мне на яву нормальные конструкторы интерфейсов, а городить форму вручную, опираясь на совершенно шизоидную модель обработки сигналов и их перехвата - отнюдь не очень производительно. У лазаруса тож не блестящие обработчики, но хотя бы визуальный конструктор, в общем случае не надо просчитывать, что и куда растянется, что и куда передаст клавиатурный ввод и т.п. Графический интерфейс явы, кстати а) очень медленный и б) нарисован для операционной системы "как картинка" со всеми вытекающими отсюда явлениями. В частности, хрен вы сторонней программой "нажмете" на какой-нибудь элемент управления - это всего лишь координаты области рисования.
2а. Обратите внимание на стандартный интерфейс swing: это, блин, нечто архаичное, собранное из серых полосок. А выглядеть программе одинаково в разных ОС (кроме этого metal) не дают лицензионные соглашения: под linux нельзя рисовать элементы управления, выглядящие "как GDI", под windows недоступны элементы управления x-windows. Хотя, в этом есть что-то.
3. В яве все параметры в функцию передаются только по значению. Это достаёт. Причем, потом таки узнаешь, как параметры в функцию передать по ссылке. :D Еще та методика. Примерно как операция по удалению геморроя через горло.
4. Ява легко декомпилируется в читаемый вид, близкий к оригиналу. Более того, можно в общем случае без декомпиляции напрямую запускать код из сторонних программ, использовать их объекты.
5. В яве чертовски урезанный набор базовых типов. Нет, например, беззнаковых. Вообще. Тоже доставляет. Как и набор классических решений явы "что нужно сделать, чтобы прочитать байт в int, что нужно сделать чтобы записать int в байт и подобное.
6. Чистое imho. Считаю, что человек, которого [нормально] научили программировать на яве, так на ней и останется навсегда. Освоить что-либо другое ему будет сложно и противно.
7. Система принудительного отслеживания exception. Достаёт. Всё требует заворачивать в try, иначе код просто не компилируется.
8. Как тут выше уже поминали, требует установки исполняющей системы. Исполняющая среда, правда, ставится быстро и обычно без проблем (в отличие от .net framework). Проблемы начинаются, когда исполняющая среда отличается от той, на которую рассчитана программа. Особенно доставляет разница в обработке растровой графики Oracle JAVA и OpenJAVA.
9. Книги по JAVA в основном - говно. И чаще всего описывают сто лет назад не используемые на практике и списанные временем технологии.
10. Чтобы программировать на JAVA, нужно знать, КАК то или иное делать и какими средствами. Сам можешь ни в жисть не догадаться. Особенно опираясь на учебники, которые см п. 9. Проверить п.9 - элементарно: ищем главку, посвященную посимвольной обработке строк. Нет упоминания о том, что символ может состоять из более чем одной кодовой точки и того, как с этими кодовыми точками работать - учебник точно говно. :D
11. Информация по JAVA широко представлена в инете. Обильно перемешанная с г-ном. Требуется большое искусство отделить ценные сведения от мусора. Мусора и заблуждений гораздо больше.

Добавлено спустя 3 минуты 42 секунды:
12. JAVA и JavaScript - это разные языки. Вообще разные.

Добавлено спустя 47 секунд:
Перечисления достоинств надо? :o
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Недостатки java?

Сообщение McLion » 17.11.2015 17:22:23

А вообще на форуме паскаля будет сложно что то услышать в пользу явы. Это как на форуме BMW узнать недостадки Audi.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Недостатки java?

Сообщение SSerge » 17.11.2015 17:23:55

13. Система классов чертовски запутана и чрезмерно детализирована. Что приводит к чудовищным многоэтажным конструкциям, например, открытия текстового файла на чтение, при этом надо понимать чем именно занимается та или иная надстройка.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Недостатки java?

Сообщение azsx » 17.11.2015 17:26:50

Перечисления достоинств надо?

да, очень интересно. Много из вашего поста я не знал совсем и не встречал ранее нигде.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Недостатки java?

Сообщение resident » 17.11.2015 17:56:51

SSerge писал(а):Сам можешь ни в жисть не догадаться

Я даже вроде где-то статью видел с названием типа "Как научится программировать на Java и не сойти с ума" :mrgreen:
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Недостатки java?

Сообщение SSerge » 17.11.2015 17:58:27

Достоинства. По просьбе сомневающихся в Пути Джедая. :D

1. Автоматическая сборка мусора. Можно забыть ненужный экземпляр объекта в любом месте. Выйдет из зоны видимости - когда нибудь исчезнет сам и освободит память. Когда нибудь. :wink: Не закрыл файл - закроется сам. Когда нибудь. :?
2. Отсутствие возможности работы с адресами не дает делать финты, приводящие к краху программы из-за того, что код залез не туда куда надо. То есть, в принципе невозможна запись в память за назначенными пределами.
3. Библиотек на яву много. Причем, писали их в основном профи, в отличие от некоторых. Даже стандартный набор весьма впечатляет. Однако ж, нужно знать, чем пользоваться, а чем не пользоваться, чтобы не было мучительно больно - поскольку встречаются взаимоисключающие технологии и подходы. Язык и структура библиотек уже относительно старые, мусора и неудачных решений оставлено много в целях совместимости.
4. Многие интернет технологии, включая например богомерзкий SOAP, исходно произошли из явы и порою только с нею и нормально работают, без всяких ухищрений и костылей. Тот же XML обрабатывается проще, чем в.
5. Под линуксами поставить актуальную яву - без проблем. Поставить актуальный mono... Гм... Только на SUSE Linux, остальные все идут нафиг.
6. Обработка строк, связанная с их сканированием, перебором и серьёзной модификацией, оказывается порою в десятки (!!!) раз быстрее, чем на FreePascal. Причем, в общем случае не надо извращаться с оптимизацией и тщательными раздумьями, сделает или нет вот здесь компилятор фантомную переменную, займется или нет он здесь перераспределением памяти или нет.
7. Результаты вычисления математики на разных процессорах всегда совпадают 1:1. Это особая гордость авторов и реализаторов явы и одна из причин широкого ее распространения в банковском секторе.
8. Легко управляемая многопоточность и возможность построения распределенных вычислительных систем - все средства есть как в самом языке, так и в его библиотеках.
9. Контейнерные типы - вектора, ассоциативные массивы, коллекции - в библиотеках явы действительно пригодны для использования. В отличие от ... , где они годятся только для перечисления элементов на форме и не более, поскольку неэффективны и ущербны.
10. Работа с отметками времени в яве идеологически и технически более правильная, чем никакая в базовых библиотеках FPC.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Недостатки java?

Сообщение скалогрыз » 17.11.2015 18:01:08

azsx писал(а):извините за дилетантский вопрос. Я же правильно понимаю, что firemonkey в делпхи хе - для андроид та же виртуальная машина, как java?

по-моему, Firemonkey под Android это NDK, тобишь это ARM а не java/dalvick. Но т.к. под андройд не пишу, на 100% я не уверен.

Все пишите на яве! ява это круто! :mrgreen:
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Недостатки java?

Сообщение azsx » 17.11.2015 18:04:16

Обработка строк, связанная с их сканированием, перебором и серьёзной модификацией, оказывается порою в десятки (!!!) раз быстрее, чем на FreePascal.

даже не верится. Как же так, ведь паскаль - это компилируемый язык, а ява в виртуальной машине, да еще и каждая строка - объект.
зы
если это правда, то это второй сильный плюс явы для меня, из перечисленных вами.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Недостатки java?

Сообщение SSerge » 17.11.2015 18:10:11

azsx писал(а):если это правда


Это правда, но не совсем. Путем тщательнейшего анализа генерируемого хода и различных хаков, freePascal можно заставить работать со строками существенно быстрее явы, колхозные алгоритмы сегментирования и парсинга без оптимизации в яве оказываются быстрее. У fpc вообще крайне неудачная с точки зрения производительности модель работы со строками, если что. :D
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Недостатки java?

Сообщение azsx » 17.11.2015 18:15:27

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

а у delphi с этим лучше или так же?
зы
например, последний раз я делал выборку из текста, на 1 млрд строк. Делал в делфи, работало всё очень медленно, сутками. При этом выборка по параметру программой grep (линукс) делалась со скоростью чтения файла с диска 100+ м байт в секунду (около 10 минут).
При этом для меня это один из примеров реальной программы которые я делаю.

Добавлено спустя 47 секунд:
зызы
и вот кстати, тщательный анализ, хаки - это не про меня. Я ваще возится терпеть не могу.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

След.

Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

Рейтинг@Mail.ru