Visual Basic 6: не рубите, мужики...

30 март, 2005 - 23:00Александр Москалюк Группа из 100 MVP, "наиболее ценных профессионалов" компании (а именно таким титулом Microsoft наделяет программных разработчиков, которые активно продвигают ее технологии на рынке), 11 марта подписала петицию, в которой отказ от поддержки языка программирования Visual Basic 6 назван ошибочным. В документе звучат призывы к Microsoft учесть как интересы тех, кто посвятил несколько лет своей профессиональной жизни изучению Visual Basic и воплощению проектов на его основе на предприятиях, так и интересы компаний, вложивших деньги в разработку приложений, использующих Visual Basic Runtime, обновления которого, по словам Microsoft, ожидать в ближайшее время уже не стоит.

С выходом платформы .NET, библиотеки приложений .NET Framework и среды разработки Visual Studio.NET приоритеты Microsoft трудно было назвать нечеткими. Компания предложила всем разработчикам, использующим C++, рассмотреть новую версию среды Visual C++ и заодно оценить язык C#, по синтаксису весьма напоминающий смесь С++ и Java. Тем же, кто предпочитал Visual Basic, -- в качестве альтернативы новый язык разработки Visual Basic.NET. Казалось бы, варианты почти идеальные для миграции.

Однако в то время как для многих программистов С# -- удобное продолжение знакомого С++, те, кто использует Visual Basic, получили, в принципе, абсолютно новый язык со сходным синтаксисом, но иной парадигмой программирования. Из-за этого и родилась на свет упомянутая петиция. Профессионалы высказывали нарекания не столько на сложности, связанные с изучением нового языка, сколько на непреодолимые барьеры, которыми чревата миграция с VB6 на VB.NET. Разумеется, тривиальные приложения, не поддающиеся переносу, можно переписать с чистого листа. Сложные же корпоративные разработки, созданные по иронии судьбы на языке, в названии которого присутствует слово basic, внезапно лишились основы для развития.

Безусловно, из-за того, что язык потерял поддержку, приложения, написанные на нем, не станут неработоспособными на следующий день. Однако если клиентскому ПО понадобится некая дополнительная функциональность, которая ввиду своей новизны не присутствует в Visual Basic 6 Runtime, разработчику придется либо писать приложение на одном из языков, поддерживающих .NET, либо же отказаться от внедрения задуманного.

Какие выходы из ситуации могла бы предложить Microsoft? В принципе, объявлять продукт мертвым -- это прерогатива любого производителя, однако своими успехами на рынке ОС Microsoft во многом обязана тем разработчикам, которые создавали приложения для платформы компании. С учетом весьма существенной разницы между двумя языками можно было бы выпустить некоторые инструменты, облегчающие миграцию, вместо того чтобы фактически заставлять программистов иногда переписывать приложения с нуля.

При обсуждении возможных выходов из положения на многочисленных форумах и в списках рассылки высказывалась идея открытия исходников Visual Basic 6.0 Runtime. В принципе, подобный шаг был бы для Microsoft не новым -- компания разместила на сервере SourceForge.net исходники инструмента для создания инсталляторов WiX и библиотек WTL. Однако открытие проекта масштаба Visual Basic Runtime потребует более активной работы с программистами, но, видимо, именно этого Microsoft сегодня старается избежать, объявив Visual Basic мертвым в следующей версии Visual Studio.