Отношение Паскаль-программистов к Java. |
Доброе время суток. Хотелось бы открыть новую тему для обсуждения на
Базарной площади:
тема:
Java := Си(Паскаль);
содержание: Хотелось бы узнать мнение жителей славного Королевства по
поводу Java - сам я сейчас слезаю с Delphi и перехожу на Borland
JBuilder 4. Интересно что при изучении Java я обнаружил, что хоть по
синтаксису написания Java и смахивает на Си, но по смыслу это больше
напоминает Object Pascal (с Обероном как братья близнецы). Больше
всего поразило, что Java гораздо строже, чем Pascal (чего только стоит
требование описывать методу или обрабатывать генерируемые им
Exception). Также в Java напрочь отсутствует наши любимые по Delphi
Access Violation. Базовые библиотеки гораздо мощнее и продуманней, чем
в Delphi VCL. Пакеты позволяют разделять пространство имен, что
гарантирует их уникальность и снимает головную боль для разработчиков
компонент по поддержке старых версий (думаю что в Delphi 5
одновременно пользоваться еще и VCL от Delphi 3 - это с области
фантастики). Все остальное тоже на высоте - работа с базами данных на
5 (Borland постаралась с учетом ошибок на Delphi), многопоточность -
это часть языка, и много чего еще вкусного. Скорость - не проблема,
как Вы могли бы подумать (не поленился - потестировал - скорость с
приложением на Delphi одинаковая, иногда даже быстрее - это кстати и
не удивительно - в какой то мере со своими RTTI любое Delphi
приложение тоже не тянет на полностью скопилированное в машинный код,
а в Java на это оптимизация предусмотрена). Слабое место - это память
и сборщик мусора. Память жрет неплохо, потому как Java чистый
обьектно-ориентированный язык и в нем обьектами является все, даже
элеиенты массивов. Сборщик мусора в последней версии Java довольно
неплох, но лучше его настроить самому для улучшения
производительности. И еще - начав писать на Java убедился в 2 вещах:
во первых Си диалект вписывается сюда более удачно, чем если бы Java
делалась на Паскаль-диалекте и во вторых - писать программы на Java
быстрее, удобнее и прибыльнее (многоплатформенность, мощные базовые
библиотеки и реклама Sun делают свое дело).
Хотелось бы немного "побазарить" на эту тему с жителями Королевста -
что они думают по поводу перехода на Java - я считаю, что это
следующая ступень в моей жизни программиста, кто то из моих знакомых
считает, что это блажь и надо оставаться на Delphi и ждать 6 версию.
Кто то считает, что я просто пытаюсь сменить рынок на более
разрекламированный и оплачиваемый (и это тоже играло свою роль). Как
говорится вопрос в студию: "Отношение Паскаль программистов к Java".Konstantinov Alex
Всего в теме 391 сообщение
Добавить свое сообщение
Отслеживать это обсуждение 
№ 151 09-02-2001 20:11 |  |
Александр Киреев
>HAL предоставляет стандартный интерфейс для того чтобы ОС однотипно работала с разным железом... нет ничего военного в том, чтобы сделать HAL, который будет представлять точно i486.
Или я что-то не понял, но логически Ваша фраза звучит так: "Педаль газа на всех машинах служит для одного и того же. Нет ничего "военного", чтобы сделать педаль точно для "Жигулей".
№ 150 09-02-2001 20:06 |  |
Александр Киреев
Я нигде не говорил, что JVM только интерпретирует байт-код. Вы же говорите, что она "не только интерпретирует". И в чем тогда Вы меня обвиняете? В том, что Вы жабу любите, а я нет? ;-)
А насчет того, что компилятор для разных платформ сделать проще, чем JVM, это уж Вы перегнули. Попробуйте сделать какой-нибудь простенький, но с поддержкой RTTI.
№ 149 09-02-2001 19:19 |  |
2 Сергей Тарасов
>Эмулятор - это эмулятор, а HAL - это уровень абстракции. Давайте не
>будем играть понятиями. Не сомневаюсь также, что программы для Z80
>работают на эмуляторе под NT на PII-400 быстрее, чем на самом Z80.
Абстрагируются от hardware, а не hardware абстрагируется от чего то. HAL предоставляет стандартный интерфейс для того чтобы ОС(пользователь) однотипно работала с разным железом. HAL процессора звучит странно, потому что различия между процессорами недостаточно велики, чтобы обращать на них внимание. А в принципе, нет ничего военного в том, чтобы сделать HAL, который будет представлять точно i486.
№ 148 09-02-2001 19:07 |  |
Вот еще прочитал:
Lamer
>У меня PIII650, 256RAM, NT4. JB 3,3.5,4, все они недостаточно быстро
>работают. JB3.5 был немного быстрее.
Ни разу не был - в лучшем случае такой же, а то и быстрее (проверено на проектах с 2000+ файлами).
>Но это не решает проблему. Не знаю, по каким причинам все говорят о
>хорошей многопоточности в Java.
Потому, что с ней удобно работать.
>Ни разу не видел нормальной (быстрой) работы. Я делал CORBA-server.
>И, если несколько пользователей начинают одновременно с ним
>работать - все, конец. Причем, для каждого соединения создавался
>отдельный поток.
И это правильно: 100 юзеров - 100 потоков, 1000 юзеров - 1000 потоков и т.д. На каждое соединение выделяются новые ресурсы для потока, когда оно закрывается ресурсы освобождаются. Ура, товарищи! Нет повторному использованию! Долой пулинг!
>Особенно это касается работы со строками. Простой
>пример. Мне нужно сформировать XML, включающий в себя 1000 записей
>из БД. Можно еще проще. Сформировать List из этих 1000 записей. Так
>вот. Перебор 1000 записей занял 5 сек. А с добавлением одного поля
>(String)в List - 18 сек. Ну что? Будем и дальше говорить
>об "огромной" скорости Java?
Конечно будем. Не кажется ли странным, что добавление String'a в List занимает больше времени, чем выборка в 2 раза? Или может это руки? А профайлер не пробовали применить? Говорят помогает.
№ 147 09-02-2001 18:45 |  |
2 Сергей Тарасов
>>Основная задача JVM - не интерпретация кода, а управление >>выполнением: загрузка классов, библиотек, garbage collection, >>предоставление некоего подобия HAL для базовой ОС.
>Если процессор не понимает байт-код, то высказывание неправильное и >JVM его именно интерпретирует.
А я говорил, что VM не обрабатывает (интерпретирует или _компилирует_) байт-код? В чем же неправильность? Зачем развешивать ярлыки: это "правильное высказывание", потому что в нем говорится, что Жаба - это плохо, а это - "неправильное", потому что: (а) в нем освещаются положительные моменты или (б) мне лень подумать/разобраться?
Если бы VM занималась только _интерпретацией_ кода ее бы никто не стал делать - легче сделать компилятор под все платформы и библиотеки (см. Kylix). Вряд ли разработчики Жабы до этого просто не додумались, правда? Или только создатели Делфи - умные люди, а все остальные - сборище недоумков?
№ 146 09-02-2001 18:13 |  |
Александр Киреев
Эмулятор - это эмулятор, а HAL - это уровень абстракции. Давайте не будем играть понятиями. Не сомневаюсь также, что программы для Z80 работают на эмуляторе под NT на PII-400 быстрее, чем на самом Z80.
№ 145 09-02-2001 18:09 |  |
Александр Киреев
А при чем тут Universe Installer? Это как раз тот случай, когда применение жабы некритично в силу "одноразовости". Ну лень было ребятам такую программку на С ваять.
А "компактный" Oracle, если не ошибаюсь, работает даже на 1 Мб ОЗУ, так что жабы там нет. Встроенная поддержка хранимых процедур и объектов на жабе - так это совсем другая песня. Этакая "фича" сейчас на многих СУБД есть, чтобы от моды не отстать.
Чистый же engine на жабе есть у JDataStore. И что-то про него не слышно бурных обсуждений успешно реализованных проектов.
№ 144 09-02-2001 18:07 |  |
2 Казанцев Алексей:
/*
Что значит "HAL процессора"? Такой вообще есть? От чего ему (процессору) абстрагироваться?
*/
Эмулятор Z80 для программы под Спектрум предоставляет HAL процессора, потому что программе все равно на каком процессоре ее запустят (intel, alpha, ppc и т.д.).
№ 143 09-02-2001 17:59 |  |
2 Konstantin:
/*
Кстати, фирма Oracle позиционирует свой сервер на 28 платформах и являться самой быстрой базой на большинстве из них. И все это без всякой Java. ТАк что переносимость вопрос весьма второстепенный.
*/
Правда? А на чем, извините, написан Universal Installer к 8i? А еще я слышал, что есть маленький Оракл (под палмы или вроде того), который вообще весь на Жабе. Не буду оценивать эти решения, но ваше утвержение вызывает сомнение в знании вопроса даже у не-специалиста (меня).
№ 142 09-02-2001 16:51 |  |
Кстати, фирма Oracle позиционирует свой сервер на 28 платформах и являться самой быстрой базой на большинстве из них. И все это без всякой Java. ТАк что переносимость вопрос весьма второстепенный.
Производительность как правило важнее.
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|