Все почалося до існування C #
Ще в 1999 році у нас була Visual Studio 5/6. Якщо ви були незалежним виробником програмного забезпечення або корпорацією, що використовували Windows, і вам потрібна була написана програма, яка могла б, наприклад, відстежувати час, який працівник витрачає на проекти, у вас було кілька варіантів:
- Форми в Visual Basic.
- MFC, ATL або Win32 у Visual C ++.
- Форми в доступі 97/2000.
- Веб-сайт ASP.
- Аплет Java.
У той час ми були перед тим, як спливаюча бульбашка Dot-Com вибухнула, тому будь-хто, хто мав будь-який хороший з (4) або (5), пішов обговорювати акції на будь-який дивовижний точковий ком, який їх приваблював.
(3) виникли проблеми із блокуванням та загальною масштабованістю, але я побачив багато рішень, керованих доступом, які дозволять виконувати функції підтримки за потребою.
Отже, це залишає нас з VB та VC ++:
На той час редактор Forms у VB був відмінним за продуктивністю. Ви можете перетягнути свої компоненти - не лише кнопки, мітки та текстові поля, а повний набір інструментів «OLE управління» з багаторазових компонентів, таких як розумні сітки, аркуші Excel або екземпляри IE. Підключення було зроблено за лаштунками - все було об’єктно, і ви просто двічі клацнули речі, щоб додати обробників подій. У Visual C ++ це було набагато складніше. В той час, будучи членом команди підтримки розробників Visual Studio, я можу згадати, як виклики підтримки Visual Basic здебільшого стосувалися того, який компонент найкраще використовувати або як оптимізувати їх застосування певними способами. Майже ніколи не було: "як зробити програму з функціями інтерфейсу користувача X, Y та Z".
Створення багатого інтерфейсу в Visual C ++ було іншим завданням. Хоча існувала підтримка редактора Visual для діалогів та форм SDI / MDI, вона була досить обмеженою. Підтримка вбудовування елементів управління OLE (ActiveX) в MFC або Win32 була чорним мистецтвом, хоча в ATL трохи простіше. Підключення простих речей, таких як події зміни розміру або залучення власника, було досить болісно, не кажучи вже про точки підключення, необхідні для користувацьких подій у компонентах.
Так, VC ++ мав швидкість виконання, можливість налагодження та гнучкі рамки / бібліотеки / параметри інтерфейсу користувача, але підтримка IDE не могла охопити всю цю проблему, тому вирішила найпоширеніші операції з такими речами, як Wizards, всебічна ієрархія класів MFC та 90 днів / 2 лінії підтримки без випадків.
IIRC, пакувач додатків, що постачається разом із VB, може упакувати ваше додаток, час роботи VB та найпоширеніші DLL-файли керування та поставити вам автономний інсталятор EXE, який ви можете поставити на компакт-диск та отримати клієнтів. Нічого цього "які msvcrtXX.dll і mfcxx.dll ви не встановили?", Що наштовхнуло розробників на MFC.
Отже, з моменту виходу на ринок та багатого користувацького інтерфейсу, VB отримав дуже велику кількість наступних.
Коли Visual J ++ та Visual Interdev потрапили у VS6, було зрозуміло, що Visual Basic IDE виграв битву за Visual C ++, що було справедливим IMHO. Зовсім не дивно, що Visual Studio .NET мав редактор форм, схожих на VB, для нової мови COOL C #.
Нова мова, схожа на Java / C / C ++ у поєднанні з дизайнером інтерфейсу користувача, яким користуються VB за весь цей час, дала новий шлях міграції для людей C ++, які зараз виконувались з MFC / ATL / Win32. Для VB 3/4/5/6 людей, яким не сподобалося відсутність 100% відсталої сумісності на VB.net, це дало можливість вивчити нову мову у звичному середовищі.
Причини того, що VB був настільки всеосяжним продуктом, ймовірно, мають щось спільне з походженням Microsoft, оскільки Basic є їхнім провідним продуктом для розробників, але на даний момент у мене немає жодних цитат.