Microsoft BASIC
Microsoft BASIC — це серія інтерпретаторів мови програмування BASIC, розроблених компанією Microsoft у 1970–1980-х роках. Вони були одними з найпоширеніших засобів програмування для перших персональних комп’ютерів і входили до складу ПЗ багатьох моделей як у вигляді окремих програм, так і у вбудованому ПЗП. Перша версія — Altair BASIC, створена для мікрокомп’ютера Altair 8800 — стала водночас і першим продуктом компанії Microsoft. Написаний Біллом Гейтсом і Полом Алленом у 1975 році, цей інтерпретатор поклав початок лінійці Microsoft BASIC, яку згодом було адаптовано для десятків платформ: від Commodore BASIC і AppleSoft BASIC до GW-BASIC, QBasic і Visual Basic. Altair BASIC та створення Microsoft![]() Першою реалізацією мови BASIC від Microsoft став Altair BASIC, розроблений у 1975 році Біллом Гейтсом та Полом Алленом для мікрокомп’ютера Altair 8800. Розробка велася на мейнфреймі PDP-10, де вони створили емулятор процесора Intel 8080, аби писати та тестувати код, не маючи доступу до самого Altair. Основою для синтаксису Altair BASIC став діалект BASIC-PLUS, який використовувався на комп’ютерах PDP-11 компанії DEC. Початкова версія підтримувала лише цілочисельну арифметику, однак завдяки інженеру Монте Девідоффу, який створив бібліотеку чисел з плаваючою комою, була реалізована підтримка дійсних чисел. Цей формат отримав назву Microsoft Binary Format. ОсобливостіAltair BASIC мав багато рис, запозичених із BASIC-PLUS, зокрема:
Ранні версії та розширенняПочаткова версія Altair BASIC уміщувалася в 4 КБ пам’яті та підтримувала обмежений набір команд. У цій версії не було підтримки рядків, а змінні могли мати лише одно- або дволітерні імена. Подальші розширення додали:
У 12-КБ версії BASIC підтримувались 64-бітові дійсні числа, що було суттєвим покращенням над ранніми 32-бітовими. Поширення на інші архітектуриНа базі Altair BASIC компанія Microsoft створила універсальне ядро, яке пізніше було портовано на інші процесори:
Ці варіанти стали основою для багатьох домашніх комп’ютерів 1970–80-х років. Незалежно від платформи, більшість програм, написаних на Microsoft BASIC, були взаємно сумісними. Ліцензування Microsoft BASIC для домашніх комп’ютерівУспіх Altair BASIC започаткував новий напрямок у бізнесі Microsoft — ліцензування BASIC для інших виробників комп’ютерів. Упродовж кінця 1970-х і всього 1980-х років компанія уклала десятки контрактів на постачання адаптованих версій BASIC для найрізноманітніших систем. Більшість таких версій вшивалися у постійну пам’ять (ПЗП) комп’ютерів, тож BASIC автоматично завантажувався при ввімкненні пристрою. Таким чином, мова програмування фактично ставала частиною операційного середовища машини, доступною одразу з командного рядка (запитом на кшталт Унікальна модель розробкиВ ті часи будь який програмний продукт доводилось вручну адаптувати до різних архітектур процесорів, що потребувало значних витрат часу. Microsoft же централізовано підтримувала кодову базу BASIC та адаптувала її до десятків процесорів і архітектур. Для цього вона використовувала систему умовної компіляції[1], яка дозволяла з однієї кодової бази згенерувати інтерпретатор для:
Весь процес проходив на комп’ютері DECsystem-20, який Microsoft використовувала для крос-компіляції. Масштабне поширенняДо 1981 року Microsoft BASIC був настільки популярним, що навіть компанії, які мали власні реалізації мови, ліцензували Microsoft BASIC заради сумісності. Наприклад:
Дон Естридж з IBM з цього приводу сказав:[3]
Універсальні й OEM-версіїMicrosoft також випускала власні версії BASIC для:
Цей підхід дозволив Microsoft BASIC стати де-факто стандартом серед мов програмування для персональних комп’ютерів свого часу. Extended BASIC-80 та спеціалізовані версіїПісля створення базової 8-КБ версії Microsoft BASIC для процесора Intel 8080, компанія розпочала розробку розширених варіантів для конкретних клієнтів та платформ. Один з таких варіантів отримав назву Extended BASIC-80 — універсальна модифікація, що включала підтримку додаткових команд, удосконалені засоби роботи з рядками, змінними та масивами. Цей варіант ліцензували кілька виробників, серед яких:
Розробкою деяких таких адаптацій вже займалися перші наймані співробітники Miscrosoft. Наприклад, NCR-версію Extended BASIC-80 адаптував програміст Марк Макдональд у 1976–1977 роках. Disk BASIC-80 (Дискові версії для CP/M)Для популярної операційної системи CP/M-80 Microsoft випустила дискову версію BASIC під назвою MBASIC. Цей варіант був апаратно-незалежним і широко застосовувався на Z80-комп’ютерах, що працювали під CP/M. Хоча MBASIC мав менший функціональний набір, ніж спеціалізовані варіанти, він забезпечував базову сумісність із іншими реалізаціями Microsoft BASIC. Наприклад, CP/M-карта для Apple II містила адаптований MBASIC, який частково підтримував графічні команди з AppleSoft BASIC (такі як Standalone Disk BASIC-80Першу реалізацію Microsoft BASIC з підтримкою файлової системи FAT було створено не для IBM PC, а ще у 1977–1978 роках — для терміналів на базі Intel 8080, випущених компанією NCR (моделі 7200, 7520, 7530). Ця версія отримала назву Standalone Disk BASIC-80 і підтримувала 8-дюймові дисководи. Саме тут було вперше реалізовано базову структуру FAT, яка згодом стане стандартом для DOS. BASIC-компіляторПаралельно з інтерпретаторами, Microsoft розробила і компілятор BASIC, що був відомий під назвою BASCOM. Його використовували на системах з CP/M, і він дозволяв створювати виконувані BASCOM підтримував більшість можливостей MBASIC, однак вимагав явного оголошення всіх змінних ( TRS-80 Level II / III BASICОдна з найуспішніших OEM-реалізацій Microsoft BASIC була створена для TRS-80 — серії домашніх комп’ютерів від Tandy/RadioShack. Перші моделі TRS-80 використовували Level I BASIC, заснований на Tiny BASIC. Однак дуже швидко його замінили на Level II BASIC, який був адаптацією Microsoft BASIC-80. Ця версія додала:
У Model 4 використовувалась вдосконалена версія BASIC-80 5.x з підтримкою імен змінних до 40 символів, циклів Базова модель включала тільки по-рядковий редактор, однак розширені версії (з LS-DOS) дозволяли виконувати команди на кшталт Реалізації Microsoft BASIC для різних архітектурBASIC-86Після успіху на 8-бітних платформах Microsoft перенесла BASIC на 16-бітні процесори, зокрема на Intel 8086/8088. Першим прикладом став BASIC-86, створений у 1979 році для одноплатного комп’ютера з шиною S-100 від Seattle Computer Products. Ця версія вже включала файлову систему FAT і підтримувала роботу з дисководами — майже за два роки до появи IBM PC. У 1980 році Microsoft запропонувала Standalone BASIC-86 — окрему, самодостатню версію для комп’ютерів SBC-86 на базі Intel 8086. Ці реалізації стали попередниками GW-BASIC і BASICA, які пізніше увійшли до складу DOS-систем. BASIC для Texas InstrumentsХоча інтерфейс TI BASIC для комп’ютера TI-99/4A нагадував Microsoft BASIC, фактично він не був розроблений компанією Microsoft. За свідченнями інженера Ханса Шурмана, Microsoft допомагала з BASIC для іншого проєкту (SR-70), але для TI-99/4A мову написала команда Texas Instruments. TI BASIC базувався на Dartmouth BASIC і відповідав американському стандарту мінімального BASIC (ANSI X3.60-1978). Він був повільнішим за інші BASIC, оскільки працював через інтерпретатор GPL, що взаємодіяв з мовою машинного коду. 6502 BASICУ 1976 році Microsoft портувала BASIC на 8-бітовий процесор MOS Technology 6502 — популярний у комп’ютерах Apple, Commodore, Atari, Oric та інших. Ця версія мала деякі відмінності від оригінального BASIC-80:
Стандартна 9-КБ версія 6502 BASIC мала:
Розширення в OEM-реалізаціях (наприклад, Commodore BASIC)У 1980-х більшість виробників додавали до Microsoft BASIC власні розширення. Наприклад, Commodore BASIC (у версіях для C64 та C128) включав:
Таким чином, багато OEM-версій перетворили Microsoft BASIC на повноцінне середовище розробки для своєї платформи. BASIC-68 та BASIC-69Окрім підтримки процесорів Intel і MOS, Microsoft також створила версії BASIC для мікропроцесорів Motorola 6800 та 6809:
Ці версії зберігали ядро Microsoft BASIC-80, але адаптувались до архітектури процесора та особливостей машин. MSX BASICУ 1983 році Microsoft створила спеціальну версію BASIC для MSX-комп’ютерів — популярного в Японії та Європі стандарту домашніх комп’ютерів на процесорі Z80. MSX BASIC включав:
Ця версія BASIC була написана в Японії спільно з ASCII Corporation і стала однією з наймасовіших за кількістю встановлень. Сучасні нащадки Microsoft BASICVisual Basic та VB.NETУ 1991 році Microsoft представила Visual Basic — нове середовище програмування для Windows, яке поєднувало класичний синтаксис BASIC з подійно-орієнтованим програмуванням та візуальним конструктором інтерфейсів. Visual Basic дозволяв створювати графічні застосунки, швидко компонуючи форми, кнопки, меню та інші елементи. Ця мова набула великої популярності серед корпоративних розробників у 1990-х і стала стандартом для створення ПЗ під Windows до появи .NET-платформи. У 2002 році Visual Basic еволюціонував у Visual Basic .NET, що стало частиною середовища .NET Framework. Нова версія зберегла синтаксичну схожість, однак мала зовсім іншу архітектуру:
Попри те, що багато нових розробників обирають C#, Visual Basic .NET досі підтримується і використовується, зокрема в освітніх цілях або у проєктах, які мігрували з класичного VB6. QBasic, GW-BASIC і спадщина DOSОстанні класичні версії Microsoft BASIC, які використовувалися в середовищі MS-DOS, — це GW-BASIC, QuickBASIC і QBasic.
Хоча ці продукти давно не підтримуються офіційно, їх можна знайти в архівах або запустити через емулятори DOS (наприклад, DOSBox). Small BasicУ 2008 році Microsoft представила Small Basic — спрощене середовище програмування, орієнтоване на новачків і школярів. Small Basic включає лише 14 ключових слів і має інтерфейс, максимально спрощений для початкового навчання. Платформа дозволяє:
Small Basic і досі використовується в освітніх програмах та рекомендований як вступ до програмування у школах. Вихідний код Altair BASICУ 2020 році, з нагоди 45-річчя створення Microsoft, Білл Гейтс публічно оприлюднив оригінальний сирцевий код Altair BASIC, написаний ним і Полом Алленом у 1975 році. Код, що займає понад 150 сторінок у вигляді сканованих листів з PDP-10, став історичним документом і дає змогу побачити, з чого почалась одна з найбільших технологічних компаній світу. Варіанти та похідні Microsoft BASIC
Див. такожПримітки
|