|
|
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Из ознакомления с буржуйскими книгами следует, что там, в буржуинстве эта среда очень даже широко используется для создания корпоративных приложений. Мне интересно, а в России кто-нибудь использует java для тех же целей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 17:53 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Да пишут, пишут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 17:56 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Пишут - по типу Клиент (браузер) - Приложение( Tomcat-Servlets) - База (Oracle) со всеми зонами разработки, тестирования и эксплуатации. Все по серьезному для серьезного заказчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 11:11 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
А чем объясняется тот факт, что данная среда (язык) для этих целей в России распространены гораздо слабее, чем, например Delphi или С++? Все дело в слабой активности Sun, или есть другие причины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 11:43 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
На Delphi и C++ под Web вряд ли пишут, это для другого, а распр. они наверное потому что в институтах и универах по ним учат и большенству проще интерфес с БД реализовать как-нибудь на дельфи А по большому счету, главный конкурент яве ( и J2EE собственно ) это Microsoft со своим C# и .Net, а еще у них неплохо продвинут ASP ( аналог ему JSP ). Не знаю как в Москве, но у нас по Java в книжных магазинах стало появляться что то путнее где-то последние года 2, а так ,все по Microsoft-у полки завалены. Но вроде как ситуация поправляется, народ стал интересоваться :) P.S. лично мое мнение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 12:11 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
sanek842 , Значит ты согласен с тем, что это распределение связано просто с неточной информацией для "населения" (ее отсутствием)? Хорошо хоть сейчас есть сеть и можно спокойно обсудить достоинства и недостатки того или иного инструмента, а не бежать туда, куда ломанулось стадо. А под "корпоративными приложениями" я подразумевал как раз не Web, а обычные приложения, используемые предприятиями для своих повседневных нужд. Они чаще всего не web, хотя почему бы им и не быть web? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 12:26 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
ну а если не Web, тогда Java, на мой опять же взгляд, не самый лучший вариант. Это вариант на случай если нужна кроссплатформенность, но вряд ли кто из простых пользователей сидит под Linux. Я долго занимался VC6.0++, одни тамошние средства отладки чего стоят, да и удобен в исп-ии. Где-то год назад писал на Си клиент-серверное приложение с исп. TCP, серверную часть писал тоже сам, чтобы избавить заказчика от установки oracle-клиента ( иначе мне бы пришлось по командировкам ездить ). Все это нормально работает, только единственное, что меня уже достало, это они там попросят что-нибудь добавить, приходится всем новую клиентскую оболочку рассылать, а порой в серверной части искать пути поддержки клиентов старых версий. Вот оно где и вылазит, писал бы под Web, было б проще. Хотя среде отладки нужно отдать должное Microsoft-у и Borland-у. А насчет стада тут еще как посм., если ты работаешь в команде над общим проектом то всеравно лучше чтоб использовалось что-то одно, да и спросить есть у кого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 13:27 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
sanek842 , А я начинающий. У меня сейчас техподдержка-дороботка маленькой программки на VB, из-за того, что криво написано и на таком плохом языке, поддерживать ее очень неудобно. Предметную область и требования я впитал. Хочу переписать ее в чем-нибудь более подходящем, найти человека на поддержку и вести более размеренную жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 11:42 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
sanek842а еще у них неплохо продвинут ASP ( аналог ему JSP ). Не знаю как в Москве это с какой стороны "аналог"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 16:47 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
а еще у них неплохо продвинут ASP (аналог ему JSP). Не знаю как в Москве Хехе.. Зато анолог ASP.NET не найти.. :) Для корабля, который не знает куда плыть, нет попутного ветра... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 17:21 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
анолог Вот, блин, описка тупая! аналог. Для корабля, который не знает куда плыть, нет попутного ветра... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 02:57 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
ну вот придрались :) я просто когда был на конференции, Мирончик ( препод такой есть ) слегка провел параллель между ASP и JSP. Внятно я всеравно не смогу все объяснить, может это сделает кто-то другой. На ASP никогда не писал, но знаю что там тоже многое можно делать, вставлять JScript или VBScript, обращаться к COM-объектам, примерно такие же обращения к БД, но все это исполняется я так понимаю, как интерпретатор ( в отличие наверное от ASP.Net ), а JSP при первом обращении, делает байт-код и дальше работает как сервлет. К тому же тут приемущества идут уже не то что там в JSP можно больше делать, а в самом механизме контейнеров, тут же и load balancing, если нада, вот есть кластер, надежность распределения запросов, неплохая схема аутентификации типа JAAS. И при всем при том, что по идее Web сервер должен стоять на стабильной ОС и преднозначенной для администратора, а не для пользователя ) скланяет к выбору application серверов под J2EE. ну, поправьте, если я где заблуждаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 07:21 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
все это исполняется я так понимаю, как интерпретатор ( в отличие наверное от ASP.Net ) Ага. Там тоже ASP.NET есть JIT. Блин, я как будто рекламирую.. :) Для корабля, который не знает куда плыть, нет попутного ветра... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 13:30 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Выбирайте ASP .NET или, если Java, то JSF или Tapestry. А вообще-то, поверьте опыту работы как с .NET так и с Java: Если Вам не нужет MS Office - выбирайте Java, поскольку, когда что-либо не работает, то всегда можно посмотреть исходники, а в .NET - NET. И вообще по Java работа кажется продвигается медленно, но ощущении надежности горазда выше, чем при работе с .NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 15:28 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Если разработка ведется для фирмы, использующей только продукты Microsoft, было бы странно писать на Java. На ASP.NET как раз удобно разрабатывать тяжелый web-интерфес для корпоративных приложений, и WinForms лучше выглядят и проще делать. Однако на Java в данный момент больше бесплатных библиотек с открытым кодом, например, для объектно-реляционного отображения. Собственно говоря, многоплатформенность и возможность свободно переходить от одной базы данных к другой - тоже плюс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 20:22 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Ustazz <На ASP.NET как раз удобно разрабатывать тяжелый web-интерфес для корпоративных приложений А вы в этом разбираетесь? Возможно ли вообще переписать несложное корп. приложение под один web-интерфейс, чтоб на клиента ничего не ставить? Логика представления при этом тоже на сервере будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 21:49 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Одно из преимуществ web-приложений в том, что на компьютер пользователя не придется ничего ставить, кроме браузера. Если в приложение вносятся изменения, все пользователи одновременно начинают работать с новой версией. В случае специального клиентского приложения, пользователям (или администратору) пришлось бы устанавливать его на все машины. При этом требовалось бы поддерживать и новую и старую версии системы. Под тяжелым web-интерфейсом я имел ввиду, страницы размером до 200 кБ, с сохранением состояния между перезагрузками, поддрежкой компонентно-ориентированной модели программирования, сложной логики работы интерфеса пользователя. В интрасети такое можно сделать на ASP.NET достаточно легко. На Java, думаю, тоже, но использовать нужно не сервлеты и JSP, а что-то более высокоуровневое, например, упоминавшиеся здесь JSF и Tapestry. Использовать один, несколько web-интерфесов или спец. клиенты зависит от задачи. Web может работать и быстрее и медленнее по сравнению с обычным приложением, но зато возможностей для оптимизаций и кеширования данных на разных уровнях больше. Логика представления будет большей частью на сервере. Конечно не очень бытро, но в интрасети терпимо. И еще по поводу "распределения". Java у нас не распространен, ибо подавляющее большинство пользователей используют операционную систему и другие продукты сами знаете какой фирмы. Если не нужна многоплатформенность, зачем использовать более сложный подход? Если нужно взаимодействовать с MS SQL, управлять оборудованием через COM-объекты, работать с данными из Active Dircetory, отсылать письма через CDO и обрабатывать Word и Excel документы, Java не самый удачный выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 02:43 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
to Valery Shiskin > Если Вам не нужет MS Office - выбирайте Java Хотелось бы поодробнее узнать, почему если не нужен MS Office - выбирайте Jаva. Что Java с мс офисом не дружит. Объясните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 10:38 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
vmkz777 имеется ввиду Microsoft Office. Для работы со Star Office или Open Office Java даже очень хороша ( и, по моему даже лучше чем .NET + MS Office 2003 ) Для c MS Office есть хорошие разработки например POI от Jakarta/Apache, но это не то. Да можно создать таблицы excel или документы word, но создать приложение, такое как .NET + Office или Java + Star Office ( события генерируемые элементами офисных документов и упр. эл-ов VBA и .т.д ) невозможно ( без страшных извращения типа win32 + COM + JNI ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2004, 13:57 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
В России не знаю а вот у нас в Казахстане самые популярные языки Java и C# Дельфи и все дерьмо собачее под Windows дерьмовщины. А насчет корпоративных приложении для БД у нас в основном пока на PowerBuilder & C# пишут, но вот наша компания обной из первых взялась на Жава писать, вот уже пол года как на Жава пишу, когда то был сторонником Дельфи, но со временем Жава больше понравился, удобный язык, особенно пишешь под Windows или Linux и спокойно на IBM OS запускаешь. Просто супер. Я вам скажу Жава очень сильный язык в сетевых технологиях. Сам пишу и приятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 13:28 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
VortexCorbaВ России не знаю а вот у нас в Казахстане самые популярные языки Java и C# Дельфи и все дерьмо собачее под Windows дерьмовщины. бла-бла-бла Нуну, не надо брызгать слюной по поводу выньдоса. Тот же самый ЦеШарп работает только под оную пока ещё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 14:58 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Какой интересный топик вылез :) Не зависимо от того является ли клиент web или gui-приложением, плюсов java это не умоляет. Вся логика и трудность программирования в корпоративном приложении сосредоточена в серверной части. На краййййййний случай (если машины у клиентов оч.слабые), никто не мешает написать клиента на С++ :) Хотя резона в этом чертовски мало. Все это нормально работает, только единственное, что меня уже достало, это они там попросят что-нибудь добавить, приходится всем новую клиентскую оболочку рассылать, а порой в серверной части искать пути поддержки клиентов старых версий. Вот оно где и вылазит, писал бы под Web, было б проще. Добавить autoupdate на клиенте чем не решение всех проблем? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2004, 12:15 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsКакой интересный топик вылез... Аха. Этот паря все архивы поднимает, похоже. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2004, 12:22 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Непосредственно по subj : Пишем системы технического обслуживания для телекомунникационного оборудования, системы класса CRM. схема стандартная : тонкий клиент + app.server (jboss или tomcat) + RDBMS сервак(и). есть отдельные элеиенты на CORBA (JacORB 2.x). целевая платформа - JDK 1.4.x ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 13:54 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
ОселА чем объясняется тот факт, что данная среда (язык) для этих целей в России распространены гораздо слабее, чем, например Delphi или С++? Все дело в слабой активности Sun, или есть другие причины? Неплохого дельфиста монжно в принципе найти за $400-500 / месяц. более-мене адекватный жаба-программер будет стоить $700 - $1000 / месяц. Учитывая ,что за буржуинский софт в нашей стране платить не принято - зарплата программеров одна из основных статей в себестоимости проекта. Дальше объяснять надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2004, 13:58 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
VortexCorba Код: plaintext 1. Неверная информация. Всегда Delphi в Казахстане шел на первом месте. И сейчас идет. Но сильно сдает позиции C#. Мое мнение С# окончательно вытеснит Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 10:39 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
sanek842ну а если не Web, тогда Java, на мой опять же взгляд, не самый лучший вариант Готов поспорить, что если и не лучший то один из лучших. У нас в конторе все только на жабе и пишется, очень удобно(особенно для работы с БД) и это отнюдь не Web а обычные GUI applications, правда работают ч/з WebStart. c++ вообще не прижился, а о delphi мы и не вспоминаем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 11:38 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Pilot[quot ]а еще у них неплохо продвинут ASP (аналог ему JSP). Не знаю как в Москве Хехе.. Зато анолог ASP.NET не найти.. :) [quot] Jakarta Tapestry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 08:52 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Sun кричит о том что его ПО самое надежное в мире. Но это справедливо в том случае, если этот софт стоит на Sun-овском железе под операционкой Солярис. Если СУБД - то только Оракл. Если сервер приложений то только Java. Если в Sun-машине поломается кулер - то вызывать нужно сертифицированного спеца .... по Sun-железу. Так-то. Нам такие расклады не подходят по ряду экономических причин. Вот и работаем на самом различном портированном софте. А про железо и говорить нечего... сами собираем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 09:02 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Большинство из вас, когда пишете на жава, вы RAD(JBuilder) пользуетесь или jdkx.x(sun)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 12:13 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
GammiBearНеплохого дельфиста монжно в принципе найти за $400-500 / месяц. более-мене адекватный жаба-программер будет стоить $700 - $1000 / месяц. Я бы отметил другой факт. Производительность этого жаба-программера в жанре корпоративной БД будет раза в три меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 12:59 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
saysuБольшинство из вас, когда пишете на жава, вы RAD(JBuilder) пользуетесь или jdkx.x(sun)? а че - jbuilder не использует разве jdk? молодцы они все-таки! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 13:07 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 13:49 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
saysu Код: plaintext посмотри в сторону intellij idea (это по поводу - с чего начинать). мне кажется, надо быть полным извращенцем, чтобы в блокноте сделать веб-приложение, состоящее из (хотя бы) 30 классов, имеющее несколько тысяч строк кода и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 14:05 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
авторsaysu http://www.citforum.ru/internet/javascript/crjp/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 17:23 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
автор2 Alexey Popov сэнкс, то что нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 08:57 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
автор Неверная информация. Всегда Delphi в Казахстане шел на первом месте. И сейчас идет. Но сильно сдает позиции C#. Мое мнение С# окончательно вытеснит Delphi. Дельфи уже отстал. На нем пишут школьники. И воаще не сравнивай Жаву и Дельфи. Это как небо и земля. Дельфи: Гуд сайт: Очень удобный интерфейс. Писать очень легко. Бэт сайт: Под Виндоус. Не устойчивый. Например если в DBGrid загрузить много инфы, прога просто молчит, зависает, и не только прога, а вес виндоус. Только визуально программирование. Под Дос у него идет паскаль, что то похожее, херня короче. В Net технологоиях отстает Жавы на миллион км. Проги написанные на Дельфи весят очень много. Жава: Гуд сайт: Платформно независимый. Можно и на блокноте писать, лиж бы ЖДК был. Мало занимает. В сетевых техн. просто монстр. J2EE+J2SE просто супер технологии. Можно одновременно писать и веб и простые приложения. и т.д Короче много плюсов. Бэт сайт: Ну даже не знаю, может то что он медленее чем Си работает. Хотя Жава2 почти не отстает. Короче Жава рулез С#, дельфи, и все прочее must die ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 11:21 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
VortexCorba Дельфи уже отстал. На нем пишут школьники. Ну зачем же так категорично-то? VortexCorba И воаще не сравнивай Жаву и Дельфи. Это как небо и земля. Это другой разговор, но дело вовсе не в "школьности". Просто RAD есть RAD. VortexCorba Дельфи: Бэт сайт: Под Виндоус. Для 90% российских юзверей (sic!) - некритично. Для остальных есть kylix и qt. VortexCorba Не устойчивый. Например если в DBGrid загрузить много инфы, прога просто молчит, зависает, и не только прога, а вес виндоус. 180220 записей - это достаточно много? Странно, ничего не тормозит, пока fetch all не сделаешь. Хотя я не уверен, что это именно DBGrid, но написано на дельфях - 100%. Хотя... Можно конечно попробовать загрузить тот же объем в JTable, но не думаю, что результат fetch all от этого будет сильно различаться. VortexCorba Только визуально программирование. Да ну?!!!!!! :D VortexCorba Под Дос у него идет паскаль, что то похожее, херня короче. Вот так сравнил! BTW: а что у джавы идет под ДОС? Нет, не под виндовую консоль, а под MS-DOS v 6.22? Хотя бы JDK 1.4 есть? А если нет - какой смысл с досовым паскалем сравнивать? VortexCorba В Net технологоиях отстает Жавы на миллион км. Не в курсе, а что там есть в смысле .Net у джавы? VortexCorba Проги написанные на Дельфи весят очень много. Смотря как писать. И с чем сравнивать. VortexCorba Жава: Гуд сайт: Платформно независимый. Да, конечно, но для клиентских машин - не такой уж это и плюс. А как server-side Delphi вроде и не обсуждается. VortexCorba Можно и на блокноте писать, лиж бы ЖДК был. В дельфях тоже можно. Теоретически. VortexCorba Короче Жава рулез С#, дельфи, и все прочее must die Короче ерунда это все. Совершенно разные средства программирования, по разному заточенные и на разные вещи нацеленные. Оба одинаково хороши, если применять по назначению. А сравнивать их - все равно что тольчь воду в ступе ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 14:01 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
VortexCorbaДельфи уже отстал. На нем пишут школьники. И воаще не сравнивай Жаву и Дельфи. Это как небо и земля. Безусловно - разные вещи. VortexCorbaДельфи: ....Не устойчивый. Например если в DBGrid загрузить много инфы, прога просто молчит, зависает, и не только прога, а вес виндоус Не соответствует действительности. В DBGrid физически невозможно загрузить много информации - он является виртуальным окном над датасетом, и информации в нем ровно столько, сколько строк помещается на экране. Я верю, что Вы как-то добились этого эффекта. Но - полагаю, то что выше уже показывает, насколько серьезно Вы этим занимались. А закона кривых рук еще никто не отменял. VortexCorbaПод Дос у него идет паскаль, что то похожее, херня короче. Дельфа не идет под ДОС :) Но как язык, Object Pascal продвинутей Java - это мое личное мнение, которое, если хочется, можно обсудить отдельно. VortexCorbaВ Net технологоиях отстает Жавы на миллион км. Да, собственно, и не предназначался для них. VortexCorbaПроги написанные на Дельфи весят очень много. "Очень много" - сложный вопрос. Дистрибутив проги на дельфе весит много меньше дистрибутива проги на джаве. VortexCorbaМожно и на блокноте писать, лиж бы ЖДК был. Как и в дельфе. Соответственно, не вижу смысла относить это к плюсам в сравнении. VortexCorbaБэт сайт: Ну даже не знаю, Хм. Бэт сайт: нормальное клиентское приложение на нем.. я пока не видел. Дико тяжелые, дико тормозные. Можно, конечно, сказать, что Borland и Oracle не умеют писать на Java - комментировать не буду. Бэт сайт: JDK - плохо проработанный продукт как минимум в части оконного интерфейса. Очень мощный, но с соответствующим количеством недоделок и неудачных решений. Особенно неприятно, что он неконтролируемый. Типа - вывалил printStackTrace() и продолжает работать; с точки зрения пользователя - при нажатии на кнопку просто ничего не произошло. Бэт сайт: глупости в языке и библиотеке. Например, отсутствие enumeration. Например, возврат функции необходимо проверять на null, на length = 0 итп - и при этом помнить, что из нее запросто может вылететь exception, хотя никакого throws у нее не объявлено. Вообще, много всего по мелочи. Бэт сайт: очень громоздкий код. Обратная сторона мощности - но тем не менее, большой минус. Практически эквивалентный код на дельфе выглядит вдвое, если не втрое короче. Резюме: главное достоинство Java - очень мощное api, а также VM, приспособленная к решению сетевых задач (ClassLoader-ы итп). Главное достоинство дельфы - возможность быстрой разработки качественного кода в широком спектре клиентских приложений. Области практически не пересекаются - хотя борландеры и пытаются лезть в веб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 16:23 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer VortexCorbaДельфи: ....Не устойчивый. Например если в DBGrid загрузить много инфы, прога просто молчит, зависает, и не только прога, а вес виндоус Не соответствует действительности. В DBGrid физически невозможно загрузить много информации - он является виртуальным окном над датасетом, и информации в нем ровно столько, сколько строк помещается на экране. Я верю, что Вы как-то добились этого эффекта. Но - полагаю, то что выше уже показывает, насколько серьезно Вы этим занимались. А закона кривых рук еще никто не отменял. IMVHO 90% тех, кто добивается этого эффекта, добиваются его примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... ну или другой вариант классических граблей с FetchAll. Причем есть IMHO #2, что в java на эти грабли наступают не сильно реже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 19:49 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Не удержался, сорри :) softwarer VortexCorbaБэт сайт: Ну даже не знаю, Хм. Бэт сайт: нормальное клиентское приложение на нем.. я пока не видел. Дико тяжелые, дико тормозные. Приведу в пример IntellejIdea. Эта IDE полностью написана на Java. С функциональностью сравнится разве что бог. Занимает 50мб в отличии пары дисков ЖБорланда. Можно, конечно, сказать, что Borland и Oracle не умеют писать на Java - комментировать не буду. Я тоже не буду, т.к. не видел их клиентских приложений. Бэт сайт: JDK - плохо проработанный продукт как минимум в части оконного интерфейса. Очень мощный, но с соответствующим количеством недоделок и неудачных решений. Использование "как минимум" граничит с использованием заголовков типа "папа съел своего ребёнка" в желтой прессе. Если не понимать как работает решение, это не значит, что оно неудачное. Swing'и великолепно проработаны. Где там "соответствующее кол-во недоделок", мне лично не понятно. Особенно неприятно, что он неконтролируемый. Типа - вывалил printStackTrace() и продолжает работать; с точки зрения пользователя - при нажатии на кнопку просто ничего не произошло. Если программист решил не обработать Exception, а вывалить его в консоль или отдать эту функцию VM - это проблемы программиста, а не Java. В java API этим не балуются. А кстати, вариант повиснуть/выпасть лучше? :) Бэт сайт: глупости в языке и библиотеке. Например, отсутствие enumeration. Есть. Например, возврат функции необходимо проверять на null, на length = 0 итп ?! я тут чуть не упал вместе с коллегами. - и при этом помнить, что из нее запросто может вылететь exception, хотя никакого throws у нее не объявлено. Не обработанные самой функцией RuntimeException's и Error's - это ошибки программиста. В релизе, такие ошибки не должны возникать. Если кто-то использует из вместо Exception - не надо нанимать школьников. Вообще, много всего по мелочи. Имхо, эти мелочи следствие не понимания языка, используемых в нём паттернов. Бэт сайт: очень громоздкий код. Обратная сторона мощности - но тем не менее, большой минус. Практически эквивалентный код на дельфе выглядит вдвое, если не втрое короче. Cкриптовые языки требуют ещё меньше места, это же не вовод всё бросить и писать на них? :) Хотя был тут один человек, который говорил, что php >> java. Я писал только на паскале, с дельфи дела не имел, поэтому приходится верить вам на слово. Но даже если это так, то этот параметр имеет значение только для маленьких приложений. Как только скелет приложения определён (ой как грубо), размер уже не имеет значения. Разработка/доработка/поддержка - это уже игра вокруг классов, все рефакторинги которых автоматизированны (почти все, IDEA). Работать со множествно небольших методов (всумме занимающих в 2 раза больше строчек, чем один большой) на порядок удобнее чем с одним большим. Короче, не вижу бед сайт. Резюме: главное достоинство Java - очень мощное api, а также VM, приспособленная к решению сетевых задач (ClassLoader-ы итп). Главное достоинство дельфы - возможность быстрой разработки качественного кода в широком спектре клиентских приложений. Области практически не пересекаются - хотя борландеры и пытаются лезть в веб. Учитывая, что клиентские приложения в основном мальнькие прилепки к БД или серверам, так оно и есть. Из пушки по мухам не бьют :) (опять не удержался :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 10:30 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
fyndaПричем есть IMHO #2, что в java на эти грабли наступают не сильно реже. Я когда-то смотрел, как это делать в java. Google - выдал, разумеется, кучу ссылок, из которых на первой странице на разные лады повторялся примерно одинаковый код заполнения DefaultTableModel из ResultSet-а - само собой, с fetch all. То есть - не было даже автоматизации модели с fetch all; модели без fetch all я вообще не нашел (P.S. Речь идет о JDK 1.3 - потом, может быть, и появилась). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 14:29 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsИспользование "как минимум" граничит с использованием заголовков типа "папа съел своего ребёнка" в желтой прессе. Использование "как минимум" означает, что я знаю далеко не весь JDK, и поэтому не хочу наговаривать на неизвестные мне модули, которые, возможно, реализованы хорошо. NotGonnaGetUsЕсли не понимать как работает решение, это не значит, что оно неудачное. Swing'и великолепно проработаны. Где там "соответствующее кол-во недоделок", мне лично не понятно. Не напомнишь, в какой версии JDK появилась такая крайне сложная и необычная процедура, как "максимизировать окно"? Великолепно проработаны - пока не начинаешь использовать. Скажем, тривиальная такая задачка: имея строку "A / B / C", сгенерировать cоответствующий пункт меню (то есть - найти/создать подменю A, в нем найти/создать подменю B, в нем создать пункт C). Посмотри для интереса - сколько идиотских действий при этом нужно совершить. NotGonnaGetUsЕсли программист решил не обработать Exception, а вывалить его в консоль или отдать эту функцию VM - это проблемы программиста, а не Java. В java API этим не балуются. Если бы так.. exception while event dispatching - и стек в консоль. Помню, видел не раз. При этом - стоит помнить, что исключение запросто выпадает даже из подпрограмм, в которых никаких throws нет. А потому, практически единственный путь защититься - писать безусловный catch в каждой функции. NotGonnaGetUsА кстати, вариант повиснуть/выпасть лучше? :) Лучше - предусмотреть разумную реакцию по умолчанию (выдавать окно с сообщением) и дать программисту изменить эту реакцию на ту, которую хочет он. NotGonnaGetUs Бэт сайт: глупости в языке и библиотеке. Например, отсутствие enumeration. Есть. Значит, невнимательно слежу за развитием. Ссылочку можно - типа, ключевое слово? Может, и break-и в switch-е уже не нужны? NotGonnaGetUsя тут чуть не упал вместе с коллегами. Рад за ваш моцион. NotGonnaGetUsНе обработанные самой функцией RuntimeException's и Error's - это ошибки программиста. Факт. Вопрос только - какого программиста. Если из класса JDK вылетает что-нибудь типа NullPointerException - я знаю, какого программиста это ошибка. Да, причина кроется в том, что этот JDK-шный класс попытались использовать как-то так, как автор не предполагал. И если бы оттуда вылетел разумный Exception - все было бы как надо. А если идет такая хрень - увы. NotGonnaGetUsИмхо, эти мелочи следствие не понимания языка, используемых в нём паттернов. В чем-то, наверняка так. Странно, однако, что я пользовался как минимум десятком языков, разумеется, далеко не все детально изучал - и только джава создала такое впечатление. NotGonnaGetUsCкриптовые языки требуют ещё меньше места, это же не вовод всё бросить и писать на них? :) Не повод. Но это именно один из факторов, который влияет на выбор. Грубо говоря, есть область, в которой разумно применять скриптовые языки и есть область, в которой разумно применять джаву. NotGonnaGetUsЯ писал только на паскале, с дельфи дела не имел, поэтому приходится верить вам на слово. Ничего не имею против - но, полагаю, стоит понимать, что в такой ситуации Ваши возможности объективно сравнивать заведомо ограничены. Как, само собой, и мои - я не считаю, что хорошо знаю джаву. NotGonnaGetUsНо даже если это так, то этот параметр имеет значение только для маленьких приложений. Как только скелет приложения определён (ой как грубо), размер уже не имеет значения. Не соглашусь. Размер и сложность кода прямо влияет на читаемость и все вытекающие из нее параметры - количество мелких ошибок, сложность отладки и сопровождения. NotGonnaGetUs Разработка/доработка/поддержка - это уже игра вокруг классов, все рефакторинги которых автоматизированны (почти все, IDEA). Работать со множествно небольших методов (всумме занимающих в 2 раза больше строчек, чем один большой) на порядок удобнее чем с одним большим. Хм. Я как-то написал выражение, которое на Java требовало 14 открывающих и закрывающих скобок. На дельфе аналогичное потребовало бы четырех. Это уже не имеет отношения к рефакторингу :) Да, в итоге, само собой, я переписал это выражение в виде присваиваний двум или трем промежуточным переменным. Так оно стало более понятно, нежели в оригинальном виде - и осталось менее понятно, чем то же в простом виде. Что касается рефакторинга - сам по себе он хорош. Но от того, что это выражение можно выделить в отдельную функцию (не имеющую абсолютно никакого самостоятельного смысла), большого выигрыша нет. Да и маленького тоже. NotGonnaGetUs Короче, не вижу бед сайт. Не удивлен. Каждый из нас смотрит сквозь призму своих задач - а задачи подбираются под используемый инструмент :) NotGonnaGetUs Учитывая, что клиентские приложения в основном мальнькие прилепки к БД или серверам, так оно и есть. Это крайне сильное утверждение. Впрочем, учитывая убогость веб-интерфейса, его источники вполне понятны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 15:00 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer fyndaПричем есть IMHO #2, что в java на эти грабли наступают не сильно реже. Я когда-то смотрел, как это делать в java. Google - выдал, разумеется, кучу ссылок, из которых на первой странице на разные лады повторялся примерно одинаковый код заполнения DefaultTableModel из ResultSet-а - само собой, с fetch all. Ну да, а отсутствие в стандартной поставке хотя бы самого общего, но правильного примера реализации SQLQueryTableModel только усугубляет ситуацию. Ведь на первый взгляд все так просто: сделал FetchAll, табличка заполнилась и голова не болит. И пока база пустая - все просто летает. А что там будет у пользователя через полгода - ну разве это кого волнует... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 16:16 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsИмхо, эти мелочи следствие не понимания языка, используемых в нём паттернов. Раз уж вспомнил: каким именно паттерном языка объясняется невозможность написать Код: plaintext 1. Почему я обязан писать что-то типа (Throwable t), если мне совершенно неинтересен этот t? Или каким паттерном объясняется, что код Код: plaintext 1. 2. 3. 4. 5. работает, а код Код: plaintext 1. 2. 3. 4. 5. 6. не компилится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 17:44 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
По правилам Java вызов конструктора базового класса должен быть первым предложением в описании конструктора производного класса. А почему - ... его знает. Где-то прочитал, чтобы не было возможности перехватывать исключения, возбуждаемые в базовом классе в конструкторе производного класса. Короче - нельзя так делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 18:37 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer Это бы и в C++ и в C# не скомпилировалось и мне, например, даже в голову бы не пришло Так что ясно - C++ и java и C# - неправильные языки - правильный - это конечно pascal... про Throwable не понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 19:12 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
По правилам Java вызов конструктора базового класса должен быть первым предложением в описании конструктора производного класса. А почему - ... его знает. Потому что конструктор - это не виртуальная функция... Так что у нее свои правила ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 10:52 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Anatoly KПо правилам Java вызов конструктора базового класса должен быть первым предложением в описании конструктора производного класса. А почему - ... его знает. Где-то прочитал, чтобы не было возможности перехватывать исключения, возбуждаемые в базовом классе в конструкторе производного класса. Короче - нельзя так делать. Что нельзя - я в курсе. Обратите внимание: два описанных фрагмента - эквивалентны (если не считать дополнительной области видимости переменной). И первый из них - нормально работает, допустим и не вызывает ни проблем, ни вопросов. То есть - вместо действительного, разумного критерия, определяемого реализацией, проверяется чисто формальный критерий, не имеющий физического смысла ("первая строка"). Вот именно это я и называю глупостями языка. И просил привести "паттерн", которого я при этом не понимаю. Само по себе требование вызывать super до остального - скажем так, в случае java я не вижу в этом однозначной необходимости, но не более того. Anatoly KЭто бы и в C++ и в C# не скомпилировалось В "идеологичном" C++ такое нельзя написать синтаксически (поскольку родительские конструкторы вызываются отдельно), и тому есть причина - проблемы реализации множественного наследования. Да, туда добавили вариант синтаксиса с конструкторами после "{" - в рамках всегдашней сишной необходимости примирять плохо совместимые реализации. Не более того. В джаве это - не обусловлено совершенно ничем. funikovyuriТак что ясно - C++ и java и C# - неправильные языки - правильный - это конечно pascal... Нечего сказать, поэтому начинаешь ерничать. Достойно и красиво. funikovyuriпро Throwable не понял... Раз уж тебе нравится идея "правильности"... В дельфе при желании я могу написать: Код: plaintext 1. То есть - обработать все возможные ошибки одним универсальным обработчиком. В джаве - я обязан при этом писать лишние слова, то есть просто Код: plaintext не компилируется. Опять же - мелкая раздражающая деталь, необходимости в которой нет совершенно никакой. И таких деталей - мягко говоря, хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 12:28 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
author ляляля.... В дельфе при желании я могу написать: Код: plaintext 1. То есть - обработать все возможные ошибки одним универсальным обработчиком. В джаве - я обязан при этом писать лишние слова, то есть просто Код: plaintext не компилируется. Опять же - мелкая раздражающая деталь, необходимости в которой нет совершенно никакой. И таких деталей - мягко говоря, хватает. не понял, а если вот так: Код: plaintext 1. 2. 3. 4. 5. Запарили уже засирать языки. Каждый пишет на том на чем нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 14:03 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Гости SoftwarerВ джаве - я обязан при этом писать лишние слова, то есть просто не понял, а если вот так: Говорю же: обязан писать лишние слова. И, кстати, не Exception, а Throwable - через написанное Вами куча исключений отлично провалится. Это, кстати, очень показательный момент, поскольку повсеместная ошибка программирования на Java. Случается следующее: пользователь нажимает кнопку, в обработчике происходит что-нибудь типа VerifyError, NullPointer итп, оно проваливается сквозь такой catch - и в результате с точки зрения пользователя "программа молча ничего не сделала, словно и не нажимал", а где-нибудь в stdout появляется сообщение об ошибке. Это - почти худший из возможных вариантов поведения программы в такой ситуации. Хуже только "молча падать". ГостиЗапарили уже засирать языки. Хм. С моей точки, "засирать" - это начать обсуждение "на дельфе не писал, но DBGrid виснет". Безусловно, любые темы сравнения флеймовы, но при корректном подходе в них можно найти пользу - и я стараюсь удерживаться именно в этих рамках. Гости Каждый пишет на том на чем нравится. Я бы сказал - на том, что требуется исходя из задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 15:56 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer В "идеологичном" C++ такое нельзя написать синтаксически да, потому что передача параметров в конструкторы идет через список инициализации членов... причина - проблемы реализации множественного наследования. Извини, но это называется слышал звон... Единственное на что повлияло наличие множественного наследования так это на необходимость указывать все суперклассы по имени (вместо super или base). В джаве это - не обусловлено совершенно ничем. Угу, я уже писал чем это обусловлено. Конструктор - это НЕ виртуальная функция - ни в C++ ни в C# ни в java... И еще - конструкторы ВСЕГДА выполняются в строгом порядке от суперкласса к подклассу! Поэтому ты и не можешь написать свой код - так как когда выполняется код из super - твое присвоение еще не отработало! Просто в sun решили упростить синтаксис и убрать список инициализации как отдельную языковую конструкцию - и все - надо смотреть в корень. Ты говоришь, что знаешь еще 10 языков, в которых принято другое поведение - я знаю только один - это VFP - да и то просто в силу виртуальности ВСЕХ методов его классов. Теперь насчет try { Something; } catch { SomethingWrong; } Я никогда не писал на pascal'e, а ты видно на C++. Если без долгих разговоров - C++ - это главный идеологический предшественник и java и C# - так вот в нем для обработки всех исключений без указания их классов используется конструкция try { Something; } catch (...) { SomethingWrong; } и мне, например, она кажется более наглядной чем вариант pascal'я - хотя я далек от мысли что это как-то влияет на выразительность всего языка... Понимаешь - ты сам своим тоном вынуждаешь отвечать жестко. С самого начала ты не расположен дискутировать. Например, пишешь про конструкторы в С++, и при этом используешь фразу про "проблемы реализации множественного наследования" - ну и какие там проблемы с его реализацией? Так зачем же так писать? и так везде - тебе вообще не кажется, что критиковать такую платформу как java по синтаксису catch'а - это ну как критиковать машину по форме руля. Так что я не люблю ерничать - просто отвечать пока не на что ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 16:18 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer Родной, ну нельзя же так - уже даже не смешно Вот иерархия классов относящихся к проблеме http://java.sun.com/docs/books/tutorial/essential/exceptions/throwable.html Так кто виноват в использование Exception так где надо Throwable? Sun? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 16:28 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer Говорю же: обязан писать лишние слова. И, кстати, не Exception, а Throwable - через написанное Вами куча исключений отлично провалится. Это, кстати, очень показательный момент, поскольку повсеместная ошибка программирования на Java. Случается следующее: пользователь нажимает кнопку, в обработчике происходит что-нибудь типа VerifyError, NullPointer итп, оно проваливается сквозь такой catch - и в результате с точки зрения пользователя "программа молча ничего не сделала, словно и не нажимал", а где-нибудь в stdout появляется сообщение об ошибке. Это - почти худший из возможных вариантов поведения программы в такой ситуации. Хуже только "молча падать". Никогда не говорил, что я знаю жабу на зубок, но не пойти ли вам уважаемый софтварер и подучить оную? На этом форуме полно старых тредов по поводу какой язык лучше, какой хуже. Ни один из них ни к чему не привел. Каждый как писал на своем любимом ЯП, так и пишет, только пара-тройка "деятельных" товарищей с барабаном в руках всё продолжает бестолковый флейм (кстати, теперь я тоже в этих рядах оказался, ну и *** с ним). По поводу мистического "проваливания", кто мешает ловить конкретное исключение и не париться? Не вижу причин почему я не могу указать в кэтч блоке подкласс Throwable - Exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 16:30 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
"Вернёмся же к нашим баранам!" Люди, не затевайте ещё одну holly war! Ведь тема топика была не о Delphi vs. Java, а о корпоративных приложениях на Яве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 11:13 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
funikovyuri причина - проблемы реализации множественного наследования. Извини, но это называется слышал звон... Единственное на что повлияло наличие множественного наследования так это на необходимость указывать все суперклассы по имени (вместо super или base). Далеко не только на это. Последствия множественного наследования очень сложны и запутанны. Думаю, ты понимаешь причину ошибки "объект не инициализирован", которая будет зафиксирована, если ты попробуешь, например, передать параметром super поле класса. В случае множественного наследования - объект может быть "частично инициализированным". Соответственно, логика усложняется, появляются вопросы, на которые нет разумного ответа. Скажем (из головы): идет наследование "ромбом" (то есть от класса А унаследованы B и C, от B и C унаследован D). В A есть некоторое поле. Будет ли оно считаться "инициализированным", если вызван конструктор B, но еще не вызван конструктор C? Если нет - почему оно доступно в конструкторе B, но недоступно после конструктора B? Если да - почему полем объекта-предка можно крутить до вызова конструктора (последнего конструктора) этого объекта-предка? Промежуточные выкладки - еще более усложняют логику в этом месте. Конечно, можно принять какую-то схему разрешения подобных вопросов - но она будет недопустимо сложной. Именно поэтому - или, точнее, в том числе и поэтому - приняли решение выделить, по сути, отдельный, принудительно упрощенный блок инициализации. И в данном случае это совершенно правильное решение. funikovyuri В джаве это - не обусловлено совершенно ничем. Угу, я уже писал чем это обусловлено. Конструктор - это НЕ виртуальная функция Виртуальность конструктора совершенно не при чем. Ты упираешь на виртуальные конструкторы дельфы - но они вовсе не обязаны быть виртуальными. В дельфе они могут быть виртуальными - не более того. Единственное отличие - дельфа разрешает доступ к полям объекта до вызова конструктора предка. Что, может быть, неидеологично - не буду спорить. Конструктор - практически обычная функция, основной особенностью которой является "неинициализированное" состояние объекта на входе. Поэтому компилятор совершенно справедливо блокирует действия с этим объектом, да и справедливо не дает вызвать конструктор инициализированного объекта - тут дельфа действует хуже. Что касается локальных переменных и внешних объектов - манипуляции с ними до инициализации ничуть не страшны. Рассмотри следующий псевдокод: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Давай предположим, что "тело конструктора суперкласса" вычисляет какую-нибудь локальную или глобальную переменную. Имеет право? Имеет. Вопрос: что изменится (с точки зрения среды выполнения, реализации), если это вычисление выполнится не внутри тела, а непосредственно до него? Таким образом, по реализации вопросов нет. Что касается идеологии - идеологично было бы запихнуть конструктор туда же, куда и в C++. Или - реализовать выполнение похожим на общую логику выполнения программного кода. А так - унаследовали глупость из C++, назвав ее "упрощение синтаксиса". funikovyuri- ни в C++ ни в C# ни в java... И еще - конструкторы ВСЕГДА выполняются в строгом порядке от суперкласса к подклассу! И что из этого? funikovyuriПоэтому ты и не можешь написать свой код - так как когда выполняется код из super - твое присвоение еще не отработало! Давай разберем тут чуть поподробнее. Ниже я напишу код и псевдокод, в который он компилится: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. И вот теперь объясни - почему следующий код нельзя трактовать как следующий же псевдокод: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. funikovyuriПросто в sun решили упростить синтаксис и убрать список инициализации как отдельную языковую конструкцию - и все - надо смотреть в корень. Давай смотреть в корень. Суть твоего объяснения - в том, что код { some_action; super(); ... } реально должен был бы быть выполнен как { super(); some_action; ...} - потому что super() фактически, как и в C++, выполняется в отдельном блоке инициализации класса, до "тела конструктора", которые ты пишешь. Это так. Но ты называешь это упрощением синтаксиса? Лично я полагаю это неуместным запутыванием ситуации. funikovyuriТы говоришь, что знаешь еще 10 языков, в которых принято другое поведение Цитату, пожалуйста. funikovyuri- я знаю только один - это VFP - да и то просто в силу виртуальности ВСЕХ методов его классов. Да при чем тут виртуальность? В дельфе виртуальность конструкторов проявляется только в одном: можно написать конструкцию, аналогичную следующему а-ля java-коду: Код: plaintext 1. 2. и при этом будет вызван конструктор класса MyObject (если он виртуальный). В джаве ты делаешь абсолютно то же самое через newInstance - разве что в дельфе ты при этом можешь еще и передать параметры, а в newInstance, если не изменяет память - нет. funikovyuriЯ никогда не писал на pascal'e, а ты видно на C++. Увы, мимо - я писал на C++. funikovyuri- без указания их классов используется конструкция try { Something; } catch (...) { SomethingWrong; } В C++ - да. А что, мне пора обновлять компилятор? Этот код откомпилируется в джаве? Или все-таки в джаве приходится писать catch (Throwable t)? funikovyuri- и мне, например, она кажется более наглядной чем вариант pascal'я Хм. Ты предлагаешь перейти к сравнению паскаля с C++? Не хотелось бы. Лично мне - нравится вообще без всего, но это вопрос привычки. Вариант "как в C++" меня в целом устроил бы. Но в моем компиляторе такое не проходит. И в руководствах тоже вроде не упоминался такой вариант. funikovyuriПонимаешь - ты сам своим тоном вынуждаешь отвечать жестко. С самого начала ты не расположен дискутировать. Понимаешь ли, ты подключился к разговору с середины. Начался он с того, что некто покинувший нас начал говорить образцово неграмотные глупости про дельфу - почему я и начал "отвечать ему жестко". На что-то ты ответил со стороны, на что-то, вероятно, я отвечал, где-то перенеся на тебя общий фон разговора. За последнее, если было так - прощу прощения. funikovyuriНапример, пишешь про конструкторы в С++, и при этом используешь фразу про "проблемы реализации множественного наследования" - ну и какие там проблемы с его реализацией? Кажется, расшифровал. Впрочем, если тебя не устроит такая версия - можем продолжить обсуждение или зафиксировать несогласие. На самом деле я больше не уверен в некоторых других своих словах - например, в том, что в JDK 1.5 не появилось таки нормальной табличной модели для ResultSet-ов. funikovyuriТак зачем же так писать? и так везде - тебе вообще не кажется, что критиковать такую платформу как java по синтаксису catch'а - это ну как критиковать машину по форме руля. Хм. Ответ на это состоит из двух отдельных мыслей - учти. 1. Лично я привык отделять мух от котлет. То есть для меня "великолепная машина, но с неудачным рулем" - вполне разумная характеристика. 2.1 Некий человек сказал, что "бэт сайтов" не видит - причем в контексте довольно неграмотных попыток назвать плохие стороны дельфы. 2.2. Я назвал несколько "бэт сайтов" джавы - именно в контексте "хорошая вещь для своих задач, но имеет и недостатки". 2.3. Вы (мои оппоненты, извини, не хочется читать еще раз весь тред, чтобы найти поименно) обратили внимание на одну из деталей одного из названных мной недостатков. 2.4. Теперь ты говоришь, что я критикую джаву по этой детали - ты уверен, что это корректно? Я готов заявить, что если бы это был единственный недостаток джавы - она была бы абсолютно, немыслимо великолепным продуктом. Но ряд таких мелочей - то, что реально раздражает, суммарно являются существенным (для меня) недостатком. 2.5 Я понимаю точку зрения "я привык именно так и неудобным кажется все остальное". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 18:00 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
funikovyuriТак кто виноват в использование Exception так где надо Throwable? Sun? Sun виноват в том, что из функций, объявленных без throws, беспроблемно вылетает Throwable. Это - нарушение контракта; понятие "контракт", надеюсь, знакомо. Дополнительная мелочь - отсутствие формы безусловного catch - приводит к более тяжелым последствиям этой ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 18:06 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Frame RelayВедь тема топика была не о Delphi vs. Java, а о корпоративных приложениях на Яве. А по сути уже все сказано. Если корпоративное приложение должно быть вебовским - писать его на джаве вполне разумно. И пишут. Для написания gui-клиентов java - не лучший выбор. Поэтому.. скажем так, не видел продуктов этого жанра, и вряд ли много увижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 18:09 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer Не напомнишь, в какой версии JDK появилась такая крайне сложная и необычная процедура, как "максимизировать окно"? А в какой нельзя было максимизировать окно? Великолепно проработаны - пока не начинаешь использовать. Скажем, тривиальная такая задачка: имея строку "A / B / C", сгенерировать cоответствующий пункт меню (то есть - найти/создать подменю A, в нем найти/создать подменю B, в нем создать пункт C). Посмотри для интереса - сколько идиотских действий при этом нужно совершить. Ни одного. Все действия осмысленны. Если бы так.. exception while event dispatching - и стек в консоль. Помню, видел не раз. Не всегда есть возможность пробрасывать exception вверх, в надежде, что кто-то его обработает, особенно если оно происходит в thread'е созданном внутри метода, который давно уже завершён. Исключение говорит о том, что существует ошибка - либо в приложении, либо в библиотеке. Разработчик зная об ошибке может её найти и исправить. Проблем ноль. Поэтому в "стеке в консоль" нет ничего мистически не постижимого. Я очень рад, что thread'ы не молча умирают из-за не обработанной исключительной ситуации, а сообщают об этом. При этом - стоит помнить, что исключение запросто выпадает даже из подпрограмм, в которых никаких throws нет. А потому, практически единственный путь защититься - писать безусловный catch в каждой функции. Единственный путь защититься - это понимать, что пишешь. И проверять, действительно ли ты понимаешь или нет. Значит, невнимательно слежу за развитием. Ссылочку можно - типа, ключевое слово? Может, и break-и в switch-е уже не нужны? http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html Без break из switch теряет часть своей функциональности. Imho, вместо того, что бы плодить два разных switch'a - убрать его целиком. Да, причина кроется в том, что этот JDK-шный класс попытались использовать как-то так, как автор не предполагал. И если бы оттуда вылетел разумный Exception - все было бы как надо. А если идет такая хрень - увы. За всю свою практику, не встречал случаев, что бы из библиотечных классов просто так вылетали NPE. Для меня NPE чертовски разумное исключение. Исходный код jdk классов всегда перед галазами. Соглашения об использовании методов там же. Не вижу ваших больших проблем... В чем-то, наверняка так. Странно, однако, что я пользовался как минимум десятком языков, разумеется, далеко не все детально изучал - и только джава создала такое впечатление. Не удивительно. Все "остальные языки" - одинаковы по сути. Java - это не язык - это платформа программирования. java это не только синтаксис, это ещё архитектура библиотек. Не соглашусь. Размер и сложность кода прямо влияет на читаемость и все вытекающие из нее параметры - количество мелких ошибок, сложность отладки и сопровождения. Возмём группу из 10 мальких методов, про которых ясно что и как они делают и один большой собранный из этих 10. По вашему последний метод одифицировать/исправлять легче? А то, что все 10 методов можно использовать повторно внутри класса то же ерунда? Ну тогда не соглашайтесь. На читаемость влияет не кол-во открывающих и закрывающих скобок, сам код. Элегантно втиснутый в 5 строчек код на который надо потратить "два часа", что бы понять что он делает - вот это пример не читаемости, а не "лишняя" пара скобок и разбитый на логические составляющие метод. Хм. Я как-то написал выражение, которое на Java требовало 14 открывающих и закрывающих скобок. На дельфе аналогичное потребовало бы четырех. Это уже не имеет отношения к рефакторингу :) Это уже ни к чему не имеет отношения. Программист - это не стенаграфистка, которая без останова выдаёт 200 символов кода в минуту. Что касается рефакторинга - сам по себе он хорош. Но от того, что это выражение можно выделить в отдельную функцию (не имеющую абсолютно никакого самостоятельного смысла), большого выигрыша нет. Да и маленького тоже. Рефакторинг - это не выделение произвольных кусков кода в методы. Будем говорить о рефакторинге? Не удивлен. Каждый из нас смотрит сквозь призму своих задач - а задачи подбираются под используемый инструмент :) Моя задача проектировать/писать хороший код. Через неё и смотрю. Лучшего инструмента для этого, чем java не видел :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 16:15 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarerРаз уж вспомнил: каким именно паттерном языка объясняется невозможность написать Код: plaintext 1. Почему я обязан писать что-то типа (Throwable t), если мне совершенно неинтересен этот t? Через весь язык проходит идея простоты. Язык не должен заставлять думать над своим синтаксисом. Думать нужно о том, что делаешь. Поэтому в java нет этих бессмысленных (по существу) упрощений синтаксиса, которые есть в том же C++. Если пишешь catch, то будь добр написать, что именно ты ловишь, Error, RuntimeException или Exception или всё сразу. Нет ничего более ужасного, чем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Или каким паттерном объясняется, что код Код: plaintext 1. 2. 3. 4. 5. работает, а код Код: plaintext 1. 2. 3. 4. 5. 6. не компилится? Это правило следует из того же принципа простоты, о котором уже шла речь. Оно позволяет избежать всякого рода трудностей в последовательности инициализации переменых класса, исключает ошибки связанные с обращением к унаследованным полям, до их корректной инициализации и т.д. Легко нарушить контракты суперкласса, если начать дёргать его методы до того, как класс полностью инициализирован. Программист не должен думать о том, как будет интерпретирован компилятором или, в случае java, виртуальной машиной его код, это должно быть очевидно. Из Java убранны потенциально опасные конструкции, по сравнению с тем же C++, где из воз и маленькая тележка. Объяснения чего ещё требуются? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 16:43 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
softwarer Sun виноват в том, что из функций, объявленных без throws, беспроблемно вылетает Throwable. Это - нарушение контракта; понятие "контракт", надеюсь, знакомо. Дополнительная мелочь - отсутствие формы безусловного catch - приводит к более тяжелым последствиям этой ошибки. Нарушает контракт только программист, который пишет код думая, что throws это и есть контракт. Каждый метод каждого класса из состава jdk снабжён исчерпывающим описанием своего поведения. Остальное есть в описании самого класса. Вот простой пример. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. SecurityException и ExceptionInInitializerError - не должны быть перечисленны в throws. Потому что это RuntimeException и Error. Если не знаешь как их правильно обработать - не обрабатывай, т.к. проблему всё равно не решишь, а только закапаешь её по глубже, что бы потом коллегам было "интреснее" работать. Если их не отлавливать на основании, что их нет в throws - то это не проблемы Sun'a, а проблемы мозга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 17:05 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsА в какой нельзя было максимизировать окно? Таки я буду учить Вас пользоваться источниками по java? http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Frame.html#setExtendedState(int) . Там написано - с какой. Заодно стоит оценить осмысленность названия метода :) NotGonnaGetUsНи одного. Все действия осмысленны. Блаженны верующие. Но попробуйте таки сделать - думаю, уверенности поубавится. NotGonnaGetUsЯ очень рад, что thread'ы не молча умирают из-за не обработанной исключительной ситуации, а сообщают об этом. Я, кажется, писал, как надо "сообщать". Вы можете продолжать утверждать, что "по сравнению с умиранием молча jdk ведет себя разумно". Согласен - но только по сравнению с умиранием молча. NotGonnaGetUsЕдинственный путь защититься - это понимать, что пишешь. И проверять, действительно ли ты понимаешь или нет. До тех пор, пока код целиком твой - безусловно. Когда используется большой массив чужого кода - обычно невозможно детально разобраться в нем прежде чем начинать работу. Дальше - все очень просто. Есть, например, кнопочка, нажав на которую, я получаю необходимый try..catch вокруг функции - с отловом тех ошибок, которые она может вернуть. Очень удобно. Вот только ряда ошибок там нет - и с твоей точки зрения, это правильно. Ну.. допустим, правильно. Я этого не понимаю и вряд ли пойму. http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html Не прошло и десяти лет.. И то хлеб, спасибо за информацию. Imho, вместо того, что бы плодить два разных switch'a - убрать его целиком. Имхо, надо было сразу сделать нормальный case. Сейчас, безусловно, уже поздно что-то менять. За всю свою практику, не встречал случаев, что бы из библиотечных классов просто так вылетали NPE. Хм. Посмотри на несколько топиков в сторону от этой темы :) Увидишь :) Для меня NPE чертовски разумное исключение. Для меня оно - признак ламерства. Разумным исключением будет "не сделано то-то", "не инициализировано то-то" или любая другая разумная и четкая проверка. Исходный код jdk классов всегда перед галазами. Это, безусловно, большой плюс - как, кстати, и в дельфе, если продолжать сравнения. Без этого в java было бы вообще невозможно работать. Соглашения об использовании методов там же. Хм. С моей точки зрения, NPE допустим разве что если я явно передаю null как параметр функции, ожидающей not null - да и то, лучше бы таки явное исключение. Насчет соглашений.. Что ты имеешь в виду? Искать по исходникам, что необходимо, чтобы метод отработал? Не вижу ваших больших проблем... Больших - нет. А вот дорогая - есть. Называется "время, которое приходится тратить на эту муть, а не на дело". В чем-то, наверняка так. Странно, однако, что я пользовался как минимум десятком языков, разумеется, далеко не все детально изучал - и только джава создала такое впечатление. Не удивительно. Все "остальные языки" - одинаковы по сути. Java - это не язык - это платформа программирования. java это не только синтаксис, это ещё архитектура библиотек. Не соглашусь. Размер и сложность кода прямо влияет на читаемость и все вытекающие из нее параметры - количество мелких ошибок, сложность отладки и сопровождения. Возмём группу из 10 мальких методов, про которых ясно что и как они делают и один большой собранный из этих 10. По вашему последний метод одифицировать/исправлять легче? А то, что все 10 методов можно использовать повторно внутри класса то же ерунда? Ну тогда не соглашайтесь. На читаемость влияет не кол-во открывающих и закрывающих скобок, сам код. Элегантно втиснутый в 5 строчек код на который надо потратить "два часа", что бы понять что он делает - вот это пример не читаемости, а не "лишняя" пара скобок и разбитый на логические составляющие метод. Хм. Я как-то написал выражение, которое на Java требовало 14 открывающих и закрывающих скобок. На дельфе аналогичное потребовало бы четырех. Это уже не имеет отношения к рефакторингу :) Это уже ни к чему не имеет отношения. Программист - это не стенаграфистка, которая без останова выдаёт 200 символов кода в минуту. Что касается рефакторинга - сам по себе он хорош. Но от того, что это выражение можно выделить в отдельную функцию (не имеющую абсолютно никакого самостоятельного смысла), большого выигрыша нет. Да и маленького тоже. Рефакторинг - это не выделение произвольных кусков кода в методы. Будем говорить о рефакторинге? Не удивлен. Каждый из нас смотрит сквозь призму своих задач - а задачи подбираются под используемый инструмент :) Моя задача проектировать/писать хороший код. Через неё и смотрю. Лучшего инструмента для этого, чем java не видел :)[/quot] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 11:35 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
во, блин... когда ж этот флэйм прекратится? коллеги, не пройти ли вам в просто треп? -- FUCK THE iNET!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 11:43 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsЧерез весь язык проходит идея простоты. Язык не должен заставлять думать над своим синтаксисом. Возьми тот же break в switch - я бы никак не назвал его "идеей простоты". Собственно, ассемблер тоже не заставляет думать над своим синтаксисом - но не думаю, что это идеал простоты :) NotGonnaGetUsПоэтому в java нет этих бессмысленных (по существу) упрощений синтаксиса, которые есть в том же C++. Ладно, это, видимо, философский вопрос. То есть я считаю, что это нужно, ты считаешь, что это не нужно - давай запишем в "моменты, относительно которых не придем к единому мнению". NotGonnaGetUsНет ничего более ужасного, чем....Так никогда и не узнаешь, где ошибка, И опять ты применяешь тот же прием: берешь образцово плохой пример применения обратной идеи и на нем пытаешься объяснить, чем плоха вся идея. Что ужасного в варианте Код: plaintext Нет, не спорю - я привык к дельфе, где текст ошибки можно получить в таком вот безусловном catch-е - но нем не менее, он нужен не всегда. Типичный пример - отсутствие в API возможности проверить некий факт иначе чем попытавшись сделать нечто, типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. NotGonnaGetUsЭто правило следует из того же принципа простоты, о котором уже шла речь. Оно позволяет избежать всякого рода трудностей в последовательности инициализации переменых класса, исключает ошибки связанные с обращением к унаследованным полям, до их корректной инициализации и т.д. Не позволяет. Я все равно могу попытаться употребить поле класса, например, как параметр в вызове super, я могу даже - тоже наследие C - написать что-то типа Код: plaintext 1. Так что - компилятор все равно обязан проверять, являются ли i и j в примере выше полями класса, либо разрешенными к присваиванию сущностями - статиками, локальными переменными... И непонятно, почему "принцип простоты" позволяет это все внутри скобок но не позволяет абсолютно то же самое до скобок. NotGonnaGetUsЛегко нарушить контракты суперкласса, если начать дёргать его методы до того, как класс полностью инициализирован. Именно поэтому меня вполне устраивает подход C++, где вызов конструкторов вынесен отдельно. Не возникает вопроса, почему я не могу объявить там локальную переменную :) Тут - неудачно скопировали. "Половину оттуда, половину отсюда". NotGonnaGetUsПрограммист не должен думать о том, как будет интерпретирован компилятором или, в случае java, виртуальной машиной его код, это должно быть очевидно. Хм. Джава слишком много взяла из C, чтобы это требование выполнялось. NotGonnaGetUsИз Java убранны потенциально опасные конструкции, по сравнению с тем же C++, где из воз и маленькая тележка. Ой. Ну если говорить о потенциально опасных конструкциях - давай снова вспомним тот же switch. Насколько я помню, он считается настолько опасным, что современные компиляторы C выдают warning на отсутствие break. А java - по крайней мере, у меня - глотает без проблем. NotGonnaGetUsОбъяснения чего ещё требуются? :) Почему, если они выдвинули такие принципы, они так очевидно их нарушили? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 12:01 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Чего мне бы хотелось от Явы: 1. Возможность писать шаблоны на базовые типы. 2. Возможность использывания алиасов типов и класов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 02:46 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Nightwish2. Возможность использывания алиасов типов и класов. А это для чего? Убирать конфликты имен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 15:38 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Не напомнишь, в какой версии JDK появилась такая крайне сложная и необычная процедура, как "максимизировать окно"? Хех... Давно было. Знакомый как-то на работу новую ушел на UNIX - так получилось. До этого сидел тока на Win только. Комментарии сродни этим были: что за дерьмо - дисков (A:, B:, C:, D:, ...) нету, почему не сделать "стандартно" A - это дисковод, С: - это типа первый диск; а то одни каталоги - что за бред, какой больной это придумал... и т.д. в таком же духе. Не сделали - значит были проблемы реализации на всех платформах. И опять ты применяешь тот же прием: берешь образцово плохой пример применения обратной идеи и на нем пытаешься объяснить, чем плоха вся идея. Что ужасного в варианте try { ... куча всего ... } catch { sendAlarmToAdmin (logOfExecution); } Нет, не спорю - я привык к дельфе, где текст ошибки можно получить в таком вот безусловном catch-е - но нем не менее, он нужен не всегда. Типичный пример - отсутствие в API возможности проверить некий факт иначе чем попытавшись сделать нечто, типа boolean isFloat (String s) { try { Float.strToFloat (s); return true;} catch { return false; } } Скажу что плохого - для Java :) То что строка в некорректном формате ловится через NumberFormatException. А если на вход функции подадут строку размером в пару десятков мегов или по случайному совпадению - они всегда случайные почему-то - у тебя закончится память в системе, то это не NumberFormatException а OutOfMemoryError. Что есть вещи немножко (имхо) разные. Только не будем уж про вероятности таких событий и т.д. - ок? :) Они случаются - нечасто, но бывают реально . Имхо все же если человек пишет он должен точно знать что именно его код делает и что именно происходит. Отсюда NPE и т.д. - но это не есть норма языка. С таким же успехом можно в Делфи накатать приложение вообще без обработки исключений - и ничего, компилятор не поперхнется. Если человек индус или аргентинец (ну это из собственного опыта :)) то тут уже ничего не исправишь - пишет он на Делфи или Java не имеет никакой разницы. В том же духе по большинству остальных вещей - просто для того чтобы понимать язык, на нем писать нужно (достаточно много - пока оно (понимание) не придет). Ну а не придет - так поговорки можно перефразировать в духе "к умному придет, а дураку и не надо" :) А просто так сравнивать с позиции другого языка нет смысла - немного другие паттерны, немного другие принципы. Вроде все близко и все же как-то не так. Лично я ничего не имею против Делфи - сам на нем писал достаточно. Вообще на Java кода кривого пишется - ема ё. Те же Exceptions - ну приходят люди и просто сами не знают что с ними делать :) - в лог и типа что-то там по дефолту присвоить, но, есть у меня смутное подозрение, что в том же Делфи или C++ они их просто даже и не обрабатывали бы - а тут, как говорится, компилятор обязывает - вот и приводит их это в ступор :). А GUI на яве нормальный есть. Посмотри к примеру что пишут на SWT - в частности тот же eclipse - более чем приемлемо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2004, 02:50 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
hgst было. Знакомый как-то на работу новую ушел на UNIX - так получилось. До этого сидел тока на Win только. Комментарии сродни этим были: что за дерьмо - дисков (A:, B:, C:, D:, ...) Я работал на unix-ах. Есть вещи, которые мне в них не нравятся, есть вещи объективно убогие - но "таких" вопросов не возникало. hgstНе сделали - значит были проблемы реализации на всех платформах. С трудом представляю, но дело не в этом. Вспомни изначальное утверждение -java не лучший инструмент для gui-интерфейса. А объективные ли это проблемы или дыра разработчиков - какая юзеру разница, если он хочет получить окно на весь экран, а я не могу ему такого выдать? (вернее, выдать-то могу, только часть окна уходит под таскбар). hgstСкажу что плохого - для Java :) То что строка в некорректном формате ловится через NumberFormatException. А если на вход функции подадут строку размером в пару десятков мегов Если мне нужно ловить "строку в неверном формате" - ты прав. А вот в варианте "мне нужно значение, а какая ошибка мешает ее получить - пофиг" - наплевать мне на все самые немыслимые исключения, которые мешают. Мне нужно что-то делать - скажем, использовать значение по умолчанию, чтобы автономный сервер не перестал работать из-за такой ерунды. Согласен, в варианте "конкретное сообщение об ошибке неважно" это бывает редко. Но тоже бывает. Например, одна из моих программ уже почти год крутится без нормального администратора - она-то может сообщать о проблемах, только что-то мало-мальски нетривиальное все равно никто не исправит :) hgstИмхо все же если человек пишет он должен точно знать что именно его код делает и что именно происходит. Его код - да. Стандартный код, который он вызывает, должен быть надежным. Если последовательностью нормальных в принципе вызовов можно получить NPE - это плохо. hgstС таким же успехом можно в Делфи накатать приложение вообще без обработки исключений - и ничего, компилятор не поперхнется. Можно. Мало того, простое приложение такого рода в дельфе будет нормально работать. Вопрос в том, что в дельфе получить NPE от стандартного кода можно только специально, зная как работают компоненты и потратив сколько-то сил. В джаве для этого достаточно не разобраться в деталях, как они работают. Если человек индус или аргентинец (ну это из собственного опыта :)) то тут уже ничего не исправишь - пишет он на Делфи или Java не имеет никакой разницы. hgstно, есть у меня смутное подозрение, что в том же Делфи или C++ они их просто даже и не обрабатывали бы - а тут, как говорится, компилятор обязывает - вот и приводит их это в ступор :). В той же дельфе необработанное исключение выскочит на экран - что не очень хорошо, но и не очень плохо. В джаве оно попадет в консоль, где его никто не увидит, если не знает, что туда надо смотреть. С точки зрения пользователя - "я нажал кнопку, и ничего не произошло". Это - почти худший вариант. Хуже только молча падать. hgstА GUI на яве нормальный есть. Посмотри к примеру что пишут на SWT - в частности тот же eclipse - более чем приемлемо. Может быть, соглашусь с этим. Но "мало" - означает "трудно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2004, 19:25 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
не буду ничего писать, т.к. модер отмодырит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 07:23 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ говорит правильно. 2 Softwarer: Если чудовищные силы заставляют пользоваться чужими библиотеками, к которым нет документации и из которых NPE сыпятся во все стороны, тут конечно ничего не скажешь - беда. Так же, как ничего не скажешь, если придётся пользоваться глючащими либами в delphi. -- У java есть "одна" проблема - её нельзя понять просто познакомившись с синтаксисом, она отличается от других языков. Но разве может такая мелочь смутить человека знающего 10 ЯП или всю жизнь писавшего на С и переползшего на С++, так и не поняв зачем? Конечно нет! Чего стоит перл (не помню автора) про то, что объекты в java передаются в методы по значению, с иллюстрацией на примере String. Таким людям бесполезно объяснять, что все контракты касательно вызовов методов описаны в javaDoc's. Что исключения это лишний повод не зарывать ошибки в глубину кода. Что Swing не синхранизирован и при написании гуи только программист ответственнен за ошибки в event dispatcher thread. Что не перехваченные исключения можно обработать любым удобным способом, а не только по дефолту про дампить в консоль. И т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 02:35 |
|
||
|
Кто-нибудь пишет корпоративные приложения для БД на Java?
|
|||
|---|---|---|---|
|
#18+
Блин, не удержался таки :) Пара слов в похвалу Java при сравнении с Delphi. Буквально вчера увидел у коллеги на мониторе такой вот код (Delphi): Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2004, 15:15 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2153319]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 386ms |

| 0 / 0 |
