|
|
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
cooluserTDataSet это уровень JDBC в Java. Это примерно то же, что сказать "мерседес это уровень запорожца". То есть - говорить так можно, если сидишь в самолете. cooluserВ Java есть абстракции более высокого уровня, тот же хибер. Хибер - это попытка сделать самолет в виде автомобиля на оооочень высоких ножках. cooluserНасчет кэширования, имеется в виду совсем другое, действительно в Java есть решения, тот же хибер, позволяющие доставать объект, коллекции объектов, объект и всего его связанные коллекции непосредственно их кэша в ОЗУ без обращения к СУБД. Полезность этого... специфична. Не хотелось бы в очередной раз поднимать детальный флейм по поводу хибера, он уже был кажется даже в этом топике, постараюсь коротко донести основную мысль: На сегодняшний день нет технологий, которые позволили бы эффективно сочетать сложные движки обработки данных на разных уровнях системы . Как пример - допустим, я хочу разослать письма клиентам, у которых текущий остаток на счету меньше абонентской платы за следующий месяц. Вопрос: как я могу это сделать? Во-первых, могу сделать соответсвующий запрос на выборку, то есть игнорировать супервозможности гибернейта, сведя его роль к тупому передатчику-конвертору. Во-вторых, могу использовать некий процессинг на уровне гибернейта, грубо говоря, локальный движок SQL (хотя это разумеется не обязательно - просто один из возможных вариантов такого процессинга), который что-то возьмет из кэша, для чего-то разродится серией запросов к БД и в итоге вернет нужный результат. В-третьих... а собственно, по большому счету список вариантов и исчерпан, остаются непринципиальные вариации. Чего-либо, что позволит обсчитать запрос в БД и при этом эффективно воспользоваться кэшем гибернейта, нет и не предвидится. Дык вот, как ни крути подобные варианты в этом и любых других примерах, окажется, что для эффективности, да и для удобства, необходимо иметь некий единый "интеллектуальный центр", а второму движку отводится роль "тупой механизьмы". Из этого следует такой вывод: сочетание гибернейта с нормальной СУБД - не лучшая мысль. Свои интеллектуальные возможности он сможет раскрыть в сочетании с удобной для него "тупой механизьмой" - возможно, на эту роль пойдут какие-нибудь ООСУБД, но в целом ему нужна не СУБД, а некое "простое и надежное транзакционное хранилище данных", нечто вроде индексированных файлов на мейнфреймах. Ну а приложение, сочетающее его с нормальной СУБД - это что-то вроде животного о двух головах, одна из которых пришита к заднице. cooluserНасчет того, что ORM никому не нужен. Это не так, тот же хибер действительно применяется в реальных проектах и успешно работает. :) Очень трудно назвать технологию, для которой нет реальных и успешных проектов. Тот же MIDAS в дельфе - полная хрень, если честно, но проектов на нем не так уж и мало, до сих пор есть вакансии, где на него зовут. "Успешно работает" - это минимум, этакая проверка на вшивость. Есть куда более философский вопрос - "а не было бы лучше, если бы вот здесь применить нечто другое"; ответить на него куда как сложнее, но интересно именно это. cooluserДействительно было бы интересно узнать, есть ли в Дельфи что то близкое по функциональности как Хибер в Джава. Скорей всего нет, т.к. для реализации такого чуда необходима мощная ретроспекция, то есть должна быть возможность в Runtime получить всю доступную инфу об каком то объекте. Интроспекция не сильная сторона Дельфи. Чушь говоришь. У меня был один халтурозаказчик, которому очень хотелось ORM-а. Он даже был готов за это платить (почасовая ставка и таймшиты), но, ознакомившись с его представлением об объектной разработке, я... не захотел писать такое количество идиотского кода, и по договоренности с ним примерно за неделю сделал простой ORM-движок - мапинг запросов в объектные коллекции, изменения объектов и коллекций в изменения БД, откат в памяти, всякие сортировки-фильтры над теми же коллекциями, ну и главное - биндинг этих объектов в датаконтролы. В итоге получилась технология, позволившая разрабатывать примерно с теми же скоростью-качеством, что и без этой дурацкой одевалки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 19:12:59 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
softwarer[quot cooluser]TDataSet это уровень JDBC в Java. Это примерно то же, что сказать "мерседес это уровень запорожца". То есть - говорить так можно, если сидишь в самолете. [/quot softwarer] Чем не понравилась аналогия конкретно? [quot softwarer] Как пример - допустим, я хочу разослать письма клиентам, у которых текущий остаток на счету меньше абонентской платы за следующий месяц. Вопрос: как я могу это сделать? Во-первых, могу сделать соответсвующий запрос на выборку, то есть игнорировать супервозможности гибернейта, сведя его роль к тупому передатчику-конвертору. Во-вторых, могу использовать некий процессинг на уровне гибернейта, грубо говоря, локальный движок SQL (хотя это разумеется не обязательно - просто один из возможных вариантов такого процессинга), который что-то возьмет из кэша, для чего-то разродится серией запросов к БД и в итоге вернет нужный результат. В-третьих... а собственно, по большому счету список вариантов и исчерпан, остаются непринципиальные вариации. Чего-либо, что позволит обсчитать запрос в БД и при этом эффективно воспользоваться кэшем гибернейта, нет и не предвидится. Дык вот, как ни крути подобные варианты в этом и любых других примерах, окажется, что для эффективности, да и для удобства, необходимо иметь некий единый "интеллектуальный центр", а второму движку отводится роль "тупой механизьмы". Из этого следует такой вывод: сочетание гибернейта с нормальной СУБД - не лучшая мысль. Свои интеллектуальные возможности он сможет раскрыть в сочетании с удобной для него "тупой механизьмой" - возможно, на эту роль пойдут какие-нибудь ООСУБД, но в целом ему нужна не СУБД, а некое "простое и надежное транзакционное хранилище данных", нечто вроде индексированных файлов на мейнфреймах. Ну а приложение, сочетающее его с нормальной СУБД - это что-то вроде животного о двух головах, одна из которых пришита к заднице. [/quot softwarer] Собственно "выбрать всех клиентов у которых остаток меньше абонентской платы" это ерундовый запрос на HQL или Criteria API Хибера. Про хибер еще раз. Это еще один уровень абстракции от БД. Как например JVM это абстракция от железа и ОС. JVM вон тоже ругали и ругают - типа медленная, память жрет. Не надо просто стрелять из пушки по воробьям. Так же и хибер, еще один уровень абстракции от БД. Не надо писать кучу тупых селектов чтобы вытаскивать что то из базы в бины. То что вытаскиваешь часто лежит в кэше. Если надо что то хитрое вытащить - HQL или Criteria API. Если надо что то уж совсем хитрое вытащить, да еще и хочется использовать какую то особенную фичу СУБД, которая щас используется в проекте - то пожалуста можно использовать SQL (ну это как JNI, если провести аналогию). Поэтому нельзя говорить хорошо это или плохо, важны факты, кое-какие я привел выше. Хочешь - используй, только разберись и научись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 19:27:37 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
cooluserЧем не понравилась аналогия конкретно? Тем, что она вносит больше ложных впечатлений, нежели истинных. JDBC - тупейшая хрень уровня ODBC, своего непосредственного предка, и ровным счетом ничего не умеет, что и вызывает необходимость иметь над ней абстракции для нормальной работы. cooluserСобственно "выбрать всех клиентов у которых остаток меньше абонентской платы" это ерундовый запрос на HQL или Criteria API Хибера. Собственно, в силу этих соображений и приводилось. Повторюсь, я не хочу развивать обсуждение гибернейта, не в первый раз, просто хочу констатировать мысль, что его концепция.... не то чтобы must have. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 20:00:02 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
[softwarer] авторпримерно за неделю сделал простой ORM-движок Прямо тест на адекватность.... вам, простите, череп не жмет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 20:06:30 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
softwarer cooluserЧем не понравилась аналогия конкретно? Тем, что она вносит больше ложных впечатлений, нежели истинных. JDBC - тупейшая хрень уровня ODBC, своего непосредственного предка, и ровным счетом ничего не умеет, что и вызывает необходимость иметь над ней абстракции для нормальной работы. Ну да верно сказал про JDBC. TDataSet это тот же уровень абстракции, но в Дельфи. softwarer cooluserСобственно "выбрать всех клиентов у которых остаток меньше абонентской платы" это ерундовый запрос на HQL или Criteria API Хибера. Собственно, в силу этих соображений и приводилось. Я тогда вас не понял. Получается что то вроде "чтобы приготовить кофе, нужно приготовить кофе". Или вы не понимаете что такое HQL или Criteria API? Ну например резалт такого запрос будет не просто набор tuples, а коллекция уже именно джабовских бинов, и эти самые бины про то что они как то там в базе лежат ничего и знать не знают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 20:12:25 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
funikovyuri[] авторпримерно за неделю сделал простой ORM-движок Прямо тест на адекватность.... вам, простите, череп не жмет? Есть такая песня у Цоя ... так много веселых ребят, и все делают велосипед, а один как-нибудь утром придумает порох. ... Думаю ясно к кому относится softwarer и к кому относится создатель хибера в этом куплете:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 20:28:28 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
Вот эта ссылка мне понравилась в свете сравнения Java vs Delphi: http://www.netbeans.org/download/flash/netbeans_6_gui_builder/netbeans_6_gui_builder.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 00:51:42 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
funikovyuriПрямо тест на адекватность.... вам, простите, череп не жмет? Нет, череп не жмет, а вот шапку нужного размера не всегда удается сходу найти. Что же до адекватности - я понимаю, вы привыкли к тому, что самую мелкую задачу делать не меньше полугода, но поверьте, мир не исчерпывается ява-технологиями. Была задачка объективно недели на три. Заказчик хотел тупейшей объектной технологии, что довело бы трудоемкость недель до пяти-шести. Я договорился с ним об ORM и тем уложился в четыре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 01:04:49 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
LeonidvВот эта ссылка мне понравилась в свете сравнения Java vs Delphi: Хм. А что в ней такого интересного? Cобственно, показаны классические проблемы явы - куча тупого кода, исключения на заднем плане, тормозной гуй. Видимо, приделано сколько-то более адекватных, нежели в стандартном JDK, классов, в частности хоть какая-то модель для датасета, ну и несколько экспертов. По сравнению с Delphi 1.0 12-летней давности есть одна приятная доработка - layout при добавлении дополнительных полей (layout при первоначальном заполнении был и тогда). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 01:20:22 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
softwarerЧто же до адекватности - я понимаю, вы привыкли к тому, что самую мелкую задачу делать не меньше полугода, но поверьте, мир не исчерпывается ява-технологиями. Уважаемый, в мире Джава технологий самая мелкая задача решается за самые мелкие сроки, именно из-за огромного количества уже написанного кода и хороших механизмов его повторного использованя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 07:08:25 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
softwarer funikovyuriПрямо тест на адекватность.... вам, простите, череп не жмет? Нет, череп не жмет, а вот шапку нужного размера не всегда удается сходу найти. Что же до адекватности - я понимаю, вы привыкли к тому, что самую мелкую задачу делать не меньше полугода, но поверьте, мир не исчерпывается ява-технологиями. Была задачка объективно недели на три. Заказчик хотел тупейшей объектной технологии, что довело бы трудоемкость недель до пяти-шести. Я договорился с ним об ORM и тем уложился в четыре. Ну что я могу сказать... перед тем как что-то писать нужно это что-то выучить... я бы мог сказать что будь у вас в штате грамотные специалисты по hibernate - задача на 3 недели решилась бы за 3 недели, но ведь вы не поверите и так и будете поливая грязью hibernate создавать свои велосипеды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 10:12:26 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
Как в Саратове явистам живется?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 15:08:53 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
cccр нумбер уанКак в Саратове явистам живется?! Вроде ничего, хотя контор занимающихся Java не так много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:37:39 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
2 softwsrer: Любопытно очень. Зачем ты вообще работаешь на java, если на Delphi гораздо приятнее, удобнее и продуктивнее? Ну, понимаю, если попробовал, не понравилось - взял, да и ушел. А если не понравилось - то что же мучать себя так? Может, тебя в армию забрали, дали команду, и ты - "шагом - марш" исполнять? Может, ты живешь на Чукотке, губернатор которой издал указ - "все на java!"? ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 05:14:32 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
Поднимаю тему, почитал ночью, волосы зашевелились не только на голове... grexhide НаблюдаюМожно только посочувствовать. Отнюдь. Скорее даже - наоборот. Инструменты я лишь оцениваю с точки зрения их удобства и адекватности решаемым (мной) задачам (заказные малотиражные разработки). Тщетно (в который раз) надеюсь получить убедительные доводы в пользу последнего (с безусловной долей убедительности - покажите хоть что-либо стоящее, действительно имеющее преимущества хоть по какому параметру). Стоящее для чего? wessen lilium Но вопросы типа "почему тормозит" и "где применяется" не прекращаются. Это ли не повод задуматься? ;) Кто-то пишет с приминением Java распределенные монструидальные системы, масштаба - планета Земля :), при этом зарабатывая миллионы долларов (google, ebay), а кто-то трындит на форуме про тормознутость и убогость Java. Пожалуй вы правы, повод задуматься есть;) Поисковик Google состоит из 2х основных страниц: приём запроса с кнопкой искать и вывод результата. Вы можете своему начальнику объяснить, что для реализации базового функционала на 30 человек надо будет купить крутой сервер от Sun за $40000? Я думаю, он предложит по завершении проекта продать вас на органы ЗашедшийВ сравнении с Дельфи, к примеру, которая не имеет: - стандарта асинхронные сообщения для обмена данными в серверной части (JMS) - стандарта для мэпа БД в объекты с возможностью кэширования и поддержки объектных транзакций (JTA) - стандартных средств кластеризации серверов приложений (большинство серверов приложений, начиная с JBoss) - стандартных средств обеспечения безопасности - отраслевых стандартов взаимодействия с унаследованными ERP-системами (Java Connectors) - стандарта кэширования соединений с БД (JDBC-DataSource) - стандарта построения Web-сервисов (WSDL/BPEL) Мало? Асинхронные сообщения, как много в этом звуке, для меня это было 1 день работы в Delphi, причём полный контроль исходного кода... А если мне надо сделать то, чего нет в JMS? А такое было у моего кореша. Это называется простота с одной стороны, ущербность технологий - с другой. Идём далее: DB-Маппинг, TDataSet - херовое предложение от Борланд, но стандарт подключения визуализации. Я пошёл дальше - DBObject на основе IDispatch + DBObjectDataSet. Коллекция IDispatch объектов, которым я говорю " DBOSet1.CurrentObject.Имя_Ламера := 'Вася пупкин';DBOSet1.CurrentObject.Save;"... Товарисчи жависты, слабо на жабе такое? + хеширование членов объектов для быстрого доступа к записям. На своём сервере приложений реализован объектный брокер, который позволяет одному юзеру видеть, как другой юзер редактирует объект, если у него есть на то права. Это про транзакции? Кластеризация? Ковырните BES... Что? На джаве трудно освоить спецификации Corba? Хотя в EJB она используется... получается EJB - это прокладка над корбой, а прокладки - это лишние ресурсы Средства обеспечения безопасности... Если мы говорим о безопасности, то это упирается в сертификацию. Думаю, если купить сертифицированные средства шифрования, то можно сертифицировать продукт по безопасности. А часто вы отраслевые системы интегрируете? И вообще, интеграцию всегда можно замутить самому... стандарт кэширования соединений с БД (JDBC-DataSource) Дело в том, что жава сама по себе через несколько прокладок долго подключается к СУБД... Это заплатка низкой производительности JRuntime, превосходством это не назовёшь... стандарт построения Web-сервисов (WSDL/BPEL) - это было в дельфи с какой версии, не знаю, на в 7-ке точно есть... cooluser softwarerЧто же до адекватности - я понимаю, вы привыкли к тому, что самую мелкую задачу делать не меньше полугода, но поверьте, мир не исчерпывается ява-технологиями. Уважаемый, в мире Джава технологий самая мелкая задача решается за самые мелкие сроки, именно из-за огромного количества уже написанного кода и хороших механизмов его повторного использованя. Я где-то читал, жависты сами себя жалели... писали, что нет у нас крутых инструментальных средств, поэтому разработка сложная, и за это типа нам платят... Как это тогда за мелкие сроки? + само количество существующих технологий... да пока разберёшься со всем, что есть в платформе, уйдет уйма времени, а найти то, что нужно сейчас мне вообще кажется трудной и долгой задачей... Остаётся актуальной основная проблема Java. Сама спецификация тормозит технологию... "Написано единожды - работает везде"! Бред! Как приложение под x86 будет работать например в микроконтроллере стиральной машины... Херня! Т.е. мы приходим к тому, что для различных устройств нужны различные виртуальные машины. Ну так вот лично я жду, когда же бравые ребята из Сана сделают не выполнение байт-кода в JVM под x86, а выполнение бинарного кода, и не JIT компилятор, который на ходу компилит в асм, а бинарный код, который кэшируется рядом и загружается без JIT. Пока что я вижу только тормоза и нерациональное использование памяти непонятно под что. J2EE - круто? Чем круто? WEB-интерфейсом? А кто программами пользуется во всём мире? ПОЛЬЗОВАТЕЛИ! А у них кто нибудь спросил, удобно ли им будет работать с WEB-интерфейсом? Использование браузера в качестве АРМа.... Давайте ещё в браузер СУБД засунем, чё уж там, а на экране её мониторить будем? Браузер просто лишает пользователя всех сладких возможностей взаимодействия с информационной системой. Пример, поле и справочник 15000 записей, нужно выбрать запись из выпадающего списка по первым нажатиям клавиш. AJAX? - нагрузка на сеть... Закачать всё и фильтровать на клиенте, фильтр на JS - изврат + тормоза... нет нормального решения. В гуях оно есть и очень простое и быстрое. Теперь, чем .NET лучше? Он производительнее. И только потому, что некоторые классы, которые входят в Framework, скомпилированы в бинарники. А вообще для бизнеса кроме SAP я достойных комплексных систем пока ещё не видел. А дельфи жил и будет жить, потому как для работы с БД ничего лучшего не придумано. Переносимость? Переносится при правильном подходе, даже сборки BDS2007 под Linux можно собрать. И вообще - всё зависит от рук, которые пишут код. У меня в портфолио лежит виндовый драйвер, написанный в дельфи, который эмулирует линии АТС с сервера. Т.е. дривер на клиенте подключается к серверу приложений, который контролирует офисную АТС. И с этими линиями на клиентской машине можно работать абсолютно любой программой, т.к. эмуляция происходит на уровне винды. На жаве такое реально вообще? Даже если качественно спроектировать java-программу, она будет тормозить - это факт. Вот моя точка зрения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 03:24:41 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
Мда! Забыл ещё пару слов о кроссплатформенности... Опросил 9 человек, 8 сказали, что кроссплатформенность никому сегодня на самом деле нахрен не нужна. Конечному пользователю глубоко наплевать, в чём он работает, главное, чтобы это по максимуму облегчало его труд. Один человек - он программист Java, сказал, что ему кроссплатформенность нужна, хотя сам он использовал только WIn и Linx, но это не есть точка зрения потребителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 03:34:14 |
|
||
|
Где применяется java?
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-Поднимаю тему, почитал ночью, волосы зашевелились не только на голове... ... Вот моя точка зрения. Я считаю, что форум Java не предназначен для священных войн между Java-технологиями и остальными. Модератор: Тема закрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 08:27:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34404071&tid=2144158]: |
0ms |
get settings: |
20ms |
get forum list: |
28ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
66ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
109ms |
get tp. blocked users: |
3ms |
| others: | 391ms |
| total: | 656ms |

| 0 / 0 |
