Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];

Вниз

новый проект   Найти похожие ветки 

 
PM   (2007-10-01 22:52) [0]

Есть новый проект, бюджет более чем хороший. Стоит ли начинать проект на Delphi? О Delphi слышал много хорошего, даже сам когда-то пользовался, впечатления ничего. Но вот есть такое мнение, что Delphi как бы типа не то чтоб умирает, но и не развивается, всякие новые фичи - только догоняние :) С++ и технологии .Net.


 
Черный Шаман   (2007-10-01 23:06) [1]


> PM   (01.10.07 22:52)


Используй C++ и QT, в этой связке крутоты поболее чем на 6600$


 
DVM ©   (2007-10-01 23:08) [2]


> как бы типа не то чтоб умирает, но и не развивается

Развивается он с тех пор как CodeGear за него взялась
Умирать перестал.


> всякие новые фичи - только догоняние :) С++ и технологии
> .Net.

Догонять в C++ ему нечего особо, может и наоборот.

Все зависит от проекта и знаний конкретных языков его участников. А также от сроков выполнения.


 
Riply ©   (2007-10-01 23:08) [3]

Писать надо на том языке, imho, который лучше знаешь :)
Но если дано еще и время на изучение другого, то я бы этим воспользовалась :)


 
Черный Шаман   (2007-10-01 23:21) [4]


> DVM ©   (01.10.07 23:08) [2]
>
>
> > как бы типа не то чтоб умирает, но и не развивается
>
> Развивается он с тех пор как CodeGear за него взялась
> Умирать перестал.


По сравнению с QT он мертв
http://trolltech.com/products/qt/features


 
ElectriC ©   (2007-10-01 23:26) [5]

смотря на какие платформы нацелен проект.


 
Petr V. Abramov ©   (2007-10-01 23:29) [6]

> Riply ©   (01.10.07 23:08) [3]
> Но если дано еще и время на изучение другого, то я бы этим воспользовалась :)
чтоб еще и птички при этом пели :)


 
korneley ©   (2007-10-01 23:33) [7]

Имеется:
1) Команда програмеров, выпустивших > 0 коммерческого ПО, разработанного из-под D1...2006.
2)Новое задание.
3)Сроки (вчера)
Вопрос: "Какую среду разработки предпочтут исполнители?"


 
wicked ©   (2007-10-02 00:07) [8]


> > DVM ©   (01.10.07 23:08) [2]
> >
> >
> > > как бы типа не то чтоб умирает, но и не развивается
> >
> > Развивается он с тех пор как CodeGear за него взялась
> > Умирать перестал.
>
>
> По сравнению с QT он мертв
> http://trolltech.com/products/qt/features

чудовищно....
чудовищный набор фич, на который надо потратить время
чудовищный рантайм, который нужно таскать за собой
чудовищная совместимость со разными компиляторами (они все еще используют свой препроцессор?)
чудовищные цены и условия


 
Zeqfreed ©   (2007-10-02 00:12) [9]

> wicked ©   (02.10.07 00:07) [8]

> чудовищная совместимость со разными компиляторами (они все
> еще используют свой препроцессор?)

Как они от него откажутся, если с его помощью реализуется добрая половина фич фреймворка? :)


 
Черный Шаман   (2007-10-02 00:27) [10]


> wicked ©   (02.10.07 00:07) [8]
> >
> > По сравнению с QT он мертв
> > http://trolltech.com/products/qt/features
>
> чудовищно....
> чудовищный набор фич, на который надо потратить время
> чудовищный рантайм, который нужно таскать за собой
> чудовищная совместимость со разными компиляторами (они все
> еще используют свой препроцессор?)
> чудовищные цены и условия


Написать на Delphi нормальную программу, которая будет нормально работать и под 9X и под NT(а особенно под Vista) уже подвиг.

Если нужен Unicode в Delphi, то проще изучить C# или Java и полностью переписать проект с нуля, чем прикрутить Unicode.

Ужасно кривые встроенные подключения к данным (и BDE и DevExpress), единственно что стоит внимания IBX, одна единственная база.

Кривая, глючная, с мемориликами на 6Мб и более файлах поддержка XML

Заднепроходные компоненты по работе с данными.

Еще перечислять?..


 
Черный Шаман   (2007-10-02 00:29) [11]

Delphi оправдывает только то, что MFC еще хуже, а WinForms требует .NET.


 
homm ©   (2007-10-02 00:33) [12]

> [11] Черный Шаман   (02.10.07 00:29)
> Delphi оправдывает только то, что MFC еще хуже, а WinForms
> требует .NET.

+1 :)


 
wicked ©   (2007-10-02 00:39) [13]

> Написать на Delphi нормальную программу, которая будет нормально
> работать и под 9X и под NT(а особенно под Vista) уже подвиг.
для кого подвиг?
всё пишется, всё работает (на билдере правда, но дела это не меняет)
или я что то не так делаю?

> Если нужен Unicode в Delphi, то проще изучить C# или Java
> и полностью переписать проект с нуля, чем прикрутить Unicode.
не знаю, не пробовал, может и так
но это к пунктам, перечисленным мной, не относится

> Ужасно кривые встроенные подключения к данным (и BDE и DevExpress),
>  единственно что стоит внимания IBX, одна единственная база.
BDE - давно умер
DevExpress - не пробовал
IBX - отдельная песня
опять таки, к пунктам, перечисленным мной, не относится

> Кривая, глючная, с мемориликами на 6Мб и более файлах поддержка
> XML
возьми другую библиотеку, делов

>
> Заднепроходные компоненты по работе с данными.
отсюда поподробнее

> Еще перечислять?..
в стиле "сам дурак" перечислять не нужно
желательно ответить на те пункты, которые описаны
если есть что сказать


 
Юрий Зотов ©   (2007-10-02 01:04) [14]

Хорошо известно, что кошек ненавидят те, кто не умеет их готовить.


 
Черный Шаман   (2007-10-02 01:19) [15]


> wicked ©   (02.10.07 00:39) [13]


Я здесь указал все недостатки Delphi которых НЕТ в QT. Так что единственный недостаток QT - это ее цена, в остальном сплошные преимущества.


 
Riply ©   (2007-10-02 01:26) [16]

> [15] Черный Шаман   (02.10.07 01:19)
>Так что единственный недостаток QT - это ее цена, в остальном сплошные преимущества.
"Всем хороша невеста, только чуть-чуть беременна" (с) Не_помню_чья
:)


 
Черный Шаман   (2007-10-02 01:46) [17]


> Riply ©   (02.10.07 01:26) [16]
>
> > [15] Черный Шаман   (02.10.07 01:19)
> >Так что единственный недостаток QT - это ее цена, в остальном
> сплошные преимущества.
> "Всем хороша невеста, только чуть-чуть беременна" (с) Не_помню_чья
> :)


Для обучения и персонального использования QT в полной редакции полностью бесплатна.


 
J_f_S   (2007-10-02 01:50) [18]

Опять же. О проекте неизвестно ничего. Может, его на Эрланге проще сделать. Или на Фортране. Откуда пошло меряние оконными библиотеками?


 
Riply ©   (2007-10-02 01:54) [19]

> [17] Черный Шаман   (02.10.07 01:46)
>Для обучения и персонального использования QT в полной редакции полностью бесплатна.
Да я ее (QT) не в коем случае не хаяла.
Просто меня всегда забавляют фразы типа: "Все великолепно, вот только...".
Обычно после "вот только" и начинается самое интересное :)


 
Черный Шаман   (2007-10-02 03:16) [20]


> J_f_S   (02.10.07 01:50) [18]
>
> Опять же. О проекте неизвестно ничего. Может, его на Эрланге
> проще сделать. Или на Фортране. Откуда пошло меряние оконными
> библиотеками?


QT это чуточку больше обычной оконной библиотеки, так же как Delphi чуточку больше, чем клиент для базы данных...


providing functionality for file handling, networking, process handling, threading, database access, event loop processing,  XML processing,  OpenGL integration, and more.


http://trolltech.com/products/qt/features/qtlibrary


 
J_f_S   (2007-10-02 03:24) [21]


> QT это чуточку больше обычной оконной библиотеки, так же
> как Delphi чуточку больше, чем клиент для базы данных..

Я это, в общем, всегда подозревал. ;)
Тем не менее не факт, что речь не шла, допустим, о разработке игры или программировании встроенного контроллера, или о веб сервисе. Советовать Qt, потому, что она "лучше" MFC web программисту довольно бесполезно.

Хотя, вообще, сложилось мнение, что за троллические сообщения автора бы неплохо по айпишнику...


 
Германн ©   (2007-10-02 03:26) [22]

Абсолютно и полностью согласен с [14]!
А всё прочее - флуд!


 
Германн ©   (2007-10-02 03:29) [23]


> Германн ©   (02.10.07 03:26) [22]

P.S, Ну разве что "буквоеды" могут уточнить, что в оригинале было "не любят", а не "ненавидят".
:-)


 
Котик Б   (2007-10-02 08:53) [24]


> PM   (01.10.07 22:52)  
> Есть новый проект, бюджет более чем хороший.


Мы уже согласны. Куда отсылать CV ?


 
boriskb ©   (2007-10-02 09:51) [25]

Приятно потолкаться к кругу "крутых прогеров"
Давно известно, что 90% повседневных задач можно запрограммировать на 90% существующих языков. Т.е. выбор языка для работы, для подавляющего числа проектов, не существеннен.
Тем не менее разговоры о том "какой язык круче" на этом форуме не умолкают.
Это может говорить лишь о том, что присутствующие занимаются только теми самыми 10% не стандартных/уникальных проектов, для которых выбор языка действительно важен.
Как же мне повезло - вращаюсь в таком изысканном обществе!


 
Плохиш ©   (2007-10-02 09:56) [26]


> Это может говорить лишь о том, что

... следующую песочницу с прыщавыми подростками подключили к мировой помойке :-)


 
Игорь Шевченко ©   (2007-10-02 10:01) [27]

Могильщиков развелось - плюнуть некуда, обязательно в могильщика попадешь.
Какая нахрен разница, на чем программировать, если есть готовый проект - я не понимаю. Хоть на структурном RPG, главное - реализовать


 
Kostafey ©   (2007-10-02 11:40) [28]

А что про Java так мало говорят?


 
Юрий Зотов ©   (2007-10-02 11:43) [29]

> Kostafey ©   (02.10.07 11:40) [28]

Наверное, потому, что о покойнике - либо хорошо, либо ничего...
:о)


 
b z   (2007-10-02 12:33) [30]

интересно, на чем, в итоге, остановились ...


 
Desdechado ©   (2007-10-02 13:02) [31]

> Ужасно кривые встроенные подключения к данным (и BDE и DevExpress),
>  единственно что стоит внимания IBX, одна единственная база.
1. Подключения не кривые, вполне нормальные, просто немного устаревшие.
2. DevExpress - это вообще набор посторонних компонентов. Если имелось в виду dbExpress, то вывод прост - ты совершенно не разбираешься в том, что пытаешься обхаять.
3. IBX - это не база, и даже не СУБД.

Еще перечислять?


 
Черній Шаман   (2007-10-02 14:07) [32]


> Desdechado ©   (02.10.07 13:02) [31]
> dbExpress


Ну да, dbExpress, просто оно оказалось настолько неюзабельно, что выбор был отдан сторонним компонентам работы с БД, отчего даже название это помнить смысла нет.


> 3. IBX - это не база, и даже не СУБД.


Это компоненты работы с определенной СУБД и причем единственной, которая нормально поддерживается с коробки.

В Delphi нормального только компилятор с диалекта паскаля, все остальное давно устарело и неюзабельно.


 
Ega23 ©   (2007-10-02 14:12) [33]

Надо сначала понять предметную область, оборудование, на котором будут работать инсталляции проекта, пожелания-требования заказчиков (например, для объектов ГосАтомНадзора в определённых областях применения MySQL просто не сертифицирован), сроки и общий уровень исполнителей.
Если тебе простенький клиент к базе нужен - Delphi наш выбор.
Если тебе драйвер ядра нужен, то Delphi тут несколько неуместен.
Ну и т.д.


 
evvcom ©   (2007-10-02 14:33) [34]


> что выбор был отдан сторонним компонентам работы с БД

И что? Из-за этого надо хаять всю среду? А что ты хотел? Чтобы тебе включили в стандартную поставку все супер-пупер компоненты? Зачем? Зачем повышать цену на продукт до заоблачных значений ради желания отдельных иметь в стандартной поставке ненужных остальным компонент? Borland сделали прекрасный инструмент как написания прикладного кода, так и кода для расширения стандартных возможностей. Даже если VCL тебя не устраивает по каким-то причинам, возьми и на фиг его перепиши! Есть тому пример. Тебе ж руки не связали. Чего выступать?

> В Delphi нормального только компилятор с диалекта паскаля,
>  все остальное давно устарело и неюзабельно.

Ты опять "ИМХО" забыл воткнуть. А мое ИМХО такое, что я нигде больше не видел среды более удобной, чем у Борланда. Может взгляды и познания мои и устарели, но пока они таковы.


 
Игорь Шевченко ©   (2007-10-02 14:49) [35]

Черній Шаман   (02.10.07 14:07) [32]


>
> Ну да, dbExpress, просто оно оказалось настолько неюзабельно,
>  что выбор был отдан сторонним компонентам работы с БД,
> отчего даже название это помнить смысла нет.
>
>
> > 3. IBX - это не база, и даже не СУБД.
>
>
> Это компоненты работы с определенной СУБД и причем единственной,
>  которая нормально поддерживается с коробки.
>
> В Delphi нормального только компилятор с диалекта паскаля,
>  все остальное давно устарело и неюзабельно.


А чего тебя так беспокоит собственно ? Тебя под прицелом не держат, заставляя на чем-то программировать, зачем так возбуждаться-то ?


 
Eraser ©   (2007-10-02 14:53) [36]


> Черній Шаман   (02.10.07 14:07) [32]

еще как юзабилено..
хотя новый проект я бы начал на C#.
Но вот учиться программированию лучше всего на Делфи, хотя бы потому, что VCL с открытым исходным кодом.


 
clickmaker ©   (2007-10-02 14:57) [37]


> хотя бы потому, что VCL с открытым исходным кодом

MFC тоже )


 
oxffff ©   (2007-10-02 14:57) [38]


> хотя новый проект я бы начал на C#.


А почему?


 
oxffff ©   (2007-10-02 14:59) [39]


> Eraser ©   (02.10.07 14:53) [36]
>
> > Черній Шаман   (02.10.07 14:07) [32]
>
..
> хотя новый проект я бы начал на C#.


Чего тебе не хватает?


 
tesseract ©   (2007-10-02 15:02) [40]


> Чего тебе не хватает?


У него PR-хороший.


> MFC тоже )


Акстись  от ентой ерунды.


 
Eraser ©   (2007-10-02 16:10) [41]


> oxffff ©   (02.10.07 14:59) [39]


> Чего тебе не хватает?

возможностей языка C# и платформы .net.. того же GC. Да и в MS VS 2008 много вкусностей обещают, и даже MSVS2005 на порядок стабильнее делфей.. хотя бы исправили глюк с автоскролом и русскими буквами, а то 5 лет все никак..

другое дело что многое, что легко напишу на делфи с трудом предствляю, как написать под .net, особенно это касается системных механизмов.. хотя это дело практики конечно.


 
oxffff ©   (2007-10-02 16:17) [42]


> возможностей языка C# и платформы .net.. того же GC.


Если не сравнивать среды. А сравнить языки.

Каких конкретно средств языка вам не хватает?
За исключением generics и GC.

Вопрос второй

Уже изучили IL? ;)


 
evvcom ©   (2007-10-02 16:18) [43]


> хотя бы исправили глюк с автоскролом и русскими буквами,
>  а то 5 лет все никак..

это о чем? С русскими буквами была какая-то беда, но, видимо, я так к этому привык, что уже забыл о ней :)

Склероз вылечить нельзя, зато о нем можно забыть (c) поговорка :-)


 
Eraser ©   (2007-10-02 16:38) [44]


> oxffff ©   (02.10.07 16:17) [42]


> Уже изучили IL?

эт еще зачем? ) лучше заняться куда более полезным делом, поспать к примеру )))

> Каких конкретно средств языка вам не хватает?За исключением
> generics и GC.

остального вполне хватает.

> Если не сравнивать среды.

а почему бы и не сравнить? )

> А сравнить языки.

а что тут сравнивать, что паскаль - лучший ЯП.. но развиваться надо.

> evvcom ©   (02.10.07 16:18) [43]


>  видимо, я так к этому привык, что уже забыл о ней :)

беда в том, что на работе приходиться работать в MSVS2005, поэтому когда сажусь за делфи ну никак не хочет забываться проблема с буковками, особенно когда комментарий написать надо )


 
Kostafey ©   (2007-10-04 18:04) [45]

> [29] Юрий Зотов ©   (02.10.07 11:43)
> > Kostafey ©   (02.10.07 11:40) [28]
>
> Наверное, потому, что о покойнике - либо хорошо, либо ничего...
>
> :о)

Вот иногода Вас не поймешь то ли шутка (но это черный юмор),
толи нет? Но если не шутка то почему?


 
Юрий Зотов ©   (2007-10-05 13:22) [46]

> Kostafey ©   (04.10.07 18:04) [45]

Шутка, конечно. Точнее, подколка любителей хоронить Delphi... а то их голословная агрессивность поднадоела уже...
:о)


 
Nic ©   (2007-10-05 13:34) [47]


> Юрий Зотов ©   (05.10.07 13:22) [46]

Это верно. Пока любители хоронить Delphi пытаются сделать это, другие работают и зарабатывают.


 
Суслик ©   (2007-10-05 13:37) [48]


> Это верно. Пока любители хоронить Delphi пытаются сделать
> это, другие работают и зарабатывают.


зарабатывают... на java.

шойто я не вижу ни одного профи ПРИШЕДШЕГО в дельфи, зато есть УШЕДШИЕ :)


 
Nic ©   (2007-10-05 13:41) [49]


> Суслик ©   (05.10.07 13:37) [48]

Никто не мешает зарабатывать хоть на каком ЯВУ. Я зарабатываю с помощью Delphi.


 
Суслик ©   (2007-10-05 13:43) [50]


> Я зарабатываю с помощью Delphi.

на дельфи вообще сейчас есть очень дорогие вакинсии - мало программистов потому, а поддерживать старые разработки нужно кому-то.

может и ошибаюсь, но можно имхо найти работу тысяц за 90р поддерживать старый проект на дельфи.


 
Eraser ©   (2007-10-05 13:44) [51]


> Суслик ©   (05.10.07 13:43) [50]

можно то можно, там скорее всего в довесок требуется недющенный опыт работы с тем же pl/sql и т.п. .. знанеие предметной области..


 
Eraser ©   (2007-10-05 13:46) [52]


>  недющенный

недюженный )


 
kaif ©   (2007-10-05 15:05) [53]

Мне кажется, что выбор верной платформы в основном зависит от того, насколько хорошо спланирована сама задача.
Если я точно знаю (жесткая задача), что именно хочу сделать, то в Delphi я это сделаю легко, больше отдыхая, чем напрягаясь.
Однако если задача размыта, десятки версий сменяют друг друга, пока заказчик, наконец, нащупает те решения, которые его на самом деле устраивают, то в таких ситуациях я замечал преимущество интерпретирующих сред. В чем сила, например, той же 1С? По сути, ведь, это совершеннейший отстой. Но то, что она содержит встроенный интерпретатор, помогает (в условиях разброда и шатаний заказчика вокруг способов решения своих проблем) десятки раз переделывать какие-то вещи, не ломая саму общую конструкцию.
Мне по стечению обстоятельств часто приходится разрабатывать (или дорабатывать) сервлетные проекты JAVA. Это один из видов того, что называют "интранет". То есть клиент-серверные трехзвенки (браузер, серверное приложение в виде обычного web-узла + база данных).
Ознакомившись с ASP.NET, могу сказать, что на мой взгляд ASP.NET на порядок лучше, чем эта технология. Так как в ASP.NET-е не поклоняются ООП, как в JAVA, а реально предлагают серверные "видуальные" компоненты с возможностью их самостоятельной разработки и доработки. То есть в ASP.NET мы имеем не мешанину HTML с серверным кодом, как в JSP, а специальные тэги компонентов, "живущих на сервере". Например, <asp:Button> или <asp:TextBox>. И обработчики событий для этих компонентов подключаются так же просто, как в Delphi, то есть назначением свойств типа "OnClick".  То есть программисту очень удобно кликнув по кнопке в дизайнере формы, например, тут же попасть на текст обработчика ее нажатия, написанного на нормальном языке типа C# или том, который он предпочитает (например, VB).
 Зачем я об этом пишу?
 ИМХО, может стоит подумать в направлении применениия ASP.NET, если проект большой и невнятно спланированный?
 Так как если он хорошо спланирован, то я не вижу смысла мучиться выбором платформы. Берите ту, на которой имеете большой опыт проектирования. Delphi - не худший выбор. Так как из всех сред, на мой взгляд, она наиболее комфортна для программиста и позволяет делать простые вещи просто, а сложные не возбраняет делать грамотно.


 
Interior   (2007-10-05 18:26) [54]

Хорошо сказал.
+1


 
Anatoly Podgoretsky ©   (2007-10-05 18:28) [55]

> Суслик  (05.10.2007 13:37:48)  [48]

Пусть уходят, нам больше останется.


 
Суслик ©   (2007-10-05 18:28) [56]


> [54] Interior   (05.10.07 18:26)
> Хорошо сказал.
> +1


особенно мне понравилось, что и плохого ничего не сказал про дельфи, а все же отвадил :р


 
Черный Шаман   (2007-10-05 19:06) [57]


> kaif ©   (05.10.07 15:05) [53]


JSF + JSTL не хуже ASP.NET. Только основную часть бизнес-логики лучше все таки перенести в объекты, а не тупо шарашить в обработчики событий.

Визуальное рисование веб-формочек на том же JSF есть в NetBeans - все как в Delphi - кнопочек накидал на форму.... э-э-э... на станицу и есть корпоративное веб-приложение. Мапинги переходов по событиям между страничками тоже визуально рисуются (конечно их можно прописывать руками в xml файле).

Так что если Web- то только Java, если Desktop, то Дерфи конечно хорош, но QT по функционалу немного лучше.

Хотя сейчас пишу на Delphi, после тщательной обработки напильником под задачу вполне функциональная платформа. А хотелось бы чтобы прямо с коробки... :(


 
lookin ©   (2007-10-05 19:09) [58]

Интересно, Delphi еще изучают в ВУЗах? А то вот студенты на предложение поработать на Delphi высказались в духе, что Delphi уже слишком устарело. Причем я не понял, они про IDE говорили, или имели в виду Паскаль-язык....


 
kaif ©   (2007-10-05 23:35) [59]

Черный Шаман   (05.10.07 19:06) [57]
> kaif ©   (05.10.07 15:05) [53]
JSF + JSTL не хуже ASP.NET. Только основную часть бизнес-логики лучше все таки перенести в объекты, а не тупо шарашить в обработчики событий.
Визуальное рисование веб-формочек на том же JSF есть в NetBeans - все как в Delphi - кнопочек накидал на форму.... э-э-э... на станицу и есть корпоративное веб-приложение.


 А вот и нет.
 JSTL - жалкая попытка заменить конструкции типа <%...%> (jsp-шную мешанину с серверным кодом) на конструкции наподобие <if>...<else>...<foreach>... для якобы отделения дизайна страниц от бизнес-логики. По сути это чистейшее фуфло. И вдохновляет только придурков, свято верящих в то, что xml когда-нибудь станет языком программирования только потому что он универсален.

 А вот ASP.NET - тщательно продуманная система. По крайней мере у меня есть хорошая возможность сравнить обе технологии не на уровне разговоров, а в реальности.

 Ничего более отвратительного в программинровании, чем сервлеты, я лично в своей жизни не видел. Если у вас иное мнение, помогите мне решить одну проблему. Даже не решить, а хотя бы найти концы, откуда у нее ноги растут. Даже не найти концы, а хотя бы намекнуть на гипотезу, которая (при моем усердном самостоятельном расследовании) позволила бы вырулить на хвост проблемы.

 Итак, имеется среда разработки JDeveloper от самого ORACLE.
 Из-под нее стартует контейнер сервлетов oc4j.
 Имеется настроенный (в точном соответствии с документацией и совпадающий с сотней примеров того, как это следует делать) DataSource.

 Ссылку на этот дадасоурс получаем классическим способом (то бишь написав ту абракадабру java:comp/env, какая принята в этой JAVA-сфере JNDI (если я не спутал эту аббревиатуру - в джаве таких аббревиатур больше, чем объектов, которые сборщик мусора в каждом цикле подбирает)):

 Context env = (Context) new InitialContext().lookup("java:comp/env");
 dataSource = (DataSource)env.lookup("jdbc/OracleDS");
 

 После чего делается следующее:

     Connection con=null;
     Statement stmt=null;
     try
     {
         con = dataSource.getConnection();
         stmt = con.createStatement();
         ResultSet rs = stmt.executeQuery("неважно что");

         while(rs.next())
         {
             
           //неважно, что
         }
        stmt.close();
     }
     catch(SQLException sqle) {
        System.err.println(sqle.getMessage());
     }
     finally
     {
        try {if (con != null) con.close();}
        catch (SQLException sqle){}
     }  


Так вот вопрос на засыпку.
Как сделать так, чтобы после запуска подобного сервлета соединение действительно было закрыто?
Дело в том, что даже после рестарта контейнер oc4j сообщает о том, что соединение ТАК И НЕ БЫЛО ЗАКРЫТО.

Если Вы поищете в google, то Вы найдете массу чуваков, которые замучились решить этот вопрос, но так ни к чему и не пришли. Способа искать хвост этой проблемы я не знаю и подозреваю, что никто не знает.

В .NET у разработчика есть возможность закрыть соединение и удалить объект connection принудительно, а не надеяться на сборщик мусора и глюки контейнеров.


 
Petr V. Abramov ©   (2007-10-06 00:51) [60]

> Итак, имеется среда разработки JDeveloper от самого ORACLE.
если кто-то САМ умеет делать корешки, не факт, что вершки не будут кривыми.
>  Из-под нее стартует контейнер сервлетов oc4j.
ты попал :)


 
Черный Шаман   (2007-10-06 01:39) [61]


> kaif ©   (05.10.07 23:35) [59]
> Так вот вопрос на засыпку.
> Как сделать так, чтобы после запуска подобного сервлета
> соединение действительно было закрыто?
> Дело в том, что даже после рестарта контейнер oc4j сообщает
> о том, что соединение ТАК И НЕ БЫЛО ЗАКРЫТО.


Насколько я знаю, то что вы хотите нарушает философию Java. Так что "закрытием" вы просто говорите сервлет-контейнеру, что данное соединение свободно и он позже его отдаст другому сервлету. Это сделано для кеширования соединений(просто некоторые ORM порождают до сотни соединений/отсоединений в секунду, и чтобы оно не тормозило выполняется кеширование). Вроде бы его можно закрывать, но это нужно указывать в где-то настройках Tomcat, Java к этому отношения не имеет.

В принципе Java написана для Индусов, которые обладают хорошей памятью, но низким интеллектом. Так что нужно это учитывать.


 
Celades ©   (2007-10-06 07:49) [62]


> В принципе Java написана для Индусов, которые обладают хорошей
> памятью, но низким интеллектом. Так что нужно это учитывать.
>
>

страшно подумать для кого написан Delphi...


 
Anatoly Podgoretsky ©   (2007-10-06 10:34) [63]

> Celades  (06.10.2007 07:49:02)  [62]

Что и с память плохо?


 
Kostafey ©   (2007-10-06 11:11) [64]

> страшно подумать для кого написан Delphi...

+1 :))


 
kaif ©   (2007-10-06 13:10) [65]

Черный Шаман   (06.10.07 01:39) [61]
Насколько я знаю, то что вы хотите нарушает философию Java. Так что "закрытием" вы просто говорите сервлет-контейнеру, что данное соединение свободно и он позже его отдаст другому сервлету.


Если Вы имеете в виду пул соединений, то я отключил пулирование. Пофиг. Вообще никакой разницы. Кстати, под Tomcat наблюдается та же пса.

Что касается философии, то мне видится дело следующим образом.
Представим себе, что разработчики Delphi поклонялись бы ООП, как богу Вишну. Тогда они вместо того чтобы сделать класс TForm  с ресурсом dfm и своей архитектрой обработки сообщений Windows, поступили бы проще.
Они бы инкапсулировали оконную процедуру в класс-оболочку TWindowProc и гордились бы тем, что после регистрации окна в Windows при помощи CreateWindowsEx очередь сообщений Windows направляет не какой-то там голимой процедуре, а настоящему КЛАССУ TwindowsProc. И предложили бы Вам этим ГОРДИТЬСЯ и чувствовать себя причастными к ВЕЛИКОЙ ФИЛОСОФИИ. А очередь сообщений обрабатывать темне менее вручную внутри методов TWindowProc, которых было бы заготовлено сто штук на все случаи жизни. Половина этих методов была бы deprecated (устаревшими и потому нерекомендуемыми для юзания). При этом Ваш код был бы "переносим" между платформами , но только при условии, что вместе с кодом Вам нужно каждый раз переносить на новое место ту же версию джава-машины и ту же версию JDK.

Если же Вы по неопытности при вызове какого-то из методов вдруг напутали бы тип параметра, то Вам всегда еще следовало бы помнить, что философия джавы состоит еще и в том, что если вызвать метод ПоклонисьВишну(int,String) вместо того чтобы вызвать метод ПоклонисьВишну(int,int), то Вы получите вовсе не сообщение "calling existing method with illegal parameters", как ожидает любой нормальный человек, а сообщение "method does not exisit". Хотя при этом конструкция вида print(String + int) сработает без проблем. То есть всегда нужно помнить о том, что в операторах иногда джава умеет конвертировать типы в строку, а вот при вызове методов - дудки - она даже не умеет распознавать методы по имени. Особенно это по-философски удобно, если юзается пакет стороннего производителя, где в какой-то версии действительно нет метода с таким именем, а в какой-то иной версии такой метод есть, но сигнатура у него иная.

Что касается jsp и сервлетов, то там архитектура  - вся наподобие той, что я описал, говоря о TWindowsProc. То есть НИКАКОЙ АРХИТЕКТУРЫ. Сервлет - это просто класс HttpServlet, имеющий метод service, который ничего иного не делает, кроме как умеет помещать командой принт строки в буфер ответа, который сервер отошлет клиенту. Текст файла JSP парсится и просто вставляется внутрь тела этого метода service. Все строки JSP, в которых найдены конструкции <% ... %> грубо переписываются без этих скобок, а все остальное (HTML-тэги) запихиваются в print. Так действует Tomcat. Светлой мысли в этом не больше, чем в любом парсере, который парсит что-нибудь и просит JDK откомпилировать резулбтат.
И это не имеет ничего общего с aspx-технологией, где вместо текста для неинтеллектуально парсинга и вставки в метод service имеется ресурс с серверными компонентами, имеющими события и свойства, записанные в атрибутах тэгов  с ясными именами, а не мешанина из HTML и голимого кода.

Вот знаете, что сообщит компилятор, если на JSP-странице упустить одну скобку в выражении a = e - ((b+c)/d) или одну операторную скобку?

Он сообщит, что метод try не имеет завершения catch.

Вот уж философия!


 
Celades ©   (2007-10-06 21:09) [66]


> Что и с память плохо?

"официальные" версии не верны на сегодняшний момент.


 
имя   (2007-10-07 22:09) [67]

Удалено модератором


 
имя   (2007-10-07 22:25) [68]

Удалено модератором



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.67 MB
Время: 0.036 c
2-1191920499
r.o.o.t
2007-10-09 13:01
2007.11.04
Закрытие формы


15-1191572000
Separator
2007-10-05 12:13
2007.11.04
Конвертация в pdf


2-1192194729
PPointer
2007-10-12 17:12
2007.11.04
Текстовый файл


15-1190833172
Ricks
2007-09-26 22:59
2007.11.04
Новый компьютер -> новые возможности -> новые проблемы


15-1191618106
SerJaNT
2007-10-06 01:01
2007.11.04
Тестирование в игровой форме





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский