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

Вниз

Delphi vs. C++   Найти похожие ветки 

 
начинающий ©   (2004-09-05 17:04) [0]

Разговаривал с одним преподавателем по программированию (хотя лучше скзать - по С++). Он утверждает, что у Делфи нет будущего; компиллятор генерит намного более медленный код, чем Визуал С++; Дельфи не годится для больших проэктов (ну, скажем, габариты с MS Office).
Хотя достойно обстоять свою точку зрения он не смог, но, возможно, от этого проблема не исчезла. А что Вы думаете по этому поводу?


 
DrPass ©   (2004-09-05 17:07) [1]

Еще один...
Это у твоего преподавателя нет будущего. Пусть матчасть учит


 
begin...end ©   (2004-09-05 17:09) [2]

Я думаю по этому поводу, что даже если указанные недостатки имеют место, то это не означает, что у Delphi нет будущего. Таким образом, у преподавателя проблемы с логикой. Если это преподаватель по программированию, то, т.к. у него проблемы с логикой, - у него нет будущего.


 
начинающий ©   (2004-09-05 17:12) [3]

А как нащет сабжа? Действительно ли Делфи генерит оччччень медленный код? Или это поклёп?


 
Гаврила ©   (2004-09-05 17:18) [4]

Холи вар...
поклеп
что угодно можно написать на чем угодно
хоть на паскале , ххоть на си
скорость приличная
PS
вреплодаватею скажи что он неправ, если будет возможность


 
YurikGL ©   (2004-09-05 17:20) [5]

Путь на ВизуалАссемблере пишет, если скорости хочет.


 
Gero ©   (2004-09-05 17:20) [6]

Блин, опять...
Не надоело?


 
Игорь Шевченко ©   (2004-09-05 17:27) [7]


> Разговаривал с одним преподавателем по программированию
>


> Хотя достойно обстоять свою точку зрения он не смог


Кто-то из вас врет...


 
SPeller ©   (2004-09-05 17:32) [8]


>  компиллятор генерит намного более медленный код, чем Визуал
> С++;

Да, у VC компилятор сильнее в оптимизациях, но это вовсе не даёт права заявлять что Дельфийский прямо-таки тормоз выдаёт а не код.


> Дельфи не годится для больших проэктов (ну, скажем, габариты
> с MS Office).

У нас на работе на Дельфях написан проект для америкосов, откопилированный ЕХЕ весит 5 метров, прям как апликухи в офисе (всякой графики и прочей фигни в нем мало). А ещё на Дельфях написана бухгалтерская программа, по функциональности примерно 1/3 от 1С. При этом над всем этим (пропорции меняются) работает не более 10 человек программистов. 1-й проект пишем 1 год, второй два года. Первый два месяца назад ушел на внедрение, второй уже год как исправно работает. Так что ваш препод самый обычный сишник приплюсник, фанатик.


 
начинающий ©   (2004-09-05 17:34) [9]

2 Игорь Шевченко:
Врёт? Отчего же? Напр.: когда я спросил привести хоть один везкий аргумент в пользу C++ он ответил, что это язык, наиболее часто используемый при составлениии программ для компов. Меня лично это не убедило.
2 anyone:
Вы бы слышали тон его разговора: как будто я потерял рассудок, а он пытается бросить мне соломинку, которая меня спасет от неминуемого. Еще немного, и похоже, что он начал бы меня оплакивать. Жаль, что я не знаю ни одного более-менее крупного и известного проекта, сотворенного на Дельфи - можно было бы немного его обломать.


 
Ермак ©   (2004-09-05 17:35) [10]

Преимуществ языка C (но не С++!) по сравнению с Паскаль сейчас нет вообще. Скорость +-15% уже давно не является критерием для высокоуровневого программирования. Главное - суметь написать быстрый алгоритм, а уж компилятор - дело десятое...
Зато по ошибкоопасности - С - самый насыщенный язык. На втором месте - С++, на тертьем Visual Basic :-), затем Дельфи, Ява, а самым ошибкобезопасным считается Smalltalk.

Поэтому писать средний прикладной проект на Дельфи лучше всего.

В то же время я не противник, а напротив горячий поклонник С++. Но его стоит применять в задачах, требующих сложного проектирования со множеством взаимосвязей между сущностями. Там ему равных нет. Когда я разрабатывал виртуальную машину под динамический язык, я насчитал десятки моментов, которые нельзя было бы напрямую описать в иерархии классов Дельфи. Множественное наследование, шаблоны и перегрузка операторов - незаменимые вещи для таких задач. В дельфи с их эмуляцией начинается жуткий геморрой, который действительно приводит либо к нечитабельному и нерасширяемому коду, либо к падению быстродействия на порядок (что лучше выбрать - это вопрос, который не даст вам спать спокойно).

Резюме: единственное, но для многих задач огромное, преимущество С++ - возможности проектирования ООП и обощенного программирования (шаблоны).


 
Игорь Шевченко ©   (2004-09-05 17:42) [11]

начинающий ©   (05.09.04 17:34) [9]

Отчего врет ? Наверное, от того, что преподаватели обычно умеют обосновывать свою точку зрения, как минимум.


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


Это действительно так по отношению к паскалю. Хотя бы потому, что число программистов, знающих С (без плюсов) больше.

На самом деле, скорее всего, наибольшее количество программ написано на Basic"е или на Cobol"e.


> Жаль, что я не знаю ни одного более-менее крупного и известного
> проекта, сотворенного на Дельфи


Их есть, и немало. В основном, прикладные.


 
начинающий ©   (2004-09-05 17:46) [12]

Как раз препод. и говорил о том, что Дельфи - для среднячков, а не для профессионалов. Так же было сказано, что ни одна приличная фирма не станет набирать программистов со знанием Дельфи, а то что Дельфи более удобен с точки зрения ошибкобезопасности - ни кого не волнует, и бедным программистам приходится учить то, что надо, а не то что хочется.


 
Ермак ©   (2004-09-05 17:49) [13]

Хороший программист должен знать хотя бы два языка. Дельфи и Си++ - идеальное сочетание.


 
SPeller ©   (2004-09-05 17:51) [14]

То что Си распространённее - у этого языка поддержка очень сильная. Идин мелкософт чего стоит.

Вот писал бы Билл Гейтс изначально на Паскале, был бы сейчас Visual Pascal, а не Visual C++ :)


 
Игорь Шевченко ©   (2004-09-05 18:05) [15]

начинающий ©   (05.09.04 17:46) [12]

Мой совет, смени преподавателя, если возможно. Потому что ламер не сможет научить чему-то.


 
DrPass ©   (2004-09-05 18:46) [16]


> Вот писал бы Билл Гейтс изначально на Паскале

Ты будешь смеяться, но Windows была изначально написана на Паскале. Естественно, на Майкрософтовском, а не Борландовском. И они выпускали довольно передовой компилятор Quick Pascal. А потом стали делить сферы влияния с Борландом, и договорились: Микрософт не посягает на Паскаль, Борланд не посягает на Бейсик (впрочем, это неофициальная версия. И Борланд, и Микрософт упорно хранят молчание о причинах прекращения развития этих линеек компиляторов).
А преподавателя смени - фанатики никогда не были специалистами в программировании


 
начинающий ©   (2004-09-05 19:19) [17]

Игорь Шевченко ©   (05.09.04 18:05) [15]
...ламер не сможет научить...

А какие внешние признаки ламера? Мне кажется, что я еще не вышел ростом, чтобы человека годящегося мне в отцы называть ламером, и бросать в него упрёки в некомпетентности. А может лучше него С++ знает только Страустрап?


 
Nous Mellon ©   (2004-09-05 19:34) [18]

В пятницу тоже такая же ситуация была у меня. Познакомился со своим преподом по программированию. Эх он мне начал втирать :) Столько лапши на ушах я давненько не чувствовал. Сначала он мне сказал что С++ лучший язык. Я молча согласился. С++ и правда хорош чего тут спорить, но я и не собирался с ним спорить. А он расказал мне что Паскаль уже давно умер, потому что был под ДоС. На мое напонимание про Делфи, он ответил, что да, мол, есть такой зверек, но узкий и неказистый и испоьзуюется только малоквалифицированными программистами. Я и тут спорить не стал, а нафига?
Потом он еще рассаказал что Ассемблер никто уже давно не использует и не знает, что NET ничего нового не принесет, что Интел лучшие процессоры и их ГиперТрединг дает на одной машине преимущество в скорости в 50% перед тем же процессором но с ваыключенным HT. Потом пожаловался что у него слабенький проц P4 2.8. На этом я подакав спешно попрощался. Другого и не ждал.


 
Palladin ©   (2004-09-05 19:35) [19]


> А может лучше него С++ знает только Страустрап?

Еслиб это было так, врядли он сделал подобное заявление.


 
Юрий Зотов ©   (2004-09-05 20:36) [20]

> начинающий ©   (05.09.04 17:04)  

> Он утверждает, что у Делфи нет будущего;

Такое говорят с момента появления Delphi. А она все живет, и живет. Видимо, она просто не знает, что у нее нет будущего.

> компиллятор генерит намного более медленный код,
> чем Визуал С++;

Для меня довольно странно, что утверждения подобного рода не сопровождаются конкретными цифрами. Уж кто-то, а преподаватель должен был бы сказать примерно так: "в задачах такого-то класса код медленнее примерно на X процентов, для такого-то класса - на Y процентов, для такого-то класса скорость примерно одинакова, а в среднем код медленнее на Z процентов. Оценки проводились на компьютере таком-то, сравнивались компиляторы таких-то версий, методика сравнения была такой-то."

Когда-то читал статью Криса Касперски, где тоже сравнивались различные компиляторы. Но там сравнение шло вполне конкретное, в каждом тесте оговаривалось, что именно он тестирует, почему он составлен именно так, а не иначе, результаты приводились в виде конкретных цифр. А без всего без этого все заявления подобного рода - пустой звук.

> Дельфи не годится для больших проэктов (ну, скажем, габариты с
> MS Office).

Опять же - хотелось бы знать, почему не годится? Иначе снова получаем голословное (пустословное?) утверждение человека, не знающего предмета, о котором он берется судить.

Сама Delphi, как известно, написана на Delphi - это большой проект? Наш EXE-шник весит более 10 метров (а в исходниках насчитывает порядка миллиона строк) - это большой проект?

> Хотя достойно обстоять свою точку зрения он не смог, но,
> возможно, от этого проблема не исчезла. А что Вы думаете по
> этому поводу?

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

-------------------------------------------------------

P.S.
Чтобы сравнивать компиляторы двух языков, надо, как минимум:
- в совершенстве владеть обоими языками;
- иметь хотя бы представление о том, как устроен компилятор;
- на базе двух предыдущих пунктов разработать методику проведения тестов (для разных задач, языковых конструкций и пр.) - такую, которая была бы объективна и сравнила бы именно компияторы, а не что-то там еще;
- провести сами тесты;
- удостовериться в том, что их результам можно верить.

Иначе получаем примерно вот что:
"Слышал звон, да не знает, где он".
(c) Пословица.


 
Nous Mellon ©   (2004-09-05 20:47) [21]


>
> Такое говорят с момента появления Delphi. А она все живет,
> и живет. Видимо, она просто не знает, что у нее нет будущего.

Давайте не будем ей об этом рассказывать! Пусть остается в неведении и далее :) А то поверит еще во всякую чушь :)


 
KSergey ©   (2004-09-06 08:27) [22]

> [16] DrPass ©   (05.09.04 18:46)
> Ты будешь смеяться, но Windows была изначально написана
> на Паскале.

Мне очень нравится живучесть этой сказки ;))
Уже давно прошли времена упоминания слова pascal в шаблонах функций WinAPI - а сказка упорно живет ;)


 
31512 ©   (2004-09-06 08:54) [23]

Бедные, бедные, несчастные студенты.


 
Мюмзик в мове   (2004-09-06 08:55) [24]

начинающий ©
у Visual С++ есть будущее, пока есть будущее у Windows


 
Rule ©   (2004-09-06 09:04) [25]

Прикольная ветка, которая дала мне толчок вспомнить С, вчастности выучить вижуал С++, хотя я думаю это будет легче чем учить с нуля, так как я знаю синтаксис этого языка и углубленно щас изучаю принципы ООП, по учебнику Буча (кстати учебник таки ориентирован на С++) ...
Спасибо всем, а именно
Юрий Зотов ©   (05.09.04 20:36) [20]
Ермак ©   (05.09.04 17:49) [13]
Хороший программист должен знать хотя бы два языка. Дельфи и Си++ - идеальное сочетание.


Эти посты меня побудили на глубокое изучение С++


 
31512 ©   (2004-09-06 09:32) [26]

Всё это мне напомнило одну забавную ситуацию...
Мне надо было затянуть подшипник один на коробке передач. Я отогнал машину в сервис. Там надо было открутить задний кардан. Мастер берёт специальный гайковёрт (типа дрели какой-то) ставит насадку, откручивает 4 болта... Тратит на это, ну, скажем, 2 минуты (я не засекал). Производит все необходимые действия, закручивает всё на место. Я поездил немного, через некоторое время подшипник опять загремел. Я решил всё сделать сам. Сделал тоже самое, но обычными рожковыми ключами. Пыхтел, пыхтел... Убил на это минут 20. Опять поездил. Подшипник снова гремит. Я поехал на дачу, в деревню. А там есть у меня знакомый мужичок, Володя зовут его. Я прошу ему помочь. Говорю, мол, подшипник гремит, покажи как сделать по человечески. Он (under fly уже с утра) берёт те же рожковые ключи, что и у меня... Вжик, вжик, вжик... Тратит те же, условно,  2 минуты. Показывает, обьясняет, закручивает. Подшипник не гремит до сих пор...
----------------------------------------------------------------
Это я к тому, что от мастерства всё зависит. Инструменты разные, люди разные. Задача одна, а результат может тоже разным может оказаться.
----------------------------------------------------------------
По поводу проектов, написанных на Delphi...
Если я не ошибаюсь это The Bat, Nero... Мало ли их.

С кривыми руками даже на супер-пупер компиляторе делать нечего.
Таково моё скромное мнение...


 
1g0r ©   (2004-09-06 10:54) [27]

Может не совсем в тему, но думаю будет интересен сравнительный анализ компиляторов С++ (Microsoft Visual C++ 6.0, Intel C++ Compiler 4.5, Borland Builder 6.0, MinGW)

ИМХО неплохая такая разборка :)
http://www.cpp.com.ua/?in=kpp_show_article&kpp_art_ID=202&SearchString=компилятор&by_id=3


 
Суслик ©   (2004-09-06 11:10) [28]

У меня был приятель. Мы вместе учились в школе. Во времена появления первых персоналов - xt (персоналки были и раньше, но мы тогда были в начальной школе) он серьезно занимался программирование. Она деж ВО не получил из-за своего пристрастия именно к программированию - паскаль, си, си++, асм и пр. Занимал призовые места на конкурсах "демонстрашка в 16 байт", "демонстрашка в 128" и т.д. Т.е. серьезно знает асм.

Сейчас он полностью ушел от MS - использует только юникс, линукс и пр. Он там является специалистом по безопасности - фактически консультантом. Ездит по всяким международным конференциям - свободный софт, безопасность и т.д.

По его словам и MS c++ и delphi по оптимальности генеренного кода сильно проигрывают c++ под unix (названия производителя не помню). По его словам даже он практически не может ничего ускорить в полученном коде.

Зачем я об этом. Ясный перец, что я в этом не разбираюсь. Просто хотелось привести слова уважаемого мной человека, которые говорят о бесмысленности споров MS C++ vs Delphi.


 
Rem   (2004-09-06 11:11) [29]

[10] >>огромное преимущество С++ - возможности проектирования ООП

А Object Pascal что, инвалид в этом?


 
BorisMor ©   (2004-09-06 11:12) [30]

Пусть препод так не радуется. Скоро(годика 3/4) все перейдут на NET и  всем будет глубоко фиолетово на чем написан твой проект. На VB, VC++, С# или Delphi. Будет работать с более менее одинаковой скоростью + к этому в одном проекте можно будет использовать разные языки. В общем ждем эры коммунизма от Microsoft :)


 
Суслик ©   (2004-09-06 11:16) [31]


> А Object Pascal что, инвалид в этом?

Сейчас Шевченко меня ногами запинает (Юрий Зотов тоже думаю присоединиться), но в java или в C++ реализация ООП мне нравится больше (а чем дальше, тем еще больше :-р))).

Я считаю, что в ООП в указанных языках выше защита от дурака. Т.е. автор классов может лучше управлять возможным использованием классов: если автор не хочет, чтобы класс исползовали определенным образом, то он может проинструктировать компилятор этот момент проконтролировать.

В ООП в дельфи, тоже есть свои преимущества. Но для меня (лично) они не перевешивают недостатки.


 
0d08h   (2004-09-06 11:19) [32]

труба полная С++, Паскаль главное чтоб ты хорошо учился.

Язык программирования только инструмент.


 
wicked ©   (2004-09-06 11:21) [33]


> Может не совсем в тему, но думаю будет интересен сравнительный
> анализ компиляторов С++ (Microsoft Visual C++ 6.0, Intel
> C++ Compiler 4.5, Borland Builder 6.0, MinGW)
>
> ИМХО неплохая такая разборка :)
> http://www.cpp.com.ua/?in=kpp_show_article&kpp_art_ID=202&SearchString=компилятор&by_id=3

очень предвзятая статья с очень спорными утверждениями и выводами....


> По его словам и MS c++ и delphi по оптимальности генеренного
> кода сильно проигрывают c++ под unix (названия производителя
> не помню). По его словам даже он практически не может ничего
> ускорить в полученном коде.

свежо предание... :-/
единственный компилятор, который (опять таки, "в статье прочитал") имеет преимущество на генерации кода с плавающей точкой, так это Intel c++.... про SSE, XMM и прочая умолчим, поскольку это уже различия в самой линейке x86 от разных производителей...


 
KSergey ©   (2004-09-06 11:21) [34]

> [31] Суслик ©   (06.09.04 11:16)

Возможно, это от недопонимания.
Выскажу такую вещь: в С++ единица инкапсуляции - класс, в Delphi - модуль.
А потому сравнивать надо сравнимые вещи.


 
Суслик ©   (2004-09-06 11:27) [35]


> KSergey ©   (06.09.04 11:21) [34]

Ну вот ты еще после ИШ и ЮЗ на мое недопонимание будешь указывать.

Конекретных примеров, чего нельзя в рамках указанного мной выше утверждения нешльзя сделать на Дельфи, а можно на СиПП я приводить не буду. Т.к. обязательно услышу, а зачем (как было раньше). Однако ж утверждение про большую гибкость ООП в сях и джаве не вчера родилось и не спроста: стимулом явилось изучшение ряда литературы, посвященной ООП. Чем больше думаю и пробую, тем больше убеждаюсь в своей субъективной правоте.


 
PVOzerski ©   (2004-09-06 11:30) [36]

IMHO, большинство подобных "критиков" Delphi сами его не юзали. Обидно, что иногда они, кажется, не ламеры. Например, на "Королевстве" один такой, предварительно продемонстрировав наличие определенных знаний в области программирования, вдруг заявил, что Delphi - исключительно средство интеграции компонентов, которые пишутся на Си...


 
Dok_3D ©   (2004-09-06 11:33) [37]

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

Это я сам только что придумал :)


 
Григорьев Антон ©   (2004-09-06 11:34) [38]

Единственное, чего лично мне не хватает в ООП-модели Delphi - это возможности создания объектов в стеке, чтобы они автоматически освобождались, когда переменная выходит из области видимости. Впрочем, от этого отказываются не только в Delphi, но и в других языках (если не ошибаюсь, в той же Java). Почему - я так и не понял.


 
jack128 ©   (2004-09-06 11:38) [39]

а вот что думает сам Страструп о С++ http://hacknet.spb.ru/html/review/001/03_bjstrous.html :-))


 
Суслик ©   (2004-09-06 11:38) [40]


> Григорьев Антон ©   (06.09.04 11:34) [38]

мне не хватает:
1) друзей классов
2) private конструторов и деструкторов (т.е. никто не может создать и удалить объект - только статический собственный метод).
3) статических переменных.



Страницы: 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 вся ветка

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

Наверх





Память: 0.59 MB
Время: 0.041 c
14-1095409956
wal
2004-09-17 12:32
2004.10.03
Cпециальные символы. Происхождение.


3-1094046818
Heretic
2004-09-01 17:53
2004.10.03
Регистрация Ehlib


1-1095161589
X9
2004-09-14 15:33
2004.10.03
Утечка памяти при использовании TForm


9-1086474625
RyDmi
2004-06-06 02:30
2004.10.03
Работа с видеокартой


1-1095332052
l1gic
2004-09-16 14:54
2004.10.03
Настройка MaskEdit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский