Статьи

История BASIC, или Программирование для всех

История BASIC, или Программирование для всех

22 февраля 1928 года в штате Иллинойс родился Томас Юджин Курц – американский программист. С 1956 г. он работал в знаменитом Дартмутском колледже (г. Ганновер, штат Нью-Гэмпшир), где вместе со своим коллегой, венгерским иммигрантом Джоном Кемени (1926–1993), создал язык программирования Бейсик и первую систему разделения времени.

И то, и другое задумывалось и создавалось одновременно, в 1963–1964 гг. Дартмутская система разделения времени (Dartmouth Time Sharing System) при работе с ЭВМ напоминала современную многозадачность. До этого все программы считались на больших машинах – мэйнфреймах, – которые были крайне дорогими, так что не каждый американский университет мог позволить себе купить компьютер, и программисту часто приходилось долго ждать своей очереди – только чтобы в результате обнаружить в программе ошибку, и после ее исправления снова занимать очередь на драгоценное «машинное время». При помощи же новоизобретенной системы можно было подключаться к одному мэйнфрейму при помощи нескольких персональных терминалов – а ЦПУ большой ЭВМ, при помощи специальных программ, распределял свое время таким образом, что пользователь при работе с ним практически не ощущал никакой задержки.

История BASIC, или Программирование для всех
За терминалом у мэйнфрейма (привычная картина 1970-х годов)

Благодаря такому нововведению менялся и сам способ взаимодействия с машиной: программу можно было сразу набирать на терминале (а не скидывать предварительно на перфокарты или перфоленту) – и сразу же проверять ее работу и при необходимости корректировать программный код. Как раз для этих целей, двое дартмутских ученых разработали и свое самое известное творение – язык BASIC (он же «Универсальный код символических инструкций для начинающих»). По словам Кемени, они хотели сделать язык настолько простым, «чтобы студенты могли использовать его уже после трех часов занятий». Язык программирования отличался простотой, мультиплатформенностью, универсальностью назначения и не требовал знания аппаратной части – короче говоря, был специально предназначен для студентов.

История BASIC, или Программирование для всех
Томас Курц (слева) и Джон Кемени намекают на мультиплатформенность своего TrueBasic

Впрочем, не только для студентов. Как раз в 1960-е годы, когда будущее научно-технического прогресса казалось безоблачным и ученые предрекали проникновение компьютерных знаний в самые широкие народные массы, владение языками программирования, необходимое для полноценного общения человека с машиной, представлялось такой себе «второй грамотностью». И BASIC на роль азбуки программирования подходил очень даже неплохо.

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

Нечто похожее, наверное, имело место и в фотографии: ее превращение из занятия профессионалов и немногих серьезных любителей в самое массовое хобби привело не столько ко всеобщему просвещению в области выдержки, экспозиции и прочих высоких материй фотоискусства и фототехники, – как о том когда-то мечтали специалисты, – сколько к безоговорочному триумфу пресловутых однокнопочных «мыльниц».

История BASIC, или Программирование для всех
Интерфейс советского персонального компьютера ДВК-1 (BASIC, загружающийся непосредственно из ПЗУ)

Тем не менее, свой «золотой век» БЕЙСИК пережил, пожалуй, в первой половине 1980-х годов, когда компьютеры наконец-то начали одомашниваться, и программы и игры распространялись даже не на 5-дюймовых дискетах, а… при помощи обычных печатных изданий – книг и журналов. Подешевев и значительно уменьшив свои габариты, ПК практически не изменили еще свой способ взаимодействия с человеком: каждый, даже самый неподготовленный пользователь не только мог, но и должен был естественным образом выступать сначала в качестве программиста, тестера и отладчика в одном лице, – а при желании даже художника и композитора! – и лишь затем уже наслаждаться беззаботной жизнью рядового «юзера» или геймера.

Одной из причин такого положения дел было появление на рубеже 1970–80-х годов целого зоопарка домашних ПК: Apple II и его братья, Tandy TRS-80, Atari 400, Commodore PET и Commodore VIC в США, BBC Micro, Oric и семейство Spectrum в Англии, чуть позже Агат, ДВК, БК, Радио-86РК в СССР – а также их не столь известные, но еще более многочисленные близкие и дальние родственники со всего мира.

История BASIC, или Программирование для всех
Перфолента с записью Altair BASIC

Выпускались они самыми разными компаниями в самых разных странах и, понятное дело, не были аппаратно совместимыми друг с другом – только что дебютировавший IBM PC был дороговат и не завоевал еще повсеместного признания среди домашних пользователей, а компьютеры производства Apple могли гордиться разве что званием «первых среди равных».

Зато практически все доступные на рынке модели работали на той или иной версии BASIC: Курц и Кемени принципиально отказались подавать заявку на патент по поводу своего изобретения – так что вариантов и диалектов языка скоро насчитывалось великое множество. Хотя триумфальное шествие BASIC по планете началось уже в 1975 г., когда предприимчивые молодые люди Пол Аллен и Билл Гейтс – уже не профессора, наподобие Курца и Кемени, а больше бизнесмены, чем программисты – разработали для первого домашнего ПК Altair 8800 Эда Робертса простой интерпретатор Altair BASIC, ставший пионерским продуктом их компании Micro-Soft.

История BASIC, или Программирование для всех
Обложки книг с компьютерными играми разных «жанров»

В те времена включив свою домашнюю ЭВМ, пользователь оказывался один на один с командной строкой пусть и простейшего, но языка программирования. И хотя большинство ПК поддерживали вывод информации на магнитную ленту или даже на дискету, эту самую информацию сначала нужно было как-то ввести. И распространять программное обеспечение легче было не на дискетах и кассетах, по отдельности для формата каждой марки компьютера, а печатным текстом в таких вот небольших симпатичных книжках. Синтаксис BASIC был более или менее схожим во всех домашних ПК того времени – за исключением разве что мультимедийных возможностей, в отношении которых действовал принцип «кто во что горазд».

История BASIC, или Программирование для всех
А так выглядели «носители» игр (первая страница игры «Гробокопатель» Алана Рамси, Usborne Publ., 1983 г.). Налицо сценарий, иллюстрация, призванная настроить воображение пользователя на нужный лад (художник Роб МакКайг), собственно текст программы на BASIC для ввода в ПК – и даже объяснение того, что означает та или иная строка кода

Конечно, на современный взгляд такие игры никак не смотрятся: графическое оформление отсутствует как класс, в лучшем случае его заменяют символы псевдографики. Зато в то время воображение пользователя работало во всю – и благодаря своему невольному знанию BASIC, каждый домашний геймер мог настроить практически любой параметр игровой программы, добавить в нее звуковые эффекты или даже анимацию, если то позволяли аппаратные возможности ПК, – короче говоря, полностью изменить программный код по своему желанию.

История BASIC, или Программирование для всех
Эмулятор «Hand BASIC – CBM Flavor» на iPad

И хотя «золотой век» BASIC давно уже остался позади, сам язык все еще жив – даже если не принимать во внимание таких его отдаленных «правнуков» как Visual Basic .NET от все той же Microsoft. Еще в 1983 году Курц и Кемени создали коммерческий процедурно ориентированный вариант своего Дартсмутского БЕЙСИК’а, развитие которого продолжается и сегодня. И владельцы современных планшетов и смартфонов могут поработать с современными версиями BASIC, поддерживающими даже мультитач — Android, iOS (платное дополнение за 2,99 долл. с поддержкой мультимедиа-функций для бесплатного эмулятора BASIC легендарного старого ПК Commodore 64) – и понастальгировать по старым временам «бумажных» игр или просто познакомиться с одним из старейших и наиболее известных языков «программирования для всех».

Завантаження коментарів...

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: