Наука і життя // Ілюстрації
<
>
Ще років п'ять тому згадка про Basic (Бейсік) в якості мови програмування викликало лише поблажливу посмішку (а часом і обурення) у більшості професійних розробників програмного забезпечення. Пояснювалося це просто: "Так, є така мова, якою користуються любителі (якщо не сказати" чайники "). Але ставити" Васик "в один ряд зі справжніми засобами програмування - просто смішно".
Зараз навряд чи хтось ризикне висловити таку думку: за минулі роки Microsoft Visual Basic (Майкрософт Віжуал Бейсік), або VB, перетворився в найпопулярніший в світі інструмент розробки додатків. Більш того, знання його основ сьогодні фактично є обов'язковим для всіх програмістів, якими б засобами вони не користувалися. Це пояснюється двома взаємопов'язаними факторами. По-перше, VB дуже широко поширений і використовується не тільки в якості самостійного засобу, але і у вигляді системи програмування, вбудованої в численні прикладні програми (зокрема, в MS Office). По-друге, перетворившись в серйозний професійний інструмент, VB залишається дуже зручним засобом для навчання програмуванню і рішення невеликих завдань.
ЯК ВСЕ ПОЧИНАЛОСЯ
Мова Basic був розроблений викладачами Дартмутського коледжу - одного з найстаріших вищих навчальних закладів США - Дж. Кемені і Т. Курц в 1964 році як засіб навчання і роботи непрофесійних програмістів. Його призначення визначено в самій назві, яке є абревіатурою слів Beginner's All-purpose Symbolic Instruction Code (багатоцільовий мову символічних інструкцій для початківців), і при цьому в дослівному перекладі з англійської basic означає "базовий".
Однак парадокс полягає в тому, що, будучи дійсно досить простим засобом програмування, абсолютно непридатним в ті часи для вирішення серйозних завдань, Basic представляв собою якісно нову технологію створення програм в режимі інтерактивного діалогу між розробником і комп'ютером. Тобто фактично він був прообразом сучасних систем програмування. Однак при існуючому тоді технічному рівні реалізувати інтерактивний режим представлялося можливим лише за умови сильного спрощення самої мови і відмову від багатьох можливостей програмування. Basic в основному застосовувався на міні і мікроЕОМ, які в 70-і роки мали оперативну пам'ять об'ємом 4-32 тисячі байт. Сьогодні здається просто нереальним втиснути в такий малий обсяг таку складну програму.
Різке розвиток систем на основі Basic почалося з появою на початку 80-х років персональних комп'ютерів, продуктивність і популярність яких ростуть ось уже двадцять років небаченими темпами.
QUICKBASIC ПРОТИ TURBOBASIC
Тоді багато коментаторів уїдливо зауважували, що Microsoft відмовилася від Pascal на користь Basic виключно через особистих пристрастей засновника і керівника корпорації Білла Гейтса. Дійсно, розробка в 1975 році інтерпретатора Basic для мікроЕОМ Altair 8800 стала першим проектом двадцятирічних Білла Гейтса і Пола Аллена, тільки що заснували фірму Micro-Soft (в той момент вони, здається, були єдиними співробітниками нової компанії). Після цього саме Пол Аллен займався створенням Basic-систем і вважається хресним батьком Visual Basic. У свою чергу Білл Гейтс, перераховуючи свої титули, досить часто додає "Basic-програміст".
Однак, як мені видається, перемога QuickBasic визначалася суто технологічним і причинами - в цій системі вдало реалізована схема змішаного використання традиційних Basic-технологій і класичних методів створення складних програмних систем. Відзначимо, що з 1990 року усічений варіант QuickBasic під назвою QBasic включений до складу MS-DOS. (Багато сучасних користувачі помилково думають, що QuickBasic і QBasic - одне і те ж.)
ЕПОХА VISUAL BASIC
У 1991 році під гаслом "тепер і починаючі програмісти можуть легко створювати додатки для Windows" з'явилася перша версія нового інструментального кошти Microsoft Visual Basic (VB). В той момент Microsoft досить скромно оцінювала можливості цієї системи, орієнтуючи її, перш за все, на категорію початківців і непрофесійних програмістів. Основне завдання тоді полягала в тому, щоб випустити на ринок простий і зручний інструмент розробки в новому середовищі Windows, програмування в якій було проблемою навіть для досвідчених фахівців. Тому VB версії 1.0 був схожий радше на діючий макет майбутньої середовища розробки, ніж на робочий інструмент.
Однак уже тоді принципове нововведення VB полягало в реалізації ідей подієво-керованого і візуального програмування в середовищі Windows, які радикально відрізнялися від класичних схем розробки
програм. За загальним визнанням, VB став родоначальником нового покоління інструментів, званих сьогодні засобами швидкої розробки програм (Rapid Application Development, RAD). Зараз ця ідеологія вже звична, але тоді вона здавалася зовсім нової, і це створювало серйозні проблеми (в тому числі чисто психологічного плану) для програмістів "старих часів".
Проте число VB-користувачів зростала, причому багато в чому за рахунок величезної популярності її попередника - QuickBasic. При цьому VB швидко "мужнів" як в результаті розвитку середовища програмування, так і за рахунок включення в нього професійних елементів мови і проблемно-орієнтованих засобів. До моменту випуску в 1995 році версії 4.0 VB був уже не тільки визнаним, але і одним з найпоширеніших інструментів створення додатків.
В даний час використовується VB 6.0, тоді як поява версії 7.0 очікується на початку наступного року.
VISUAL BASIC FOR APPLICATIONS
В кінці 1993 року Microsoft оголосила про намір створити на основі VB нову універсальну систему програмування для прикладних програм, що отримала назву Visual Basic for Applications (VB для додатків), або VBA. Природно, реалізацію цього проекту вона почала з власних офісних пакетів.
Перший варіант VBA 1.0 з'явився в складі MS Office 4.0, але лише в програмах Excel 4.0 і Project 6.0. (Інші додатки - Word 6.0 і Access 2.0 - включали власні варіанти Basic.) VBA 1.0 мав ряд істотних переваг перед використовувалася тоді системою VB 3.0.
Якісний перелом стався в кінці 1996 року з випуском MS Office 97, в який була включена єдине середовище програмування VBA 5.0 (в додатку Word, Excel і PowerPoint). Більш того, VBA 5.0 використовувала той же самий мовний механізм і середовище розробки, що й універсальна система VB 5.0.
До складу MS Office 2000, випущеного рік тому, увійшла версія VBA 6.0. Тепер вона використовується вже в шести програмах - Word, Excel, PowerPoint, Access, Outlook, Frontpage.
Тому в останні три роки Microsoft представляє свій пакет MS Office не просто як набір прикладних програм, а як комплексну платформу для створення бізнес-додатків, які вирішують широке коло спеціалізованих завдань користувачів. У складі MS Office навіть з'явився спеціальний випуск, призначений для розробників додатків - Developer Edition (див. "Наука і життя"
№ 6, 2000 г.). Крім того, Microsoft оголосила про можливість ліцензування VBA з тим, щоб зробити цю середу фактичним стандартом для управління програмованими додатками. В результаті сьогодні вже більше ста провідних світових фірм - розробників прикладних програм (серед них є і російські) придбали ці ліцензії і включають VBA до складу своїх програмних продуктів.
З усього сказаного можна зробити наступний висновок. Освоєння механізму програмування VBA, реалізованого в вашому офісному додатку, відкриє нові можливості використання отриманих знань і навичок при роботі з десятками і сотнями інших програм, в тому числі і тих, яких поки ще немає на світі. Почавши зі складання найпростіших макрокоманд, при бажанні можна в рамках одного інструментарію стати професіоналом, які розробляють програмні системи будь-якої складності.
Десять років тому в усьому світі було не більше двох мільйонів програмістів. Сьогодні їх налічується близько десяти мільйонів, з них не менше 70 відсотків використовують в якості хоча б одного з інструментів VB або VBA.