Delphi або Visual C - ось у чому питання

Днями я отримав листа з таким запитанням:

>Ви можете розповісти, чим відрізняється DELFI від VISUAL C++.

>У чому недоліки та переваги VISUAL C++, і яку програму з цих Ви порадите вивчати.

Відразу почну з другої частини питання. На нього відповідь можна було б передбачити, заглянувши на сайт. Я не великий фанат Microsoft, але працюю на їхньому продукті і вважаю, що тільки за те, що скрізь стоять програми від Білла Г. можна вибрати саме VC++. Згадайте, що Microsoft Visual C++ можна писати для MSOffice, писати обробники баз MSAccess, легко працювати з Windows NT, MS SQL Server.Так, що я більше схиляюся до VC++.

По роботі мені доводилося писати DLL і FLL (Foxpro Link Library) для Microsoft Visual Foxpro і це робиться досить легко, причому навіть у Help для Foxpro написано кроки, як робити бібліотеки саме на VC++. Книг з VC++ достатньо - вчися - не хочу. Та й програмісти потрібні, можна заглянути на www.job.ru. Звичайно, будь-який програміст буде затребуваний, якщо рівень його буде порівняно високим.

З погляду створення програм - різниця між Borland C++ Builder (якщо вивчати, його, а чи не Delphi, як більш просунуту систему) і VC++ просто величезна. Наприклад, різний підхід до структури додатків. VC++ каркасна структура, а Builder – компонентна.

При каркасному підході спочатку додаток створюється на основі каркасу і програміст додає функціональність. При цьому необхідно добре представляти структуру програми.

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

Я сказав би, що у VC++ можливостей більше для професіонала, але Builder легше для початківця. Можливо він більш зрозумілий інтуїтивно, а то й надто обтяжувати себе читанням літератури.

У Microsoft аналогічні можливості має Visual Basic (до речі, використовується для програмування MSOffice, рекомендую, як більш простий у вивченні, але не такий універсальний як VC++).

Знову ж таки для яких цілей застосовувати середовище програмування. Як писав Дмитро Турецький (провідний сайту www.listsoft.ru) якщо людина пише на С++ програму друку платіжний доручень і мови при цьому раніше не вивчала, то це принаймні викликає подив. Для того, щоб написати таку ж програму, на Visual Basic знадобиться значно менше праці на вивчення власне мови. Однак, я не у всьому погоджусь із Дмитром у цьому прикладі. Якщо програма не одна, а входить в інформаційну систему, то написати її може бути простіше і на Basic, але супроводжувати значно простіше на С++ з його об'єктно-орієнтованим підходом і строгим контролем даних. Але якщо ви пишете конкретне завдання, то можна використовувати мову оптимізовану для створення такого типу завдань. Щоправда, з появою DLL і OLE та ActiveX межі між мовами стираються. Адже завжди можна скористатися бібліотекою навіть не знаючи якою мовою вона була написана. Але все-таки, якщо є спеціалізований інструмент, то краще скористатися ним. Зазвичай це RAD засоби з наборами готових об'єктів для конкретної предметної області.

Інша справа-вибір між "однокласниками" такими як Builder і VC++ тут ​​більше питання звички, якщо вже вивчена якась із систем. У свій час я починав з Borland C++ для DOS. Але потім перейшов на VC++, благо для програмування під Windows там спочатку булинапрацювання Microsoft, які посилено проштовхувалися в маси програмістів, ця легкість, з якою створювалися графічні елементи у VC++, після роботи на TurboVision мене просто підкупили.

Delphi виріс із паскаля, за це його і люблять паскалісти. Builder - це суміш Delphi і BC++, а VC++ спочатку зростав сам собою, ще й тому він мені подобається більше. На початку своєї кар'єри я написав кілька простих програм на паскалі, але С++ стрункіший і мені симпатичніший.

У Borland краще справа з описами і HELP. Але VC++, як на мене, знає більше людей. Я маю на увазі на професійній основі, хоча дані для таких висновків суто суб'єктивні хто підрахує?

Глючність програм від Microsoft увійшла в історію, але, що дійсно точно, так це те, що глюків у MsVC++ значно менше, ніж в інших продуктах Microsoft (FoxPro, наприклад, з яким я досить попрацював). Не знаю як у Builder, на ньому багато не працював.

Та й дістати CD із Visual Studio простіше, ніж продукти Borland.

І напевно вбивчий аргумент на користь Microsoft так це підтримка VC++ таким CASE засобом для розробки додатків як Rational Rose. Підтримка саме VC++ дозволяє за графічними діаграмами класів створювати вихідний код проекту. По собі знаю, коли за тебе може створити код програма, хоча б і просто шаблон для класів, то немає бажання писати його руками.

Тепер я виходжу лише з часу, витраченого на вивчення. Якщо ви вже витратили кілька місяців на роботу, то шкода починати все спочатку і вивчати ще один інструмент. Краще знати одну мову, але добре, ніж мати поняття про кількох, без можливості написати щось серйозне.

Звичайно, розмова на тему яка мова програмування краща, схожа на питання якаіноземну мову вивчати англійську чи німецьку. Конкретної відповіді ніхто не дасть. Кожен варіант має свої плюси і мінуси. Я зупинився на Microsoft Visual C++, чого і вам бажаю.