BASIC — творение 1964 года, рассветных лет компьютерной эпохи. Американцы Джон Кемени и Томас Куртц написали его, чтобы облегчить знакомство с вычислительной техникой своим студентам (в те годы как раз началось распространение терминалов, и доступ к ВТ перестал быть уделом только лишь атомщиков и ракетчиков), но язык быстро зажил самостоятельной жизнью. В 70-х, с началом эры персональных компьютеров, BASIC немедленно стал стандартом де-факто в качестве основного языка программирования, и даже больше того — пользовательской оболочкой, средой, из которой управляли машинами. Не случайно и Гейтс с Алленом для «Альтаира» и Возняк для Apple I первым делом писали именно BASIC!
Сегодня, в век графических интерфейсов, применение языка программирования в качестве основы рабочего стола кажется диким, но ещё двадцать лет назад это было не просто удобно, а и естественно — из-за ограниченных ресурсов домашних ПК. Лишь с середины 90-х, когда офисные машины захватили дом, этой моде пришёл конец. Но не бейсику (боюсь, литредактор сделает мне выговор, поскольку правильно брать название в кавычки — но рука не поднимается закавычить имя почти что друга, столько лет служившего верой и правдой)! Уже к тому моменту язык был модифицирован сотнями вендоров, которые крутили им как хотели — что, кстати, тоже было следствием того же главного достоинства, которое и обеспечило BASIC'у взлёт. А сегодня для одного только перечисления всех бейсиковских диалектов придётся занять больше дюжины страниц (если интересно, вот полный список в Википедии).
А что обеспечило ему взлёт? Простота. Абсолютная, непревзойдённая, интуитивная простота. Там, где другие языки требуют выстраивания многоэтажных конструкций, бейсик просит только номер строки. Другие требуют редактора, компилятора, операционной системы — BASIC замкнут на себя (первый вариант был компилируемым, но впоследствии его чаще выполняли в виде интерпретатора). Его структура такова, что программа в большинстве случаев работает сразу, а если не работает, то ошибка конкретна, её легко найти и понять. Да, он слаб («Слабый, легковесный язык», — говорил Возняк), но именно в этом его сила! Вообще, бейсиковская «немощь» — феномен, который заслуживает отдельной книги. Она делает язык уникальным, она помогла ему пережить несчётное множество архитектур и платформ.
Ведь как развиваются языки программирования? Усложняясь, обрастая новыми свойствами. BASIC живёт по другим законам. Его эволюционное древо прямое, как стрела: попытки привить ему новые свойства в лучшем случае обособились в отдельные проекты, никак не повлияв на популярность главного (самого простого) диалекта. Больше того, за десятилетия эволюции он отбросил словно шелуху и ту лишнюю небольшую сложность, которую изначально предусмотрели в нём авторы (к примеру, избавившись от функций матричных вычислений). Неспособный противостоять «серьёзным» языкам программирования, он нашёл себе постоянного поклонника в лице вечно молодого компьютерного новичка.
Суметь понять решающее значение «слабости», признать его — совсем не шутка. Рискну утверждать, что даже Куртц и Кемени так до конца и не поняли главной фишки созданного ими языка. В середине 80-х они попытались продавить на рынок своё новое детище, True BASIC, основав под него компанию. Как коммерческий продукт он ещё существует, но как замена BASIC'у бесстыдно провалился, ибо оказался более сложным.
Говоря о BASIC как лучшем языке для начинающих, я конечно имею в виду не исправленных до неузнаваемости ублюдков вроде Visual Basic или Openoffice.org BASIC, где от оригинала осталось почти одно лишь название, а тот базовый, универсальный для всех минимум из двух десятков команд, на котором писали уже полвека назад. Сегодня его так же легко отыскать на любой платформе для любой архитектуры — и так же просто, как и десять, и двадцать, и сорок лет назад, применить для решения несложных задач. Помнится, совсем недавно, когда жена усомнилась в справедливости парадокса Монти Холла, я за пять минут набросал программку, демонстрировавшую его практически. И использовал не любимый C, не скриптовые языки, а старину BASIC — писать на котором можно, не задумываясь о собственно программировании.
Однако времена меняются. Интернет и Веб перекроили персоналку. Компьютер сегодня — это Сеть, а оригинальный бейсик о сетях ничегошеньки не знает. Так что же, пора заменить «лучший язык для новичков» новым, более современным, более приспособленным к технике и технологиям нового столетия? Давно пора, считают многие — и предлагают наперебой варианты, чаще всего останавливаясь на Python (который даже называют «бейсиком XXI века») и Javascript. Они разные, но роднит их сравнительная простота и лёгкость в обращении с интернет-механизмами. И человек, начавший своё компьютерное образование с них, конечно, сумеет потом применить полученные знания для серьёзных дел. Вот только есть одна нестыковочка: они и близко не так просты, как BASIC!