BASIC-демократия
11 фактов об одном из самых популярных языков программирования и его авторе
100 лет назад, 31 мая 1926 года, родился Джон Кемени. Известен он прежде всего тем, что разработал язык BASIC, который сделал программирование — и вообще использование компьютеров, до того считавшееся уделом специалистов,— доступным многим. А еще Кемени работал в Манхэттенском проекте, был ассистентом Альберта Эйнштейна и состоял в группе ученых-«марсиан».
Фото: Getty Images
Фото: Getty Images
Мальчик из Будапешта
При рождении Джона Джорджа Кемени звали Кемени Янош Дьердь, ведь он появился на свет в Венгрии в проживавшей в Будапеште еврейской семье. Его отец занимался банковским делом и торговал зерном. В Будапеште Янош Дьердь посещал частную школу Рац — там он учился в одном классе с Нандором Балажем, позднее физиком с мировым именем.
С конца 1930-х Венгрия, возглавляемая адмиралом Миклошем Хорти, все больше сближалась с нацистской Германией. В 1938–1939 годах в стране были приняты дискриминационные законы против евреев. А в 1940-м Венгрия официально присоединилась к державам Оси. В том же году семья Кемени уехала из страны — через Швейцарию в США.
Новый американец без английского
Родители выбрали для жизни Нью-Йорк, где Янош Дьердь, которого теперь стали называть Джоном, пошел в старшую школу им. Джорджа Вашингтона. Правда, как пишут в источниках, английского он не знал, зато помимо венгерского хорошо владел немецким и латынью. Тем не менее через три года он окончил школу с лучшим баллом в своей параллели. И в том же 1943-м поступил в Принстонский университет.
Большую часть жизни Джон Кемени преподавал в Дартмутском колледже
Фото: Getty Images
Большую часть жизни Джон Кемени преподавал в Дартмутском колледже
Фото: Getty Images
Сотрудник Эйнштейна и фон Неймана
Учебу в вузе вскоре после поступления Кемени прервал на полтора года, чтобы поработать в Манхэттенском проекте по созданию ядерного оружия. Кстати, именно приглашение в проект помогло ему уже в 1945 году получить американское гражданство — иностранец на таком секретном предприятии быть задействован не мог.
Говорят, что уже в то время Кемени заинтересовался темой компьютеров, послушав лекцию о них от математика и физика (и также еврея из Венгрии) Джона фон Неймана. Молодой ученый оказывался рядом и с другими знаменитостями, например около года был ассистентом Альберта Эйнштейна в Принстонском университете.
Математик-философ
Несмотря на перерыв в учебе, Кемени быстро освоил программу вуза, который окончил уже в 1946-м, всего через три года после поступления. Причем получил степени одновременно по математике и по философии — интерес к гуманитарным знаниям он сохранит и позднее, например в 1960-м опубликует статью «Философский взгляд на политологию». При этом нельзя сказать, что он был всесторонне развитым энциклопедистом. Джин Александер — на ней Кемени женился в 1950-м, у пары родились двое детей — рассказывала, что к моменту выхода на пенсию Кемени знал только два цветка, розу и тюльпан, и два музыкальных произведения — увертюру «1812 год» Чайковского и арию из оперетты «Корабль Ее Величества "Пинафор"» Артура Салливана.
Профессор-вундеркинд
Но в 1946 году до пенсии Кемени было еще далеко. После окончания Принстона он несколько лет преподавал в нем. По-настоящему стремительно его карьера развивалась в Дартмутском колледже, тоже входящем в «Лигу плюща», как и Принстон. В 1953 году, в возрасте всего 27 лет, Кемени занял там пост профессора математики. Через два года, в 29 лет, он возглавил кафедру математики колледжа — и занимал эту должность до 1967-го. С 1970-го по 1981-й он — президент колледжа. Под его руководством Дартмут в 1972-м начал принимать на учебу женщин.
С Марса
Считается, что Джон Кемени был участником довольно любопытной группы ученых под названием «Марсиане». Ее точный состав неясен, однако известно, что она объединяла несколько десятков американских ученых — по происхождению все они были венгерскими евреями. В группу входили, в частности, все тот же Джон фон Нейман, Эдвард Теллер, Дьердь де Хевеши.
Говорят, что сначала «марсианами» их называли американцы, потому что они происходили из мало кому известной далекой страны и говорили на совершенно непонятном языке.
Позже сами участники группы называли себя «марсианами», объясняя, что инопланетяне действительно уже высадились на Землю и называют себя «венграми».
Пророк ПК
В начале 1960-х компьютеры были огромного размера, занимали целые специальные помещения, но отнюдь не впечатляли мощностью, а ввод информации в них происходил с помощью перфокарт. Языки программирования, такие как Fortran и ALGOL, были также весьма сложными, работе с ними нужно было довольно долго учиться.
Однако уже тогда некоторые специалисты начали понимать, что так будет не всегда. В их числе был и Джон Кемени. Он прогнозировал, что скоро компьютеры станут частью повседневной жизни, а для этого нужен простой язык программирования.
В брошюре, вышедшей в 1966 году, уже после создания BASIC, но до появления персональных компьютеров, Кемени фактически их и описывал. Он там же пояснял, что новый язык программирования можно использовать в разных сферах — от исследований и выполнения домашнего задания до игр и сочинения письма девушке.
Создание BASIC сделало работу на компьютере доступной всем без специальной подготовки
Фото: BASIC
Создание BASIC сделало работу на компьютере доступной всем без специальной подготовки
Фото: BASIC
Программирование для гуманитариев
С самого начала работы в Дартмутском колледже Кемени продвигал идею, что гуманитариям тоже нужно изучать математику, и разработал соответствующий курс, который был введен в программу учебного заведения. Вскоре у Кемени вместе с его коллегой по Дартмуту Томасом Курцем появилась идея, что студентов самых разных специальностей нужно учить работе на компьютерах.
Доступность компьютеров для студентов повысила Дартмутская система разделения времени — разработка Кемени и Курца. Речь идет о возможности разделения вычислительных мощностей компьютеров между несколько пользователями и их многозадачности. Для ранних компьютеров это было довольно сложным запросом. Дартмутская система стала одним из первых успешных примеров реализации подобного — она делала вычислительные мощности доступными большему числу людей одновременно.
Вот тогда Кемени и Курц и начали работать над будущим BASIC. Он сразу задумывался авторами как инструмент программирования для гуманитариев. «Нам нужен был язык, который могли бы "выучить" практически все студенты (и преподаватели), не проходя для этого специального курса»,— рассказывал впоследствии Курц.
Базовый BASIC
Суть нового языка создатели выразили в его названии — он должен был демократизировать программирование, а значит, быть максимально базовым, доступным и простым (именно так переводится с английского слово «basic»). На это указывает и расшифровка — Beginner’s All-purpose Symbolic Instruction Code, то есть универсальный символьный код инструкций для начинающих.
Важнейшей особенностью BASIC стал очень простой синтаксис с использованием обычных слов. Например, начало и конец работы обозначались командами HELLO и GOODBYE — «здравствуйте» и «до свидания».
Впервые BASIC был использован в 4 часа утра 1 мая 1964 года. Язык программирования и правда оказался подходящим для новичков — Кемени писал, что через пару лет после создания BASIC им пользовалось около 80% студентов и 40% преподавателей Дартмутского колледжа.
Язык для первых ПК
Неудивительно, что в 1970-х — начале 1980-х BASIC активно применялся в только появлявшихся персональных компьютерах — таких, например, как Altair 8800, выпущенном в 1974 году и продававшимся за $500–600. В 1975-м основатели Microsoft Билл Гейтс и Пол Аллен написали первую версию BASIC для Altair 8800 — Altair BASIC стал первым коммерческим продуктом компании.
«Есть два ключевых момента в новой компьютерной революции. Один из них состоит в том, что компьютер должен быть недорогим, а вторая — что он должен быть понятным. Altair 8800 и Altair BASIC отвечают этим двум критериям»,— говорилось в 1970-е в одной из статей.
Дальше компьютеры становились еще более пользовательскими: в 1977-м был выпущен первый массовый ПК компании Apple — Apple II. И для него вскоре также появилась собственная версия BASIC.
Самим создателям языка эти версии не слишком нравились. В 1985 году Кемени и Курц выпустили книгу «Назад к BASIC», в которой критиковали такие варианты «уличного BASIC» как ухудшающие их творение.
Искалеченные программисты
Впрочем, не все были в восторге и от BASIC как такового. «Практически невозможно научить хорошо программировать студентов, которые уже знакомы с BASIC,— заявлял известный ученый в сфере информатики Эдсгер Дейкстра.— Как потенциальные программисты они настолько искалечены, что надежды на восстановление нет».
Защитники BASIC отвечают, что его минусы — часто продолжение его плюсов. Например, в этом языке есть команда GOTO, позволяющая перемещаться из одной точки программы в другую. Она существенно упрощает работу для начинающих — и при этом может вести к созданию так называемого «спагетти-кода», плохо структурированного и запутанного.
В долгосрочной перспективе выиграл подход создателей BASIC, которые стремились максимально демократизировать программирование.
В условиях массового распространения ПК вряд ли мог оказаться жизнеспособным взгляд Дейкстры, который считал, это занятие подходящим только для наиболее сильных и талантливых математиков, а остальным советовал даже не пытаться им заниматься.
Тем временем сам BASIC постепенно устаревал — в новых ПК упор все чаще делался на графический пользовательский интерфейс, а значит, обычным людям было необязательно уметь программировать. Да и в целом к концу 1980-х BASIC казался старомодным на фоне спроса на Pascal, C и C++. Некоторый ренессанс он пережил в начале 1990-х, когда Microsoft представила Visual Basic. Но недолгий — его последняя версия вышла в 1998-м. Сам Кемени этого уже не застал — он умер от болезни сердца в 1992-м в возрасте 66 лет.