На главную страницу AlgoNet В сотрудничестве с ZDNet
АРХИВ СТАТЕЙ 2001-5-14 на главную / новости от 2001-5-14
AlgoNet.ru
поиск

 

Место для Вашей рекламы!

 

Все новости от 14 мая 2001 г.

Visual Basic.NET — страсти накаляются

Появление в конце прошлого года первой публичной бета-версии Visual Basic.NET послужило началом весьма эмоциональных дискуссий в мировом сообществе VB-программистов (которых, по разным оценкам, от 2 до 4 млн. человек). С тех пор прошло уже четыре месяца, но накал страстей не только не снижается, но по мере приближения сроков выхода окончательного варианта (конец нынешнего года) лишь возрастает.

Первые упоминания о будущих новшествах VB 7.0 были встречены разработчиками с энтузиазмом. Ведь им обещали, что наконец-то VB станет полноценным объектно-ориентированным языком. Откровенно говоря, большая часть нынешних VB-программистов не очень-то нуждаются в этих языковых возможностях, но избавиться от некоторого чувства неполноценности из-за несовременности “Васика” хотелось бы всем.

В действительности новшеств в VB.NET оказалось гораздо больше, чем ожидали даже самые смелые прогнозисты (на эту тему смотрите серию публикаций в журнале “Byte/Россия”, начиная с № 2/2001). Сюрпризов в бета-версии много, и далеко не все они вызывают ликование. Главный из неприятных “подарков” — впервые за десятилетнюю историю VB нарушается совместимость программного кода “снизу вверх”.

Microsoft обещает выпустить специальные инструменты по модификации кода приложений, созданных в предыдущих версиях. Но даже если это случится, далеко не все 100% программ, написанных на VB 6.0, заработают в VB.NET. Самое неприятное в данной ситуации заключается в том, что некоторые старые конструкции окажутся правильными с точки зрения синтаксиса и транслятор не выдаст сообщения об ошибках, но в VB.NET этот код будет работать не так, как в VB 6.0.

Сегодня многомиллионная армия VB-разработчиков разделилась на две части. Сторонники новшеств технологии .NET (во главе с Microsoft) делают акцент на то, что с помощью нового VB они получат возможность создания приложений масштаба предприятия, в том числе Web- и серверных приложений.

Противники (точнее, критики) говорят о серьезной угрозе стабильности огромной базы имеющегося VB-кода. При этом к аргументированным доводам зачастую примешивается много эмоций. В частности, один из критиков нововведений создал Web-страницу под красноречивым названием “VB.NOT”, где привел перечень из 80 расхождений между VB 6.0 и VB.NET.

Накал дискуссий определяется не эмоциональными моментами, а чисто практическими интересами — все понимают, что реализация новшеств VB.NET может серьезно повлиять на их личную судьбу.

Некоторые опасаются, что переход от нынешней архитектуры Windows к будущей .NET может быть таким же болезненным, как в начале 90-х от DOS к Windows: значительная часть DOS-программистов тогда просто не смогла (в том числе по чисто психологическим причинам) адаптироваться к новым методам разработки.

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

Самое “забавное” в VB.NET — Microsoft отказывается от вольностей в VB-программировании, которые сама же ввела и за которые всегда подвергалась критике со стороны профессионалов. Речь идет о широком использовании универсальных переменных типа Variant и неявного преобразования типов данных, об установке свойств объектов по умолчанию, дублировании различных функций и пр.

Тем, кто не попался на удочку подобного облегчения жизни (проблемы, вытекающие из таких “послаблений”, были очевидны всегда и их не замечали только новички от программирования), будет переходить на VB.NET гораздо проще.

С самого начала дискуссий о VB.NET никто не отрицал вероятности того, что Microsoft может пойти на некоторые уступки своим критикам. Однако, зная стиль работы корпорации, все сходились на том, что уступки будут минимальными и временными.

По крайней мере, десятилетняя история VB свидетельствует, что при внешней внимательности к запросам разработчиков Microsoft довольно жестко ведет сообщество программистов в нужном корпорации направлении.

Судя по последним сообщениям, Microsoft вряд ли пойдет на сколько-нибудь серьезные уступки критикам VB.NET. В начале апреля на конференции VBITS представители корпорации рассказали о трех “откатах”, которые произойдут во второй бета-версии VB.NET:

1) описание массивов, вроде Dim a(10), будет работать так же, как и предыдущие 40 лет существования языка Basic. То есть в данном примере, 10 — это верхняя граница индекса массива, а не число его элементов, как это грозились сделать в VB.NET;

2) логическая переменная True по-прежнему будет иметь целочисленное значение -1, а не 1, как планировалось;

3) операции And, Or, Not и XOR, как и ранее, будут использоваться как для логических, так и для поразрядных операций. В первой бета-версии VB.NET эти операции выполнялись только с логическими переменным, а для целочисленных вводились дополнительные функции.

Хотя эта информация сопровождается уверениями в желании прислушаться “к нуждам трудящихся” и повысить совместимость кода между VB 6.0 и VB.NET, очевидно, что на фоне десятков других новшеств, подобные “копеечные” откаты выглядят скорее насмешкой над разработчиками.

Конечно, Microsoft может бросить еще “пару костей”, но в целом у VB-программистов похоже нет иного выхода, кроме как всерьез начать готовиться к появлению VB.NET 1.0.

Обсуждение и комментарии

Zaufi
15 May 2001 4:37 AM
хорошо что я на ++ пишу :) тут хоть не M$ стандарты устанавливает... а VB программеры похоже "попали"... :) -- нада было сразу учить нормальный язык а не гнаться за немедленным результатом ;)
буча по поводу "Ideal mode" в TASM'e кажется теперь "бурей в стакене воды" -- с дрожью вспоминаю как привычные операторы начали вести себя чуть-чуть по другому... :)
 

Pavluk - pavlukrambler.ru
15 May 2001 10:20 AM
Я чего то не пойму почему так много споров вокруг Net-a. Ведь это то же самое что и переход от (dos)win3.11 к win95(NT) и т.п.(в смысле програмежа).
Насколько я понимаю, выбрав себе профессию програмера нужно быть постоянно готовым к изменениям.
Ведь если не будеш меняться то вымреш как динозавры...

ps:А если код уже работает то и менять его не надо.

 

Youry - yourydpcenter.com.ua
16 May 2001 4:04 PM
Это страсти не по нашу душу.
Касательно темы.
VB.NET и VB.x - разные языки, разные технологии, разные задачи, разные решения.
Ведь никто не критикует Java за несовместимость с C++.
 

 

← апрель 2001 7  8  10  11  14  15  16  17  18 июнь 2001 →
Реклама!
 

 

Место для Вашей рекламы!