Microsoft прекратит развитие Visual Basic в качестве языка программирования

Microsoft прекратит развитие Visual Basic в качестве языка программирования
31.03.2020
26308

11 марта компания Microsoft сообщила, что больше не планирует развивать Visual Basic (VB) и добавлять для него новые функции. Разработчикам VB корпорация предложила перенести свои наработки на платформы .NET Core или .NET 5.0, где сохранится поддержка языка.

Постепенный отказ от Visual Basic

Microsoft Visual Basic – язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемые корпорацией Microsoft.

Еще три года назад Microsoft заявила, что прекращает совместное развитие Visual Basic и C#. Согласно статистике компании, язык программирования C# является более популярным и востребованным среди разработчиков: «C# используют миллионы людей. VB – сотни тысяч». Техническая документация Microsoft представлена только на C#. Найти что-то на VB становится все труднее. По этой причине принято решение, что новые функции будут добавляться только для C#. Для развития Visual Basic стали использовать более простые сценарии, в которых его применение было доминирующим.

Что делать разработчикам VB

В конце 2020 года Microsoft планирует выпустить релиз платформы .NET 5.0, которая объединит .NET Framework и .NET Core. Новая версия платформы, как и .NET Core, будет поддерживать Visual Basic, но без добавления новых функций для развития языка.

VB все еще востребован среди некоторых разработчиков. За период двадцатилетнего существования язык продемонстрировал свою стабильность. Поэтому компания пока не отказывается от поддержки языка на новой платформе. Кроме того, в Visual Studio периодически добавляют новые функции, которые будет полезны и для разработчиков Visual Basic на .NET Core или .NET Framework – например, поддержку сервиса подсказок по коду IntelliCode для работы с Visual Basic.

Если более ранние версии .NET Core поддерживали только типы библиотек классов и консольных приложений, то на платформе .NET 5 для Visual Basic будут поддерживаться:

  • Class Library
  • Console
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • Worker Service
  • ASP.NET Core Web API

Минусом для разработчиков станет то, что не все наследуемые решения будут поддерживаться в дальнейшем. Например, приложения, созданные с использованием таких технологий, как WebForms, Workflow или Windows Communication Foundation. Причина – VB, написанный на платформе .NET Core будет несколько отличаться от VB, написанного на предыдущих версиях .NET Framework, в силу различий и в самих платформах. Для таких приложений придется использовать более ранние версии классического .NET Framework. Здесь эти программы будут работать до тех пор, пока не прекратится поддержка версий Windows, на которых они были установлены изначально.

Подробнее о планах Microsoft
Автор:
Редактор

См. также

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1912    VKuser24342747    4       

2

С помощью библиотек и средств визуализации Python можно будет манипулировать данными Excel, а затем использовать полученные результаты в формулах, диаграммах и сводных таблицах.

28.08.2023    1151    VKuser24342747    0       

2

Спустя пять лет разработки вышел релиз компилятора для языков программирования Python и Cython – проект Cython 3.0. Он позволяет транслировать код Python в представление на C/C++.

28.07.2023    1729    VKuser24342747    0       

2

GitLab представила собственную нейросеть Code Suggestions, способную генерировать код по запросу на естественном языке. ИИ-помощник поддерживает работу с 13 языками программирования.

10.07.2023    1740    VKuser24342747    0       

1

Stack Overflow представил рейтинг языков программирования за 2023 год. В исследовании учитывали не только частоту применения языка, но и интерес разработчиков к нему. Также компания составила рейтинг платформ и ИИ-инструментов. 

20.06.2023    2111    VKuser24342747    1       

2

По итогам внедрения поддержки разработки на Rust снизилось число уязвимостей, связанных с управлением памятью. Инженеры считают, что основное внимание нужно уделить написанию нового кода, а не переписыванию старого.

14.12.2022    7525    VKuser24342747    0       

3

В статистическом отчете репозитория названы самые популярные языки программирования среди пользователей платформы, а также данные об активности аудитории сервиса.

01.12.2022    8920    VKuser24342747    11       

3

Ричард Мэттью Столлман, основатель Фонда свободного программного обеспечения, представил руководство по языку C и расширениям GNU. Пособие доступно всем желающим и предназначено как для опытных, так и начинающих программистов.

19.09.2022    12253    VKuser24342747    0       

4

Комментарии

Инфостарт бот
1. starik-2005 31.03.20 15:41 Сейчас в теме
Ну хоть мелкософт не боится отказаться от устаревшего морально и психически языка. 1С стоит поучиться у гигантов программостроения )))
a_a_burlakov; testnv0; Darklight; +3 Ответить
4. AlexandrSmith 31.03.20 16:15 Сейчас в теме
(1) Вы наверно не программировали на VB. Последнее время его конструкция не отличалась от C#. Вся среда реплэйсами практически могла быть переработана в C# и наоборот, так что для громких заявлений связанных с отсутствием Билла Гейтса в компании неграмотные люди выбрали довольно удачное время. А Microsoft просто не знает как оправдаться в проигрыше Google по нескольким направлениям деятельности. Мне в принципе все равно, так как я программировал последнее время в C#, но довольно большому количеству людей придется переучиваться и это не хорошо.
6. Darklight 31.03.20 16:21 Сейчас в теме
(4)Как ни странно - пострадает больше именно США - именно там VB.NET был очень популярен, не сильно уступая C# Остальной части мира этот VB по больше части давно дофени - кроме отдельных энтузиастов.
И отличий там порядочно вот перевод статьи участника команды , развивавшей VB.NET - там указано 33 различия (несвязанных напрямую с синтаксисом, а больше с логикой поведения и особенностями компиляции).

С другой стороны - если языки такие одинаковые - какой смысл их поддерживать оба!
В своё время, по той же причину (ну и в силу крайне низкой популярности) - Микрософт уже свернула развитие одного языка - Visual J# - Java-подобного языка , но он так вообще не был популярным и просуществовал всего несколько лет, и безболезненно скончался более 10 лет назад - много там не накодили

Ну а для Visual Basic .NET всё-таки хорошо бы сделать официальный конвертер программного кода в C# - чтобы упросить переход от одного языка к другому. Хотя в этом и нет очень большой необходимости - ведь всё что скомпилировано на VB.NET легко подключается программа на C#
7. starik-2005 31.03.20 16:33 Сейчас в теме
(4)
Последнее время его конструкция не отличалась от C#
Охотно верю, т.к. сейчас программирование больше связано с использованием библиотек, а тут они с C# общие. Но могу также предположить, что вряд ли в VB есть такой же синтаксический сахар и функциональность, которая есть в C# (вот пример того, как реализован примитивный CallBaqck в VB - даже на 1С на мой взгляд не хуже)..

Но вообще, в VB все эти "dim" меня сильно напрягают. Раньше в Бейсике оператор dim четко определял массив, а сейчас любую типизированную, как я понял, переменную - т.е. сокращение от "dimension" (размерность, измерение) полностью утратило свой смысл. Раньше в Бейсике был в большинстве диалектов необязательный LET, теперь вот SET'ы, VAR'ы и прочие никому не нужные конструкции, вносящие дополнительный хаос (в TS еще добавили тот же LET, который на-лету превращается во что-то в JS).

На мой взгляд C# будет выразительнее: все идет как в Java от объекта -> SOLID, что позволяет достаточно сложные приложения ваять (хотя я лично выбрал бы серверную архитектуру, не завязанную на M$ - сэкономил бы бабла и выиграл бы в надежности, да и учат детей сейчас питону, а не VB). VB стал ООП на базе .NET, до этого он поддерживал только внешние объекты (на сколько я знаю). Так что в этом плане он не особо отличается от C#, но отсутствие синтаксического сахара, замыканий и многих других фич не принесут пользу проекту, который начат на VB.
8. Darklight 31.03.20 16:48 Сейчас в теме
(7)У C# тоже полно пережитков прошлого (в основном - перетянутого из С++ и Java, и накрученного впоследствии - лишнего груза). Думаю, когда-нибудь и от C# откажутся - но будет, это, правда, ОЧЕНЬ не скоро ещё
9. starik-2005 31.03.20 19:01 Сейчас в теме
(8)
У C# тоже полно пережитков прошлого
Я сам не особо люблю С#, да и не разрабатываю под винду, поэтому мне проще использовать С/С++, питон, js, даже PHP (хотя тут синтаксис вообще страшный и ужасный). Но тем не менее в C# есть полная поддержка ООП, замыканий, достаточная поддержка функциональности, и даже декораторы (не так изящно, как в питоне или TS, но тоже вполне себе) - как в других системах профессиональной разработки для поддержки широкого круга паттернов проектирования (кстати, именно из-за паттернов такая вот сложная у 1С БСП, ибо не хватает выразительности у средства разработки и "декораторы" и ООП приходится изобретать на коленке, а еще местами в структуре ключи не переставить - вообще ужас ужасный, это еще ассоциативный массив, то бишь соответствие, не вспоминать в части функциональности - там вообще ничего нельзя, даже по индексу получить).

С другой стороны, если хочешь быстро и почти любой сложности систему - на питончике прототипируй, потом, если скорости не хватит, на С/С++ либу нарисуй (ну или PyPy или cPython). Так что да, C# идет лесом )))
10. Darklight 01.04.20 08:52 Сейчас в теме
(9)Удивлён, что декораторы Питона Вам нравятся больше, чем атрибуты C#. На мой взгляд - атрибуты C# наиболее изящно применяются. А Декораторы питона (как и аннотации вJava) выглядят более коряво. Особенно в когда они применяются в Питоне для условной типизации. Впрочем, особо большой разницы нет. Тут, скорее дело просто в красоте итогового кода
11. starik-2005 01.04.20 10:54 Сейчас в теме
(10)
Удивлён, что декораторы Питона Вам нравятся больше, чем атрибуты C#
Ну в C# атрибуты - это класс, наследуемый от базового класса и дальше они как макросы просто добавляют свой "инлайн"-код ниже. В Питоне декораторы просто вызывают свою функцию для результата определяемой функции. В принципе не вижу разницы кроме дополнительной сложности в C#. Там в списке уже определенных декораторов превалируют функции сериализации и СОМ-окружения, а сейчас и SOAP-методов, которые свое отживают - все на REST-API переехало.
2. ellavs 31.03.20 15:50 Сейчас в теме
Жаль, мне он так нравился. Есть несколько работающих проектов на VB.Net. Хотя всё равно пришлось перейти на C#, т.к. реально документации и примеров на нем на том же Stack Overflow гораздо больше.
3. independ 31.03.20 15:59 Сейчас в теме
VBS остается, в 90-е в Lotus Notes 4.5 приходилось программировать на VB, еще помню торговое ПО VVS - тоже использовался VB
5. Darklight 31.03.20 16:19 Сейчас в теме
(3)я так полагаю они говорят о VB.NET (хотя об этом ни слова - но фраза "что прекращает совместное развитие Visual Basic и C#" и фраза "Новая версия платформы, как и .NET Core, будет поддерживать Visual Basic" на это прямо намекает). Просто VB (обычно говорят VB6) и VB.NET - это соврешенно разные языки. И на VB6 мелкомягкие уже давно забили! А именно VB6 лежит в основе VBA и VBS - причём VBA это практически VB6. Но, насколько я знаю - они все тоже давно не развиваются. И вряд ли у них есть будущее - в конечном итоге мелкомягкие от них полностью откажутся. Скриптовый язык для ОС у них есть другой - PowerShell. В остальных областях они будут применять платформу .NET - где, формально, можно писать код взаимодействия на любом языке, который компилируется в IL (и взаимодействует с исполнительной средой CLR и поддерживает спецификации CTS,CLS) - а внутри своих продуктов они оставят поддержку только исходного кода на языке C#.Но, думаю, этот переход произойдёт полностью не ране чем лет через 10, прежде чем от VBA и VBS откажутся полностью!
12. arviddron 27.03.21 09:54 Сейчас в теме
В конце концов что-то новое, что будет выходить на С# и не будет на VB.NET можно будет сделать на C# и скомпилировать в библиотеку или покет NuGet и присобачить к проекту на VB.NET. И всего делов-то.

Оставьте свое сообщение