Visual Basic уже давно стал одним из наиболее популярных инструментов для разработчиков ПО. И сейчас уже подзабылись былые жаркие дискуссии о его достоинствах и недостатках, когда профессионалы решали, принимать на вооружение этот инструмент или нет. Отметим лишь, что критика в адрес VB велась (и продолжает вестись) с позиций пользователей других средств Microsoft (VC++, Visual ForPro и пр.), других языковых систем (Си, Java, Паскаль) и, наконец, конкурирующих систем класса RAD, в первую очередь Delphi.
Тут нужно кое-что пояснить. Особенности VB определяются совсем не какими-то языковыми свойствами, о чем порой любят посудачить его оппоненты. На самом деле функциональность VB полностью зависит от позиции его создателя - корпорации Microsoft. Об этом можно говорить отдельно, но ограничения и откровенная дозированность в развитии VB (как и его собратьев по Visual Studio) в основном стали следствием глобальной политики Microsoft, выраженной принципом “разделяй и властвуй”. Классическим примером здесь служит появление компилятора VB лишь в пятой версии в 1997 году, хотя такой компилятор был в версиях MS Basic для DOS еще в середине 80-х годов.
Однако в последнее время дискуссии о VB приобретают иной оттенок: спорят о том, являются ли недостатки очередной версии отражением сознательной стратегии Microsoft или же следствием “потери управляемости” продуктом? Вторая особенность сегодняшних обсуждений: критика VB все чаще раздается не со стороны традиционных конкурентов, а возникает внутри сообщества его пользователей. И это вполне понятно: смена инструментария - дело весьма серьезное, и поэтому “скованные одной цепью” выражают обеспокоенность стратегией своего поводыря, Microsoft. Подобные разговоры приобрели новую силу осенью прошлого года, когда вышла очередная версия VB 6.0.
Прежде всего отметим заметное потрясение в стане VB-программистов, вызванное заявлением Брюса Мак-Кинни, автора известной серии книг “Крепкий орешек VB”. В начале нынешнего года он сообщил, что не будет выпускать новое издание “Орешка” для VB 6.0. Мотивы этого решения Мак-Кинни подробно изложил в статье “Saying Goodbye to Hardcore Visual Basic” (см. www.vb-zone. com), где высказал свое неудовлетворение стратегией развития продукта. По его мнению, авторы VB, уделяя большое внимание процессу разработки приложений, совсем перестали совершенствовать возможности оптимизации приложений, повышения их эффективности и производительности. В неверной стратегии развития системы, считает он, во многом виноваты и сами VB-программисты, которые шли на поводу у Microsoft, принимая как данность постоянные ограничения, накладываемые на инструмент (в статье приводятся конкретные примеры).
Со своей стороны хочу отметить, что в VB отсутствуют многие полезные функции (например, создание и использование статических библиотек), широко применяемые еще в DOS-версиях MS Basic. Не говоря уже о более слабом синтаксическом контроле при трансляции. К сожалению, нынешние VB-программисты порой даже не замечают подобных недостатков системы, принимая их как данность.
С критикой VB 6.0 выступил также и Джефф Хэдфильд, главный редактор журнала Visual Basic Programmer’s Journal, самого авторитетного издания в этой области. В передовой статье четвертого номера он привел мнения читателей о VB 6.0, назвавших следующие недостатки:
- значительное число ошибок в новой технологии работы с базами данных ActiveX Data Objects;
- слабая документация (ее печатный вариант теперь нужно покупать отдельно), неудовлетворительный объем и качество (ошибки, неудачная система ссылок и пр.) встроенной справочной системы;
- слишком быстро растущие требования к аппаратным средствам и отсутствие прогресса в производительности. Как отметил один из читателей: “Microsoft должна больше заниматься ядром системы и меньше - колокольчиками и свистками, которые нужны лишь иногда”;
- минимальные улучшения в самом языке и явно недостаточный прогресс в объектно-ориентированном программировании.
Кроме того, была отмечена слишком быстрая смена версий (полтора года): пользователи просто не успевают осваивать обновления, а авторы VB - доводить новшества до нужной кондиции. К тому же заметны явные конфликты отдельных компонентов VB разных версий (они нужны для сопровождения ранних разработок).
В начале года был выпущен локализованный вариант VB 6.0 для России. Он отличается от международного продукта только переводом (частичным) справочной системы и наличием двух книг документации. Печатные материалы действительно очень нужны в работе (они есть только в локализованном продукте). Но знакомство с ними говорит о том, что европейское подразделение Microsoft по локализации в Ирландии явно решило внести свой вклад в дело снижения рейтинга VB. Тут есть все: содержательные ошибки (ошибки в программном коде, пропуски информации), неудачный перевод, слабое литературное редактирование, отсутствие корректуры (“объект находится в левом правом углу формы”) и пр. О том, чтобы исправить явные огрехи в исходном английском варианте, и речи нет. В результате число ошибок (не считая проблем с расстановкой запятых) существенно превосходит количество страниц в книгах.
И тем не менее популярность VB очень высока. Но долго ли это продлится при такой стратегии Microsoft?