Андрей Колесов
"Lost your BASIC instincts?
Then it's time for a reassessment..."
(Журнал PC Magazine, 23.09.1993)
Еще каких-нибудь несколько лет назад упоминание Basic в качестве языка программирования вызывало лишь снисходительную усмешку у большинства профессиональных разработчиков ПО. Объяснялось это так: "Да, есть такой язык, которым пользуются любители (чтобы не сказать "чайники"). Но ставить "Васик" в один ряд с настоящими средствами программирования - это просто смешно".
Сейчас вряд ли кто-то рискнет высказать подобное мнение: Basic ныне стал практически синонимом системы Microsoft Visual Basic, самого популярного в мире инструмента разработки приложений. Конечно, у нее есть свои недостатки, многие воспринимают ее иронически, но факт остается фактом - не менее 90% программистов если и не используют VB в практической работе, то по крайней мере знакомы с этой системой и при желании могут легко сваять в ней что-то полезное.
Качественно новый этап в расширении круга VB-программистов наступил несколько лет назад с появлением Microsoft Office 97/VBA - осваивать программирование в среде этого пакета стали многие из числа его продвинутых пользователей.
В целом в жизни Basic можно выделить три основных этапа развития. Хроника развития Basic и Visual Basic приведена в табл. 1 и 2.
Таблица 1. Basic - этапы большого пути
|
1964-1985 гг. Первое поколение Basic
- Только для непрофессиональных программистов. Используется для обучения, решения небольших расчетных задач и вывода простейших графиков.
- Интерпретатор с ограниченным объемом кода программы.
- Примитивные языковые конструкции.
- Отсутствие процедур, невозможность подключения внешних библиотек подпрограмм.
- Очень большое число Basic-систем (для разных аппаратных платформ) от различных производителей, в том числе советских. Трудно назвать какого-то лидера.
1985-1992 гг. Второе поколение Basic
- Используется широким кругом разработчиков, как начинающих, так и профессиональных. Применим как для обучения, так и для создания серьезных прикладных программных комплексов (в том числе коммерческих), работающих в интерактивном режиме. Назначение: решение научно-технических и экономических задач, игры и т.п.
- Возможность компиляции и создания EXE-модулей, в сочетании с использованием интерпретатора в режиме отладки.
- Создание полноценных синтаксических языковых конструкций, полномасштабное использование процедур, библиотек подпрограмм, поддержка технологии смешанного программирования и т.д.
- Основная платформа - персональные компьютеры типа IBM PC. Достаточно много систем от разных производителей, но основная конкуренция идет между системами QuickBasic (Microsoft) и Turbo Basic (Borland); эта борьба закончилась победой QB.
1993 г. Переход к третьему поколению Basic - Microsoft Visual Basic [for Windows]
- Средство быстрой разработки с применением событийной схемы управления процессами, визуальной разработки пользовательского интерфейса, объектной программной модели и возможности расширения с помощью внешних компонентов.
- Используется только в среде Windows. На рынке полностью доминирует система Microsoft Visual Basic, представляющая собой стандарт "де-факто" языка Basic. На рынке есть несколько поставщиков средств разработки на базе Basic, но их продукты имеют локальное применение в узких вертикальных сегментах.
- Сформировался большой рынок поставщиков дополнительных средств для VB.
- Интеграция в состав VB широкого набора "профессиональных" средств (СУБД, Интернет, групповая разработка).
- Позиционирование VB в качестве средства создания программируемых (настраиваемых, расширяемых) приложений.
Добавим еще несколько общих замечаний.
Конечно, долгие годы Basic был довольно примитивной системой и о его применении как средства разработки серьезных программ не могло быть и речи. Однако здесь нужно подчеркнуть, что Basic фактически никогда и не был таким языком программирования, как FORTRAN или ALGOL. Ведь он изначально представлял собой качественно новую технологию создания программ (с использованием режима "позднего связывания"!) в форме интерактивного диалога между разработчиком и компьютером (т.е. был прямым прообразом современных систем быстрой разработки). Другое дело, что решение подобной задачи при технике тех лет было возможно только за счет максимального упрощения языка программирования и использования транслятора типа "интерпретатор".
В силу исторических причин абсолютное большинство советских программистов второй половины 80-х годов вообще не знали о возможностях Basic-систем той поры. Их представления о Basic в лучшем случае базировались на знакомстве с весьма примитивным интерпретатором GW-Basic из состава MS-DOS 4.0. Во многом именно такими устаревшими представлениями объясняется очень настороженное отношение к VB отечественных программистов примерно до 1995 г. (Я хорошо помню, как на конференции Microsoft DevCon'95 в Обнинске эта тема впервые была признана достойной обсуждения в кругу профессионалов.)
Это замечание сделано к тому, что успех Visual Basic в США в значительной степени базировался на огромной популярности семейства Microsoft QuickBasic.
В конце 80-х годов насчитывалось около десятка систем Basic различных фирм-разработчиков. Однако главная борьба шла между QuickBasic (компания Microsoft, http://www.microsoft.com) и Turbo Basic (Borland, http://www.borland.com). Вообще говоря, конкуренция между этими двумя разработчиками средств программирования шла по целому спектру языков - Basic, Pascal и C. И результатом ее в 1989 г. стало неявное мировое соглашение, когда Microsoft отказалась от дальнейшей поддержки Pascal, а Borland - от Basic.
В те времена многие эксперты, комментируя такой поворот событий, часто упоминали о личной заинтересованности руководителей Microsoft в Basic. Однако, как мне представляется, победа QuickBasic определялась чисто технологическими причинами - в этой системе была удачно реализована схема смешанного использования традиционных Basic-технологий и классических методов создания сложных программных систем. Что же касается Turbo Basic, при многих сильных качествах главным его недостатком был полный переход к компилятору, в результате чего он потерял свою главную изюминку - эффективную отладку программ.
В американском журнале PC Magazine от 28 сентября 1993 г. был опубликован большой обзор рынка Basic-средств (именно оттуда взят эпиграф к статье). В обзоре были проанализированы около десяти ведущих систем той поры, в том числе CA Realizer (Computer Associates), GFA-BASIC, TrueBASIC, PowerBASIC. От Microsoft в нем были представлены три системы - PDS 7.1, VB/Win 3.0 и VB/DOS 1.0.
Обзор этот был весьма примечателен по двум причинам. Во-первых, системы для DOS и Windows рассматривались как равные конкуренты. Во-вторых, это был, кажется, последний случай, когда у Microsoft еще были реальные конкуренты.
Любопытно, что выбор редакции в разделе Basic/DOS был сделан в пользу PowerBASIC 3.0, а не более сильного PDS 7.1, из-за "неясной позиции Microsoft в плане развития систем для DOS". Действительно, Microsoft темнила почти два года и даже выпустила совершенно тупиковый вариант VB/DOS, чтобы дождаться естественной кончины DOS-овского направления.
В конце 1993 г., одновременно с официальным объявлением о прекращении развития Basic/DOS, Microsoft объявила о намерении создать на основе VB новую универсальную систему программирования для прикладных программ, которая получила название Visual Basic for Applications (VB для приложений). Но нужно отметить, что казалось бы ясная цель была реализована не очень быстро.
Первый вариант VBA 1.0 появился в составе Microsoft Office 4.0, но лишь в программах Excel 4.0 и Project 6.0. В других же приложениях - Word 6.0 и Access 2.0 были собственные варианты Basic. Более того, VBA 1.0 довольно сильно отличался (причем в лучшую сторону, имея ряд существенных преимуществ) от используемой тогда универсальной системы VB 3.0.
Перелом наступил в конце 1996 г. с выпуском Microsoft Office 97, в котором была реализована единая среда программирования VBA 5.0, включенная в программы Word, Excel и PowerPoint. Более того, в VBA 5.0 использовался тот же самый языковый механизм и среда разработки, что и в универсальной системе VB 5.0. В состав выпущенного два год назад пакета Microsoft Office 2000 вошла соответственно версия VBA 6.0, которая используется в шести программах - Word, Excel, PowerPoint, Access, Outlook, Frontpage.
Одновременно Microsoft активно продвигает VBA в качестве отраслевого стандарта для управления программируемыми приложениями, объявив о возможности его лицензирования и выпустив соответствующий SDK.
Вполне вероятно, что появление Visual Basic.NET откроет новый, четвертый этап в истории Basic.
Таблица 2. Microsoft Visual Basic - 10 лет, которые изменили компьютерный мир
|