Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  07:49[Войти] | [Зарегистрироваться]
Обсуждение темы:
Отношение Паскаль-программистов к 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 сообщение

Добавить свое сообщение

Отслеживать это обсуждение
<<<... | 171—162 | 161—152 | 151—142 | ...>>>
Всего сообщений в теме: 391; страниц: 40; текущая страница: 24


№ 161   12-02-2001 11:50 Ответить на это сообщение Ответить на это сообщение с цитированием
Для Tony:
Я уже писал, в Java я не спец. И как изменяется приоритет сборщика мусора понятия не имею. Я смотрю на Java глазами пользователя, который хочет понять почему его, далеко не слабая, техника еле шевелится под ПО написанным на Java.

Теперь на счет теста:
Мое приложение это прога на Delphi 5, которая делает окно нестандартной формы. Видели Norton CrashGuard? Примерно тоже самое только форма окна сложнее. Само приложение ничего не делает (это был пример использования CombineRgn и SetWindowRgn) это просто одна форма, в памяти оно весит примерно 1,6Mb. Я запускал его и без JBuilder'а, само по себе оно не тормозит, да и чему там тормозить? Все другие приложения отрисовываются нормально и только Java-приложения, которые я перечислил, отрисовывают себя очень долго. Ну очень долго.

Я, специально, ничего не собирался тестировать. Просто так получилось, что в JBuilder'е мне понравилась иконка и я решил посмотреть, как она нарисована. У меня есть приложение типа экранной лупы, которое имеет окно по форме лупы с ручкой, я его запустил и начал водить этой лупой по окнам JBuilder'а. Смотрю, JBuilder очень медленно отрисовывает те места откуда я перемещаю окно-лупу. Вот я и решил посмотреть, что будет если потаскать над JBuilder'ом окно более сложной формы. Результат Вам известен.


№ 160   12-02-2001 11:26 Ответить на это сообщение Ответить на это сообщение с цитированием
Для Tony:
JBuilder отрисовался. CPUTime=0:21:30. Ну как?

А на счет памяти Вы не правы. JBuilder не захватывает сразу все 128Mb. В файле конфигурации Вы просто указываете сколько памяти может использовать JBuilder. Вот и все.

Для iZEN:
"Что ж, сетка может оставаться той же, но дождёмся аппаратного обеспечения персоналок (RISC-процессор 2ГГц, RAM 512Мб, SystemBus 1ГГц) -- может для Java наступит время..."

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


№ 159   12-02-2001 11:26 Ответить на это сообщение Ответить на это сообщение с цитированием
для Казанцев Алексей:
Поправь, если я не прав.
Java ты не знаешь, раз пытаешься приоритет Java в NT повышать (я вообще-то имел ввиду приоритет сборщика мусора, а не виртуальной машины). Тест твой довольно интересный - запускаешь JBuilder, который запускается в VM, потом запускаешь из него собственное сложное приложение, и в результате падения скорости ты определяешь, что Java шпарится. Вопрос на засыпку - если твое приложение запускается без JBuilder - сколько оно весит в памяти и тормозит ли оно ? То, что JBuilder сжирает доступную память - это факт известный, слишком много она грузит для полноценной работы. А когда памяти нет, как известно NT начинает свапить. Забавный вопрос - что считать показателем, что Java не способна выступать в роли полноценного приложения: среду разработки JBuilder или работу конечного готового приложения на Java. Я другой пример приведу. Недавно ради интереса поставил на P133 с 40 мб памяти и 1гб винчестером я HotJava Browser, как говорится, посмотреть, что получится. Броузер этот полностью написан Sun на Java и по возможностям равняется IE 5.5. Честно говоря я и сам не ожидал, что на такой древности заработает - а вот взяло и заработало. Чуть помедленней, чем IE 5.5, но полчаса я уж точно не ждал при отрисовке и занимало приложение в памяти 16 мб (вполне нормально по стандартам Delphi). И еще коварный вопрос - память в Java в основном сжирается Swing - тем же EJB визуализация не понадобится. Так почему же Java на серверную часть не тянет то ? Или клиент - не думаю, что ты будешь сотни окон одновременно открытыми держать. А при разумном подходе к интерфейсу память клиентского приложения весит почти так же, как и писанного на Delphi. Ксати - про производительность в отрисовке. В JDK есть такая интересная демка Java2D - довольно интересно думаю будет тебе посмотреть. Особенно на листинги - как все просто там делается. Только запускай ее напрямую с VM, а не с JBuilder (чего свапить то). И последнее. Много тут говорилось про работу Java. Да вот обсуждали ее все на Windows платформе, а я бы не назвал это показателем. Пример из жизни - машина Athlon 700, 190 mb памяти, IBM 7200, Linux Mandrake 7.2. Запускаем 2 копии JBuilder, из каждой в debug режиме запускаем сложное приложение с swing компонентами, в догонку запускаем в собственной VM демку Java2D и еще парочку демо приложений, написанных с использованием Swing. В Java2D включаем проигрывание музыки MPEG и заодно врубаем стандартный MPeg проигрыватель Linux. Все крутится, вертится, играет и отрисовывается. 2 копии JBuilder исправно работают в debug и трассируют, что надо. Теперь смотрим на результаты: загруз процессора - 80 %, созданный свап - 40 мб. Комментарии я думаю излишни. А сейчас еще делается JOS (Java Operational System) - где виртуальная машина выступает в роли ядра, а поверх все написано на Java. Кому интересно, пусть глянет на www.jos.org, что народ выделывает на Java.


№ 158   12-02-2001 10:30 Ответить на это сообщение Ответить на это сообщение с цитированием
Для Tony:
С памятью я поэкспериментировал. И что? Да ничего не изменилось. Как тормозил, так и продолжает тормозить. Все еще пытается отрисоваться. Изменил, я, приоритет Java-машины на High и в результате тормозить стала уже система ПОЛНОСТЬЮ. В Explorer'е очень трудно переключить окна приложений. Разумеется, что приоритетом можно увеличить скорость дюбого приложения, но в случае с Java-машиной тормозит система. А мне это нужно? Мне точно не нужно, и пользователям, думаю, тоже.

P.S.
Хороша производительность Java если под ее байт-код пришлось процы специальные выпустить. Нечего сказать. Красота. А JBuilder, ксати, все еще отрисоваться не может (CPU Time=0:14:44).


№ 157   12-02-2001 09:58 Ответить на это сообщение Ответить на это сообщение с цитированием
Для Казанцев Алексей:
А попробуй ради прикола исправить в конфиг файлах JBuilder 4 указание на доступную память для JVM с 128 мб (ставится по умолчанию) на 64 мб. А то в твоем случае Java забирает всю твою оперативку и NT начинает свопить, что естественно и приводит к таким диким тормозам. Можешь еще поиграться приоритетом сборщика мусора - тоже неплохо помогает. В общем - сначала настрой JBuilder путем, а потом и тестируй.


№ 156   12-02-2001 09:24 Ответить на это сообщение Ответить на это сообщение с цитированием
Для Александра Киреева:
Сравнивать HAL с эмулятором... и называть эмулятор HAL'ом процессора... все это, мягко говоря, некорректно. Вы понятия не путаете?

Слишком пылко Вы на Lamer'а набросились. Вы знаете о том, как он реализовал свой сервер? Если не знаете зачем кричать всякую ерунду. Он написал, что подключаются НЕСКОЛЬКО клиентов, а не несколько десятков/сотен, а Вы аж до 1000 размахнулись. Нехорошо это, на людей бросаться.

О применимости Java:
В выходные наткнулся на статью в КомпьютерПресс (№6 за 98 год) о смарт-карточках. В ней говорится, что такие карточки имеют чип и виртуальную Java-машину, предназначаются для работы с банковскими счетами, системами безопасности и.т.п. Имеют возможность загружать в себя новые Java-приложения. Продвигется все это фирмой АйТи (кажется). С таким применением я согласен и думаю согласятся многие. Именно в таких областях Java и найдет свое место. Но для клиентских приложений и серверов... Слаба она, слаба.

Для примера:
Александр Киреев говорил, что мерять "втыкливость" Java на примере JBuilder 4 неправильно, но я все-же решился. Дома (Athlon 900/128RAM/HDD 7200 оборотов) я сделал такую штуку: Запустил JBuilder 4, а затем запустил прогу которая делает окно со сложной формой, потаскал над JBuilder'ом это "сложное" окно примерно 10-15 секунд. Результатом я был просто убит. JBuilder не отрисовывал свое окно 31 минуту 15 секунд (процессорного времени). Все это время TaskManager показывал загрузку проца 100% и постоянное пожирание памяти виртуальной машиной. Время которое я указал было в столбце CPU Time, для тех кто не знает, CPU Time это время, которое тратит система на испольнение кода именно приложения, без времени вызовов ядра. Затем пробовал запускать другие Java-приложения (JDBC Explorer, JDataStore Explorer) и тоже "мучал" их окном, история повторилась. Может JBuilder и не является верхом "втыкливости" Java, но ни одна, даже самая тормозная, скомпилированная программа не будет отрисовывать себя полчаса.

Мой вывод:
Java в бытовой технике, карточках, Internet (в качестве апплетов) и.т.п - ДА. Java на стороне сервера (не маленькие скрипты а полноценные приложения) или на стороне клиента - НЕТ. Можете со мной не соглашаться, но это мое отношение к Java.


№ 155   10-02-2001 01:15 Ответить на это сообщение Ответить на это сообщение с цитированием
Для этого есть библиотеки Java2D & Java3D, а ещё кремниевая Java -- picoJava, на которой всё это неплохо работает (покруче Pentium4).
 iZEN


№ 154   10-02-2001 00:06 Ответить на это сообщение Ответить на это сообщение с цитированием
Господи iZEN ну сколько модна брызгать слюной...

Кстати не забывайте что вы здесь в гостях, попрошу
вести себя по приличней, как никак королева присутствует...

Так вот очем я вам скажу молодой человек...
Надо быть проще и понимать простые вещи.
Надо подбирать инструмент соответсвенно работе.
Я могу привести один жестокий пример где JAVA пропадает полностью
привсех своих плюсах.

IMAGE PROCESSING!!!

Но не то возюканье мышой в Adobe PhotoShop, а сшивка, разборка,
фильтрация, интерперетация нехилых обьемов информации где размер в 1G
достигает очень быстро.
Так вот такие задачи вешать еще и на виртуальную машину?
Ну уж нет позвольте...

Так к чему это я тут раззлобствовался...
А к тому что нужно понимать что прогграмирование это не только, и не
столько Internet & Office где действительно JAVA может дать выигрыш.
Существует еще множество других применений куда ей вход просто
заказан.

Так что спасибо вам за лекционный курс по JAVA который вы тут нам всем
прочитали, местами было интересно...
Но компиляторы останутся...
А железки на которых JAVA naitive работает как-то не особо
расспространены, что довольно странно ;(


№ 153   09-02-2001 22:41 Ответить на это сообщение Ответить на это сообщение с цитированием
Обозревая все рассуждения, можно заметить главное:
ещё не настало время для Java -- не хватает быстродействия -- главный аргумент паскалистов.
Что ж, Java пусть ещё поживёт в лабораториях университетов и головах энтузиастов, а для промышленного применения -- ни-ни: только НОРМАЛЬНЫЕ КОМПИЛИРУЮЩИЕСЯ ЯЗЫКИ(Delphi ObjectPascal, C++, VB, а с ними и Fortran, Cobol).
Пусть Микрософт и дальше придумывает способы применения своей COM-технологии, а вместе с ней как перекачать на компьютер пользователя очередной 5Мб ActiveX по модему...:))). Да, а систему придётся заменить на Windows 20..ME, иначе ничего работать не будет. Серверы тоже надо бы заменить на эти, с WinNT/200.., а то тоже ничего работать не будет -- DCOM-технология однако. Вот такая вот распределенная среда в стиле Microsoft.

Java -- технология будущего, удивительно, что SUN предоставила её нам шесть лет назад и развила её именно в тех направлениях, в которых захлебываются традиционные универсальные технологии программирования.
Что ж, сетка может оставаться той же, но дождёмся аппаратного обеспечения персоналок (RISC-процессор 2ГГц, RAM 512Мб, SystemBus 1ГГц) -- может для Java наступит время...

P.S. К паскалистам себя отношу поскольку связан работой на ObjectPascal (TP 5.5 с 1993г., Delphi с 1997г.), будет альтернатива в виде Java -- с радостью покину неуютный уголок -- моё сердце больше не принадлежит Delphi...
 iZEN


№ 152   09-02-2001 20:16 Ответить на это сообщение Ответить на это сообщение с цитированием
Александр Киреев
>Или только создатели Делфи - умные люди, а все остальные - сборище недоумков?
Создатели Дельфи - люди явно неглупые. Особенно в том плане, что они не заявляли шесть лет назад, что через два года ничего не будет кроме Дельфи - на серверах, на клиентах, в холодильниках и мобильниках ;-)


<<<... | 171—162 | 161—152 | 151—142 | ...>>>
Всего сообщений в теме: 391; страниц: 40; текущая страница: 24


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

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

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования