Как един от най-популярните езици за програмиране се превърна в наследство без бъдеще

Visual Basic някога беше един от най-разпространените езици за програмиране, но днес интересът към него от страна на професионалните разработчици е почти нулев. Въпреки това езикът все още се използва за макроси в Office, за стари бази данни с Access и за наследени ASP уеб страници. Според индекса TIOBE, който измерва популярността на езиците за програмиране чрез интернет търсения, Visual Basic се нарежда на пето място, но инерцията за развитието му изглежда угасва.

Ранни години и възход

Историята на Visual Basic започва с QuickBASIC – среда за програмиране на BASIC, пусната от Microsoft през 1988 г. за операционната система DOS. QuickBASIC позволяваше писане на код без номера на редове, откриване на синтактични грешки при въвеждане и стартиране на програмата без излизане към командния ред. Днес проектът QB64 предлага съвременна версия на QuickBASIC, която работи на Windows, macOS и Linux, като преобразува BASIC кода в C++ и го компилира.

С излизането на Windows 3.0 Microsoft представи Visual Basic 1.0 – среда, която позволяваше на потребителите да създават графични интерфейси чрез рисуване на бутони и други елементи, и да добавят функционалност чрез двоен клик и писане на код. Това беше революция за начинаещите, тъй като не се изискваше познаване на сложния C++ или Windows API.

Фактори за успеха

Истинската сила на Visual Basic обаче не беше в графичните елементи, а в концепцията edit-and-continue, която позволяваше на разработчиците да редактират кода по време на изпълнение на програмата, без да се налага повторно компилиране. Тази функция коренно отличаваше VB от други среди за програмиране.

Оригиналният Visual Basic процъфтява около десетилетие. Към момента на излизането на VB 6 – последната версия на класическия Visual Basic – според приблизителни оценки в света е имало десет пъти повече програмисти на VB, отколкото на C++. Те са създавали не само прототипи, но и реални бизнес приложения. Технологията ASP (Active Server Pages) позволи на VB да навлезе и в уеб разработката, свързвайки се с бази данни и генерирайки HTML в реално време.

Критики и проблеми

Въпреки популярността си, класическият VB имаше лоша репутация сред привържениците на обектно-ориентираното програмиране, които го критикуваха за липсата на наследяване. Въпреки това към края на жизнения си цикъл VB вече поддържаше интерфейси, полиморфизъм и библиотеки с класове, взаимствани от COM архитектурата.

Според автора на оригиналната статия, истинският проблем на VB е бил, че е твърде успешен – той е премахнал бариерите пред начинаещите и е позволил на хора без програмистко образование да създават работещи приложения. Това обаче е довело до разпространение на лоши практики.

Преход към .NET и VB.NET

През 2002 г. Microsoft представи платформата .NET, която беше мащабна промяна в COM архитектурата. Новата версия на езика – VB.NET – изглеждаше подобна на класическия VB, но съдържаше съществени разлики: старите програми не бяха съвместими, помощникът за миграция беше неефективен, броенето на елементите на масивите започваше от 0 вместо от 1, и най-важното – edit-and-continue беше премахната. Група влиятелни VB разработчици дори прекръстиха новата среда на VB.Fred, за да подчертаят, че това не е истинският Visual Basic.

Въпреки тези промени, VB.NET донесе на езика уважението на професионалистите. В света на .NET VB и C# имат еднакви възможности и могат да се преобразуват един в друг. Но именно това равенство доведе до проблем: C# също възприе някои от удобствата на VB, като например обезопасяването на типовете и управлението на паметта, което направи VB по-малко специален.

Съвременно състояние и бъдеще

Днес Visual Basic е в странно положение. Той все още се използва за макроси в Office, за стари бази данни и за наследени уеб страници, и привлича начинаещи към .NET. Според индекса TIOBE той е на пето място по популярност. Но професионалните разработчици го игнорират – VB не се появява в анкетите за програмни езици, нито в GitHub хранилищата.

През 2017 г. Microsoft обяви, че ще добавя нови функции в C#, които може да не се появят във VB. Тенденцията за изтласкване на VB започна още преди години: ключовите елементи на .NET са написани на C#, а C# е предпочитаният език за презентации, книги, курсове и уъркшопове. Дори в образователния пазар, където VB би могъл да бъде естествен избор, днес се предпочитат C# и Python като по-лесни и безопасни за начинаещи, а за деца има графични среди като Scratch.

Макар VB да не изчезне бързо, бъдещето му изглежда мрачно. Той може да се превърне в поредния наследен продукт, недооценен и без обич от потребителите. Дали загубихме нещо ценно или просто се отървахме от стара технология, е въпрос, на който всеки разработчик може да отговори сам.