Здравствуйте, mihailik, Вы писали:
M>Забей. Это уже устаревший вопрос.
M>Все нормальные Дельфисты переезжают или уже переехали под Microsoft .NET. Архитектура — тот же Дельфи, но библиотеки поразнообразнее, поудобнее, и вообщё всё поновее.
Посмотрите на С# и сравните его Delphi vs C++(VS) (Борланд официально просит называть не Object Pascal а Delphi). Delphi здесь явно выигрывает и неудивительно ито и другое разрабатывал Хейлсберг. В Net не торопятся с шаблонами , хотя перегрузка операторов явно не помешала бы в Delphi, как впрочем и продуманные шаблоны. Лучше немного подождать Delphi.Net. Наверняка многочисленные изменения коснутся и Native Delphi.
А так это уже религиозный вопрос. В любом случае дельфистам предпочтительнее знать vs C++, а обратное по желанию. Но читабельность и скотрость разработки на .... выше.
и солнце б утром не вставало, когда бы не было меня
S> А так это уже религиозный вопрос. В любом случае дельфистам предпочтительнее знать vs C++,
Да не нужны эти плюсы Дельфистам. На C# лучше смотреть, он и понятнее и перспективнее.
S> а обратное по желанию. Но читабельность и скотрость разработки на .... выше.
По моим впечатлениям, C# в обоих категориях лучше Дельфи. Delphi.NET мог бы исправить положение, но слишком опаздывает. The time is almost up (Matrix 2).
Здравствуйте, mihailik, Вы писали:
S>> А так это уже религиозный вопрос. В любом случае дельфистам предпочтительнее знать vs C++,
M>Да не нужны эти плюсы Дельфистам. На C# лучше смотреть, он и понятнее и перспективнее.
S>> а обратное по желанию. Но читабельность и скотрость разработки на .... выше.
M>По моим впечатлениям, C# в обоих категориях лучше Дельфи. Delphi.NET мог бы исправить положение, но слишком опаздывает. The time is almost up (Matrix 2).
Не соглашусь, что Все Дельфисты перебежали на C# (хотя самому Оооочень нравится), а вот Delphi.NET ускорит переход на Net. И влюбом случае надо знать C#. А выход Delphi.Net в конце года и интересно какая будет трудоемкость по переписыванию приложений на Net .
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, DOOM, Вы писали:
DOO>По-моему есть warning. Но сейчас сказать точно не могу.
Зачем варнинг? Это же стопроцентная ошибка. DOO>А по поводу exception — в Дельфи базовый класс TException позволяет видеть что же случилось, даже если ты его не ловишь.
Ой... ексепшены... у меня в плюсах эксепшены оочень разговорчивые единственное что стектрейс не пишут.
DOO>В одной книжке я встретил правильную фразу, дословно не помню, что-то вроде, что существует объектно ориентированное пргораммирование и шаблонное программирование. DOO>Очень разные вещи, поскольку в STL нет никакого наследования, например.
STL это набор базовых контейнеров и базовых алгоритмов.
Внимание вопрос:Какое отношение ООП имеет к сортировке? А к двухсвязному списку?
Ну скажи мне тебе часто приходит в голову наследоваться от массива? А потом подумай чем логически stl'ные контейнеры отличаются от простых массивов?
DOO>А указатели-то никто не отменял. Все можно творить используя их. И логика программы по-моему тогда на порядок понятнее.
Слегка перефразируем. Вот такой контейнер очень даже может понадобиться
std::map<std::string, std::list<boost::shared_ptr<object> > >
Это ассациотивный массив списков смартпоинтеров на объекты. Нука покажи мне как ты это сделаешь на дельфях? Ы? Причем сложность поиска в std::map log(N).
DOO>Мне просто это больше нравится(ну просто псле программирования на asm'е появились такие привычки)
Что нравится? Писать тонну кода ручками каждый раз когда нужен ассациотивный массив на красно-черном дереве?
... << RSDN@Home 1.1 alpha 1 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
M>>Все нормальные Дельфисты переезжают или уже переехали под Microsoft .NET. Архитектура — тот же Дельфи, но библиотеки поразнообразнее, поудобнее, и вообщё всё поновее.
Я бы не кидался громкими фразами что "Все нормальные...".
Но некоторые — точно
Именно потому что нашли в C# хороший компромис.
>Лучше немного подождать Delphi.Net. Наверняка многочисленные изменения коснутся и Native Delphi.
В том-то и дело, что не так уж и лучше.
Было Delphi. Нормальной альтернативы в данной нише не было.
Теперь есть C#. От того же производителя, что и массовая операционка. С потугами на будущую кроссплатформенность (Kylix — тоже не более, чем потуги). Уже написана масса компонент и скоро это примет те же масштабы, что и у Delphi.
НЕЗАЧЕМ стало ОСТАВАТЬСЯ на Delphi.
Я Delphi всегда очень любил (с первой версии), но сейчас просто НЕЗАЧЕМ на ней оставаться.
Кое-что пока в Delphi IDE удобнее, чем в VS.NET, но в целом — за C#/VS.NET примущество.
Воздадим Delphi почести и поставим красивый памятник.
iT>Воздадим Delphi почести и поставим красивый памятник.
iT>Это все мое ИМХО.
Навряд ли. Достаточно много проектов написанных на Delphi легче перенести на Delphi.Net чем все заного переписывать. Да и Delphi для Net изначально лучше всех подходит под Net. Да и огромный контингент дельфистов по тем или иным причинам не перешедших на VS C# ( кто то Builder C# юзает) дождуться Net версии, тогда и посмотрим. Время покажет, а разнообразие языков еще никогда не мешало.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Jenyay, Вы писали:
DOO>>У меня тоже вроде нет. Но VS вообще довольно глючная... J>Не знаю как сейчас и Дельфи, но когда я писал на 4-м Билдере, глюков было до фига.
Я сейчас пишу на шестом. Сказать что он глючит это ничего не сказать.
... << RSDN@Home 1.1 alpha 1 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Jenyay, Вы писали:
J>Так тут другое дело, что память и выделяется и освобождается, когда надо, но сама. Хотя такими указателями я сам редко пользуюсь, но это не из-за глючности, а просто редко бывает запутанный код, что можно забыть освободить. Просто я стараюсь сразу после выделения памяти писать, где она освобождается.
А вто это очень зря. Для того чтобы я не использовал смартпоинтер нужна ооочень веская причина. Я даже с ходу придумать не могу.
... << RSDN@Home 1.1 alpha 1 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
J>>Так тут другое дело, что память и выделяется и освобождается, когда надо, но сама. Хотя такими указателями я сам редко пользуюсь, но это не из-за глючности, а просто редко бывает запутанный код, что можно забыть освободить. Просто я стараюсь сразу после выделения памяти писать, где она освобождается. WH>А вто это очень зря. Для того чтобы я не использовал смартпоинтер нужна ооочень веская причина. Я даже с ходу придумать не могу.
DOO>>В одной книжке я встретил правильную фразу, дословно не помню, что-то вроде, что существует объектно ориентированное пргораммирование и шаблонное программирование. DOO>>Очень разные вещи, поскольку в STL нет никакого наследования, например. WH>STL это набор базовых контейнеров и базовых алгоритмов. WH>Внимание вопрос:Какое отношение ООП имеет к сортировке? А к двухсвязному списку? WH>Ну скажи мне тебе часто приходит в голову наследоваться от массива? А потом подумай чем логически stl'ные контейнеры отличаются от простых массивов?
Спор пошел не в ту сторону. Я просто сказал, что шаблонное прграммирование — это совершенно иная техника программирования, которая, на мой взгляд не очень сочетается с ООП(не в том случае, если создаются только разного рода контейнеры).
DOO>>А указатели-то никто не отменял. Все можно творить используя их. И логика программы по-моему тогда на порядок понятнее. WH>Слегка перефразируем. Вот такой контейнер очень даже может понадобиться WH>std::map<std::string, std::list<boost::shared_ptr<object> > > WH>Это ассациотивный массив списков смартпоинтеров на объекты. Нука покажи мне как ты это сделаешь на дельфях? Ы? Причем сложность поиска в std::map log(N).
TStringList у которого объекты это TList, в котором хранятся указатели на нужные объекты — не вижу проблемы.
P.S. Конкрентные примеры из языка мне давать тяжело, поскольку инет на работе, а тут под рукой только VS
DOO>>Мне просто это больше нравится(ну просто псле программирования на asm'е появились такие привычки) WH>Что нравится? Писать тонну кода ручками каждый раз когда нужен ассациотивный массив на красно-черном дереве?
Почему тонну кода? Возьмем, к примеру, Array из JScript — умеет сортировать свои элементы qsort'ом, для счастья надо только функцию сравнения.
Тоже самое можно реализовать везде. Я просто имел ввиду, что пойнтер он и в Африке пойнтер, не важно на что указывает. И в роли type cast'а после asm'а я признаю логичные вещи типа Dword Ptr и т.п., соответственно, когда _bstr_t перегоняется в char * простым type cast'ом — это на мой взгляд не верно.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Jenyay, Вы писали:
DOO>>>У меня тоже вроде нет. Но VS вообще довольно глючная... J>>Не знаю как сейчас и Дельфи, но когда я писал на 4-м Билдере, глюков было до фига. WH>Я сейчас пишу на шестом. Сказать что он глючит это ничего не сказать.
Билдеры к делу не относятся, там по-моему даже компилятор сишный стоит доисторический, а весь VCL перегнан с паскаля(не руками).
Здравствуйте, bkat, Вы писали:
B>Ты думаешь это случайно?
Конечно нет! Просто VS дешевле(намного, VS7 по-моему вообще была бесплатной, у нас ее из нета качали), чем Дельфи(если брать все легально).
А, между прочим, один препод у нас заявил, что в "Европе и лучших домах Филадельфии "(за бугром, одним словом) ОТКАЗАЛИСЬ от С в промышленной разработке ПО, поскольку, цитирую, "этот язык похабен".
P.S. По его словам все прогрессивное человечество использует Аду.
P.P.S. Это цитаты, поэтому на их тему никаких дебатов.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, DOOM, Вы писали:
DOO>>Теперь ваща очередь... LVV> Давайте не путать язык, компилятор и IDE. LVV>1. Язык. С++ ИМНО богаче будет. Как раз за счет перегрузки операций и шаблонов. В остальном ИМХО — совпадают.
Согласен. LVV>Но!!! STL, как ни крути, стандарт С++! до чего Дельфям топать и топать.
Дельфи вообще не стандарт, а VCL дает огромную функциональность.
Здравствуйте, mihailik, Вы писали:
M>Забей. Это уже устаревший вопрос.
M>Все нормальные Дельфисты переезжают или уже переехали под Microsoft .NET. Архитектура — тот же Дельфи, но библиотеки поразнообразнее, поудобнее, и вообщё всё поновее.
Что значит забей? .NET языковонезависимая, т.е. начнется что лучше C#,C++,Delphi.NET и еще бог знает что.
Здравствуйте, mihailik, Вы писали:
S>> А так это уже религиозный вопрос. В любом случае дельфистам предпочтительнее знать vs C++,
M>Да не нужны эти плюсы Дельфистам. На C# лучше смотреть, он и понятнее и перспективнее.
S>> а обратное по желанию. Но читабельность и скотрость разработки на .... выше.
M>По моим впечатлениям, C# в обоих категориях лучше Дельфи. Delphi.NET мог бы исправить положение, но слишком опаздывает. The time is almost up (Matrix 2).
Может я и консерватор, но к C# я отношусь не лучше, чем к скрипту, поскольку Java так и не добилась хоть сколько-нибудь приличной скорости работы. Сомневаюсь, что это получится у C#(немного устаревшие результаты есть в статье на rsdn Средства разработки->сравнительные характеристики->кто сегодня самый шустрый)
Здравствуйте, DOOM, Вы писали:
LVV>> Давайте не путать язык, компилятор и IDE. LVV>>1. Язык. С++ ИМНО богаче будет. Как раз за счет перегрузки операций и шаблонов. В остальном ИМХО — совпадают. DOO>Согласен. LVV>>Но!!! STL, как ни крути, стандарт С++! до чего Дельфям топать и топать. DOO>Дельфи вообще не стандарт, а VCL дает огромную функциональность.
В том-то и дело, что не стандарт!
VCL — это не язык, это IDE. А тут VC делфей задавит:
MFC — практически стандарт, функциональности до черта.
ATL, WTL — функциональности немеряно.
Так что единственное, в чем дельфи явно превосходит ВСЕ (имно) сишные компиляторы — это скорость компиляции. Вот за это его можно любить.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
DOO>Тоже самое можно реализовать везде. Я просто имел ввиду, что пойнтер он и в Африке пойнтер, не важно на что указывает. И в роли type cast'а после asm'а я признаю логичные вещи типа Dword Ptr и т.п., соответственно, когда _bstr_t перегоняется в char * простым type cast'ом — это на мой взгляд не верно.
А самое смешное то, что этого самого одиозного _bstr_t в С++ не существует — это дикий Microsoft-specific, который ей понадобился для какого-то там сопряжения с COM, кажись. Лично мне он понадоблся всего один раз... Кстати, я тогда тоже плевался. А operator const char*, впрочем, и у CString есть. И это все действительно очень плохо, но, в общем, не фатально. Кстати, при этом тип не "перегоняется", а только отдает указатель на внутренний буфер...
B>>Ты думаешь это случайно? DOO>Конечно нет! Просто VS дешевле(намного, VS7 по-моему вообще была бесплатной, у нас ее из нета качали), чем Дельфи(если брать все легально).
Ага, афайк, VS7 enterprize стоит 7 килобаксов. Врочем, для промышленной разработки это копейки. А из инета можно много чего скачать, иногда даже раньше, чем продаваться начнет...
Здравствуйте, DOOM, Вы писали:
DOO>Спор пошел не в ту сторону. Я просто сказал, что шаблонное прграммирование — это совершенно иная техника программирования, которая, на мой взгляд не очень сочетается с ООП(не в том случае, если создаются только разного рода контейнеры).
Еще как сочетается.
DOO>TStringList у которого объекты это TList, в котором хранятся указатели на нужные объекты — не вижу проблемы. DOO>P.S. Конкрентные примеры из языка мне давать тяжело, поскольку инет на работе, а тут под рукой только VS
Производительность. Типобезопасность. Гарантия удаления объекта.
Нука напиши как будут выглядить удаление группы объектов в твоейсистеме на дельфях?
На С++ это выглядит так
container.erase(group_name);
Есть ГАРАНТИЯ того что все объекты из группы будут корректно удалены.
А добавляем объект в группу так
container[group_name].push_back(instance);
А перебераем так
std::for_each(container[group_name].begin(), container[group_name].end(), some_functor);
Или берем мой перегруженый
template<class T, class F>
F for_each(T& t, F f)
{
return std::for_each(t.begin(), t.end(), f);
}
for_each(container[group_name], some_functor);
А если так
std::map<my_cool_class, std::list<boost::shared_ptr<object> > >
Ы?
DOO>Почему тонну кода? Возьмем, к примеру, Array из JScript — умеет сортировать свои элементы qsort'ом, для счастья надо только функцию сравнения.
Производительность. Типобезопасность.
DOO>Тоже самое можно реализовать везде. Я просто имел ввиду, что пойнтер он и в Африке пойнтер, не важно на что указывает. И в роли type cast'а после asm'а я признаю логичные вещи типа Dword Ptr и т.п., соответственно, когда _bstr_t перегоняется в char * простым type cast'ом — это на мой взгляд не верно.
Да что ты к _bstr_t прицепился? По моему тем кто писал микросовтовские библиотеки надо оторвать руки за то что они там натворили.
К С++ это не имеет никакого отношения. Единственная библиотека имеющея отношение к С++ это STL все остальное шито по воде белыми вилами.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн