Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Delphi или C#


Автор: TheAviator 28.11.2003, 19:56
В чем написано большинство серьезных крупных коммерческих приложений?
По-моему в VC.. А я к Дельфи привык и по мне так он удобней.. И меньше надо с вызовами паршивых виндовых функций дела иметь.. Но почему-то Дельфи используют в основном для кустарных мелких работенок.. и как я понимаю, в основном в странах третьего мира. По инету тож смотрел, в основном на VC требуются спецы...
Так что, в коммерческом плане микрософтовский си все таки более привлекательный? Или я ошибаюсь.. Собсно интересно ваше мнение на эту тему.

Автор: Cheba 29.11.2003, 01:28
Все дело в стереотипах.

Стереотип № раз.
Давным-давно сложилось мнение, что С быстрее и немного гибче. Что до первого, то нельзя сказать однозначно - тут быстрее, там медленее. Это уж как повезет. А что о втором, то, как по мне, не более гибкий, а более погнутый.

Стереотип № два.
Еще рантше сложилось мнение, что Pascal - прародитель Delphi - нужен только для учебных целей. Сначала это было примерно иак, но со временем оказалось, что студенты, крайне ленивый народ, не захотели писать проги для себя на неизвастном С, а предпочитали тот же Паскаль. Так он стал потихоньку выходить из университетов, тем самым становлясь чем-то вроде "простого молотка" для программера - есть очень навороченные пневматические сияющие яркой эмалью аппараты для забивания гвоздей, но все мы по-прежнему пользумся обычными молотками.

Стереотоп № три.
Когда появилась Дэлфи, на нее посмотрели "авторитеты" и сказали: "Это для неповоротливых баз данных". И ушли писать на С "более прикладные" проги. Это далеко нетак. На Дэлфи можно написать очень много всего "прикладного" и быстрого, просто порой заточенность под тот же С немного мешает.

Стереотип № четыре (наиболее чатый аргумент против Дэлфи в спорах Дэлфи против С).
Дэлфи создает непомерно большие исполняемые файлы. Да они побольше, чем у С, но зато там работает все исправно и быстро, потому-что этот код оттачивался лет пять, как минимум. А ошибки в том же М$ Ворде - не удалось создать окно - это результа переписывания одного и того же кода от версии к версии. Да и потом, если мы уж говорим о серьезных проэктах, то какие-то 400 Кб, даже 5 Мб, особой роли не играют.

Ну, и просто так...
Про серьезные проэкты... Дело в том, что на них программисты не требуюся - они уже там есть, а если нет, то их не через Интернет ищут - им домой звонят. Потому о ни пости ничего и не слышно. А взять хотябы такой "серьезный" проект, как Винды... Разве серьезно выкладывать полтысячи баксов за десять тисяч ошибок.
В общем, работать нужно удобно, хотя знать и то, и другое не помешает.
КАк говорится, Касарю - кесарево. biggrin.gif

Автор: Dmitry V.Abramov 1.12.2003, 13:38
Цитата(TheAviator @ 28.11.2003, 19:56)
В чем написано большинство серьезных крупных коммерческих приложений?
По-моему в VC.. А я к Дельфи привык и по мне так он удобней.. И меньше надо с вызовами паршивых виндовых функций дела иметь.. Но почему-то Дельфи используют в основном для кустарных мелких работенок.. и как я понимаю, в основном в странах третьего мира. По инету тож смотрел, в основном на VC требуются спецы...
Так что, в коммерческом плане микрософтовский си все таки более привлекательный? Или я ошибаюсь.. Собсно интересно ваше мнение на эту тему.

1. Спрос на умеющих что-то лепить в VB гораздо выше, чем на VC.
2. Спрос порождают продукты MS (VB/VC) и Oracle/IBM (Java).
3. Спрос на программирующих в BCB сильно выше чем на Delphi ?

Мораль - дело не в языке программирования.

Вторая мораль: хочешь выгодно продаться - осваивай "выгодные" в данный момент VC/VB/J.

Третья мораль: хочешь _сам_ создать нечто работающее, не сильно глючное и в реальные сроки - делай это в том, в чем умеешь это делать и не оглядывайся на "общественное мнение".

Автор: NiJazz 1.12.2003, 13:43
Забавно... smile.gif
Да пусть каждый пишет на чём хочет!
Но С и правда более гибкий... smile.gif

Автор: stab 2.12.2003, 01:36
по поводу Стереотипа № четыре, т.е. про большой размер дельфийских исполняемых файлов, дело в том, что они полностью автономны, т.е. будут гарантированно работать в любой ОС от 95 до XP и не зависят от версий библиотек. А в VC, все лежит во внешних либах: msvcXXXX.dll, mfcXX.dll, не говоря уже о VB. smile.gif При чем для работоспособности проги нужна какая-то определенная версия этих библиотек, для этого MS Windows Update и придумал smile.gif

з.ы. попробуйте сделать в VC static build.

Автор: Cheba 2.12.2003, 01:56
2 cully
О чем собственно и шла речь...
Видимо у меня не получилось внятно разъяснить, что то, что кажется недостатком на самом деле оказывается преимуществом.

Автор: NiJazz 2.12.2003, 09:58
Цитата
1. Спрос на умеющих что-то лепить в VB гораздо выше, чем на VC.


Вот это огорчает. sad.gif

Автор: Albinos 2.12.2003, 21:50
smile.gif

Цитата
Еще рантше сложилось мнение, что Pascal - прародитель Delphi - нужен только для учебных целей. Сначала это было примерно иак,


Ну объясните мне пожалуйста для чего нужно ка ждый раз писать слова BEGIN и END? Чисто в образовательных целях... Ведь по существу никакой нагрузки эти слова не несут. Гораздо лаконичнее и читабельней { и }.

Раньше единственным достоинством Delphi (по-моему) была возможность бысьро слабать интерфейс. Да и программу в целом. Сейчас для этих целей лично я использую C#.

Цитата
Давным-давно сложилось мнение, что С быстрее и немного гибче. Что до первого, то нельзя сказать однозначно - тут быстрее, там медленее. Это уж как повезет. А что о втором, то, как по мне, не более гибкий, а более погнутый.


smile.gif

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

И еще, лично мое субъективное мнение (работал и там и там): больше погнут Delphi!!! Относительно MSVC...

Автор: stab 2.12.2003, 22:12
что-то тема переросла в спор, все таки я выскажусь по поводу перспектив C# smile.gif Перспективы такие:

1. На сколько я знаю релиз Longhorn перенесли на 2006 год => раньше этой даты расчитывать на коммерческий успех десктопных продуктов под .net расчитывать не стоит. Лучше накинуть еще 1-2 года, пока еще люди реально перейдут на LH.
2. В ближайщее время будут выходить новые версии .net framework => проблемы совместимости.
3. На данный момент требуется таскать с собой в дистрибе .net framework. Это нормально для продукции выходящей на дисках. Но застовлять будующего пользователя shareware программы скачивать помимо самой проги еще 20 Мб...

Короче, на ближайшие 1.5-3 года C# можно использовать только на сервере, больших проектах на CD и ради собственного удовольствия.

Автор: Frikazoid 2.12.2003, 23:16
А вот я бы не стал сравнивать Паскаль vs С++ и Delphi vs MSVC Это разные вещи! Паскаль действительно создавался только как обучающая среда, а С++ для профи. С дельфями уже другой разговор.
Я всю жизнь программил на Delphi и Pascal'e а теперь программлю под PPC и учу VB+VC.
Мораль: Надо знать как можно больше языков, чтоб быть гибким программером. И чтоб в любой ситуации мог растопырить пальцы и быть самым самым...

ЗЫ В разделе по VB есть тема точно такого же содержания!

Автор: Dmitry V.Abramov 3.12.2003, 03:30
Цитата(Albinos @ 2.12.2003, 21:50)
Ну объясните мне пожалуйста для чего нужно ка ждый раз писать слова BEGIN и END? Чисто в образовательных целях... Ведь по существу никакой нагрузки эти слова не несут. Гораздо лаконичнее и читабельней { и }.


Лаконичнее. Но не читабельнее. Особенно в безобразно оформленном исходнике.

Цитата
Раньше единственным достоинством Delphi (по-моему) была возможность бысьро слабать интерфейс. Да и программу в целом.


... да и с БД поработать. ...да и готовые компоненты использовать. До Delphi это было где-нибудь так удобно и все сразу?

Цитата
Сейчас для этих целей лично я использую C#.


Логично. Ведь его разрабатывает все тот же датский парнишка, что придумывал и TP и BP и Delphi...

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


Windows 1.0 и частично 2.0 писался на MS QuickPascal. Причем довольно забавно - QP генерил ассемблерный листинг, который потом оптимизировался вручную. Потом MS перетянул к себе создателя RSX11 для работы над winNT & OS2. Тот ничего кроме С не знал. Вдобавок ко всему, IBM свою часть OS2 писал на С. Зачем было городить Вавилонскую башню? Ребята приняли вполне здравое и объяснимое решение - свести все работы к одному языку...

ОС для суперкомпьтеров (тогдашних) Cray писалась на паскалеобразном языке.

Вот на С# пока ничего толкового не написано. Давайте его охаим! :)

PS: Вовсе не собираюсь защищать Паскаля. Просто аргументы прозвучали очень уж спорные.

Автор: Dmitry V.Abramov 3.12.2003, 03:44
Цитата(Frikazoid @ 2.12.2003, 23:16)
А вот я бы не стал сравнивать Паскаль vs С++ и Delphi vs MSVC Это разные вещи! Паскаль действительно создавался только как обучающая среда, а С++ для профи. С дельфями уже другой разговор.
[...skipped...]
ЗЫ В разделе по VB есть тема точно такого же содержания!

Забавно, но именно Basic создавался как "обучающий" язык. Pascal должен был прийти ему на смену. Вместо этого на смену пришел VB... :)

"С" создавался для замены "В", который в свою очередь заменил "А", который был ни чем иным, как надстройкой над макро-ассемблером для машин PDP-11 (Digital Equipment Corporation -- DEC) - первых массовых компутеров в те времена. Вот отсюда и "растут уши" у его системной предназначенности. Правда вот получается, что C++ - это надстройка над надстройкой над надстройкой над древним ассемблером... :)

Автор: Cheba 3.12.2003, 09:55
Так интересно! Столько нового из истории развития языков программирования узнал. Может новую тему об этом открыть?..

Автор: Albinos 4.12.2003, 02:45
Цитата
Лаконичнее. Но не читабельнее. Особенно в безобразно оформленном исходнике.


Здесь я бы поспорил. В безобразно оформленном исходнике на Дельфи тоже фиг разберешься. А в нормальном коде на Си с {} проще увидеть начало и колнец блока. В любом текстовом редакторе (без подсвечивания я имею ввиду).

Цитата
... да и с БД поработать. ...да и готовые компоненты использовать. До Delphi это было где-нибудь так удобно и все сразу?


Здесь безусловно согласен. Собственно, именно это и имелось ввиду.

Цитата
Логично. Ведь его разрабатывает все тот же датский парнишка, что придумывал и TP и BP и Delphi...


smile.gif

Цитата
Windows 1.0 и частично 2.0 писался на MS QuickPascal. Причем довольно забавно - QP генерил ассемблерный листинг, который потом оптимизировался вручную. Потом MS перетянул к себе создателя RSX11 для работы над winNT & OS2. Тот ничего кроме С не знал. Вдобавок ко всему, IBM свою часть OS2 писал на С. Зачем было городить Вавилонскую башню? Ребята приняли вполне здравое и объяснимое решение - свести все работы к одному языку...

ОС для суперкомпьтеров (тогдашних) Cray писалась на паскалеобразном языке.


Ну я же не сказал что все! В приведенном примере система практически писалась вручную и на ассемблере. Да и потом интересно - каких ОС больше - Windows 1, 2, etc или UNIX-подобных?

И совсем интересная вещь - паскалеобразный язык! Что это такое? Можно сказать, что Perl или Java - сиобразные языки smile.gif

Автор: Albinos 4.12.2003, 02:49
Да, собственно, какая разница кто на чем пишет - главное, чтобы результат удовлетворял всех!

Автор: Dmitry V.Abramov 4.12.2003, 16:47
Цитата(Albinos @ 4.12.2003, 02:45)
Цитата
Лаконичнее. Но не читабельнее. Особенно в безобразно оформленном исходнике.


Здесь я бы поспорил. В безобразно оформленном исходнике на Дельфи тоже фиг разберешься. А в нормальном коде на Си с {} проще увидеть начало и колнец блока. В любом текстовом редакторе (без подсвечивания я имею ввиду).

"{}" проще увидеть чем "begin end" ? Или речь о форматировании блока? Я ЗА хорошее форматирование. НО особенности моего зрения не позволяют на-лету различать {( и }) ...

Одно радует - в Си можно написать что-то типа #define begin { ...

:)

Автор: Dmitry V.Abramov 4.12.2003, 17:08
Цитата(Albinos @ 4.12.2003, 02:45)
Ну я же не сказал что все! В приведенном примере система практически писалась вручную и на ассемблере.

В приведенном примере ОС разрабатывалась, писалась и тестировалась - на паскале. Дорабатывалась, оптимизировалась и собиралась - на ассемблере. Подобное кросс-программирование практикуется и ныне.

Цитата
Да и потом интересно - каких ОС больше - Windows 1, 2, etc или UNIX-подобных?


Больше всего win32 - потомков Windows1/2 :)

Цитата
И совсем интересная вещь - паскалеобразный язык! Что это такое?

В Виртовкий Паскаль были добавлены конструкции для работы с памятью, портами ВВ и прерываниями.

Цитата
Можно сказать, что Perl или Java - сиобразные языки :)

Java - да. Perl - нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)