Visual Basic kończy swój żywot. Microsoft nie widzi dla niego przyszłości
Charakterystyczny i nietypowy język programowania Visual Basic nie będzie już rozwijany podczas prac nad najnowszymi wersjami .NET Core. Zespół dotnet ogłosił, że VB zostanie przeniesiony na wersję piątą .NET i będzie obsługiwał aplikacje Windows Forms, WPF oraz ASP.NET Web API. Innymi słowy, istniejące programy w VB będzie się dało zbudować na najnowszej wersji .NET bez zmian, acz zapewne wiele komponentów będzie musiało celować w "Framework" a nie "Core".
13.03.2020 | aktual.: 13.03.2020 01:52
Obowiązkowym punktem programu podczas każdych dyskusji na temat języka Visual Basic jest poinstruowanie audytorium, że obecna wersja języka, znana przez pewien czas jako "Visual Basic.NET" jest mocno odmienna od klasycznego języka Visual Basic, znanego z wersji 6.0 Visual Studio oraz, w nieco zaadaptowanej postaci, z edytora makr pakietu Office. Do martwych, nierozwijanych inkarnacji dołącza po prostu najnowsza.
Zoptymalizowane skamieliny
"Nowy" VB jest pełnoprawnym, rzeczywiście obiektowym językiem opartym o .NET Framework. Wszystko co da się napisać w C♯, da się stworzyć w VB, wynikowy kod bowiem identyczny (teoretycznie). Dziwaczne ograniczenia VB6 są zupełnie nieobecne w .NET. Tam Visual Basic przestawał być frustrującą atrapą, w której do czegokolwiek trudniejszego i tak trzeba było wołać WinAPI.
Microsoft informuje zatem, że możliwe będzie przeniesienie aplikacji stworzonych w VB tak, aby dało się je przebudować wykorzystując nowszy, bezpieczniejszy i bardziej zoptymalizowany runtime bez konieczności przepisywania całego projektu do C♯. Jednocześnie możemy się tu doszukać prób zniechęcenia do podejmowania VB jako języka do napisania czegokolwiek nowego.
Czy .NET to zawsze .NET?
Mogłoby się wydawać, że to bez znaczenia. Skoro wszystkie nowości pojawiają się w C♯, ale tak naprawdę wynikają z CLR znajdującego się pod spodem, to chyba wystarczy użyć składni VB żeby się do tych nowości dobrać, prawda?
Niestety, to nie te czasy. Teoretycznie da się napisać cały kod tak, żeby VB mógł korzystać z dobrodziejstw najnowszego .NET. Bardzo rzadko zdarzają się struktury danych, których użycie wymaga zmian syntaktycznych. Niemniej, obecnie dodawanie nowych komponentów do rozwiązania lub projektu wywołuje automatyczne generowanie kodu-zaplecza, w postaci np. puli klas. Niektórych projektów w ogóle nie da się założyć w VB, a ich siłowe napisanie ręcznie skutkuje dziwnymi brakami.
Niewielu zatęskni
Nie ma już na świecie miejsca dla Visual Basica. Język ten miał kiedyś przyspieszyć pracę programistów, a następnie przyciągnąć ich do nowoczesnej obiektówki (kosztem Javy). Przez lata pozostał jednak "łatwiejszą wersją" .NET i brakowało mu dynamiki, by pokonać tę opinię. Poważne projekty pisano od razu w C♯, a gdy ktoś potrzebował czegoś szybkiego, nie oglądał się na .NET i sięgał np. po Pythona. Rynkowa przydatność VB jest marginalna.
Trochę szkoda, bo to mój ulubiony język programowania.