СРЕДСТВА РАЗРАБОТКИ

В конце 2000 г. Microsoft представила первую бета-версию своего будущего инструмента Visual Studio.NET (VS.NET), что положило начало бурной дискуссии в многомиллионном сообществе VB-программистов о перспективах перехода от классического VB (представленного последней версией 6.0) к новой системе VB.NET, базирующейся на качественно иных архитектурных решениях и парадигмах разработки. Основная проблема заключалась в том, что впервые за десятилетнюю историю VB самым решительным образом нарушалась совместимость программного кода при переходе к следующей версии системы, а, значит, впереди можно было ожидать очень серьезных сложностей с поддержкой и развитием унаследованных систем, реализованных на VB6.

Актуальность темы подтверждалась тем фактом, что, по оценкам той же Microsoft, VB по числу строк кода, написанных на нем, намного обогнал лидера прежних лет - COBOL. А из исследований рынка было известно, что еще в конце 90-х годов COBOL оставался одним из самых распространенных в США языков программирования, хотя все его применение сводилось к задачам поддержки приложений, написанных 10-15 лет назад.

Однако кроме вопросов сугубо технологического характера в спорах о перспективах VB прослеживалась еще одна линия: речь шла о судьбах самих VB-программистов - VB.NET явно выдвигал более высокие требования к квалификации разработчиков. И это при том, что в конце 2000-го мировой экономический кризис уже стал для всех очевидным, начались сокращения в ИТ-сфере и т. д.

Так или иначе, но в течение первого полугодия 2001 г. дискуссии в VB-сообществе (в СМИ, Интернете) были нешуточными - выдвигались даже такие радикальные предложения, как объявить бойкот новому VB.NET. Но в середине того же года вышла вторая бета-версия Visual Studio.NET, и всем стало понятно, что Microsoft твердо намерена реализовать свои планы, не обращая внимания на угрозы "радикалов". Соответственно изменилась и тональность публикаций в прессе: главной темой стало деловое обсуждение перспектив перехода от VB6 к VB.NET.

Выпуск в начале 2002 г. рабочей версии VS.NET и прекращение продаж VB6 подвели черту под всеми разговорами о "старом добром VB" и даже вроде бы показали, что ажиотаж годичной давности был явно преувеличенным. Смягчению ситуации во многом способствовало то, что Microsoft очень вовремя повысила активность в области создания специальных средств по автоматическому переносу кода из VB6 в VB.NET. Но все же практика показала, что этот вариант развития унаследованных систем слишком сложен: более оптимальной является фиксация функционала на уровне отдельных компонентов с возможностью их последующего преобразования в.NET-объекты или Web-сервисы.

Основные даты поддержки продуктов Microsoft

В жизненном цикле продуктов Microsoft четко просматриваются два последовательных этапа технической поддержки. Первый - mainstream (основной) - подразумевает предоставление услуг горячей линии и выпуск сервисных пакетов обновления, включающих исправление обнаруженных ошибок, а также обеспечение совместимости с другими продуктами, технологиями и нового оборудования. На втором этапе, extended (расширенный), корпорация обязуется бесплатно выполнять и поставлять только исправления, связанные с безопасностью данных. Все остальные проблемы пользователей решаются в индивидуальном порядке на платной основе.

Среди средств разработки рекордсмен-долгожитель - QuickBasic 4.5. Он появился на рынке в 1988 г. и продавался в течение пяти лет, несмотря на выпуск новых систем Basic PDS 7.1 for DOS, VB for DOS и VB for Windows двух версий. Mainstream-поддержка QB 4.5 была прекращена лишь в 1999-м.

Актуальность проблемы поддержки унаследованных средств разработки можно проиллюстрировать на таком примере. В 1997 г. обнаружилось, что приложения, написанные на Clipper, не могут работать на новых, быстрых процессорах AMD и Intel. К тому моменту компания Computer Associates уже прекратила поддерживать Clipper, и пользователи были вынуждены решать проблемы собственными силами. Данная ситуация обсуждалась в ряде публикаций в PC Week/RE за 1998-1999 гг., и в редакцию до последнего времени приходили письма читателей с просьбой помочь им в решении вопросов с Clipper-программами.

Однако нынешней весной VB6 опять появился на страницах компьютерной прессы, что во многом объясняется выпуском очередного, шестого пакета обновлений, а также публикацией уточненных планов Microsoft по поддержке прежних версий своих инструментальных средств (www.support.Microsoft.com). В частности, было объявлено, что поддержка пакета Visual Studio 6.0 будет осуществляться по отдельным графикам для каждого его компонента, при этом для VB указаны самые длительные сроки. Так, например, если для VC++ 6.0 даты окончания поддержки mainstream и extended - соответственно 30.09.04 и 30.09.05, то для VB6 - 31.03.05 и 31.03.08.

Тем не менее такой "пассивный" вариант продления жизни VB6 не устраивает его нынешних пользователей, и их настроения довольно хорошо отражены в двух статьях, опубликованных в последних номерах известного американского журнала Visual Studio Magazine (www.visualstudiomagazine.com).

В одной из них ("It’s time for VB6+", VSM, N 3/2004) независимый консультант из Австралии Билл Маккарти предлагает реализовать обновленный вариант VB6+, который мог бы функционировать в интегрированной среде VS.NET IDE. В этом случае сами VB6-проекты создавались бы в рамках старой COM-архитектуры и с использованием традиционного VB-синтаксиса. И тогда разработчики получили бы доступ ко всем новшествам IDE и различным компонентам и технологиям VS.NET, не связанным напрямую с архитектурой.NET Framework (а их довольно много!). Кроме того, VB6-проекты можно было бы легко использовать в рамках интегрированных решений совместно с проектами VB.NET и C#. При этом реализация такой идеи не только позволила бы решить многие технологические вопросы, но и упростила бы переобучение VB-программистов. Детальнее описывать предложение австралийского консультанта вряд ли имеет смысл: на самом деле оно уже реализовано в VS.NET, но только не для VB, а для Си, представленного в этом инструменте в виде традиционного VC++ и C#.

Главный редактор журнала Патрик Мидер подходит к этой теме с другой стороны, делая акцент на необходимости создания специальной версии VS.NET для начинающих программистов ("VS.NET Needs a Novice Version" - VSM, N 5/ 2004). Суть проблемы заключается в том, что исторически VB всегда выступал в двух основных ролях: средства обучения в области технологий программирования и инструмента разработки приложений. За время существования языка с 1991 г. мы могли наблюдать его эволюционное развитие от первой роли ко второй.

Но появление VS.NET стало тем качественным скачком, в результате которого этот пакет превратился в мощное профессиональное средство разработки приложений, но при этом слишком усложнился для его использования в качестве механизма обучения. Не вдаваясь в детали, суть ситуации можно охарактеризовать поговоркой "за деревьями леса не видно". И Патрик Мидер вполне резонно отмечает, что продолжающееся использование VB6 во многом объясняется именно проблемами применения VS.NET для подготовки начинающих программистов.

Впрочем, главный вопрос в том, кто будет реализовывать все эти идеи. Можно почти с абсолютной уверенностью утверждать, что Microsoft делать этого не станет, двигаясь в соответствии со своей точно выверенной стратегической линией "спасение утопающих - дело самих утопающих". В свое время, в начале 90-х, я тоже в беседах с менеджерами московского офиса Microsoft выдвигал подобные идеи поддержки унаследованных средств разработки. На что получил очень разумный и веский ответ: "Вы думаете, что этот проект действительно имеет бизнес-перспективы? Ну так займитесь его реализацией самостоятельно и заработайте кучу денег! Тем более что Microsoft не будет выступать в качестве вашего конкурента!".