В четвертом классе я получил рождественский подарок, который сильно повлиял на мою карьеру и, следовательно, на всю мою жизнь. Этим подарком был «предкомпьютер» VTech PowerPad Plus. В конце 1980-х - начале 1990-х годов линейка продуктов PowerPad была всего лишь игрушкой, но представляла собой работающие компьютеры, в которых, среди горстки обучающих игр, был функционирующий интерпретатор BASIC. Для непосвященных BASIC - это язык компьютерного программирования, разработанный, чтобы быть простым, универсальным и доступным для обучения. Изучение BASIC на этой спартанской машине зажгло во мне страсть к технологиям и программированию, которая горит по сей день.

Изобретенный в Дартмутском колледже в 1960-х годах, BASIC является аббревиатурой от Универсального символьного инструктивного кода для начинающих, и его идея заключалась в создании доступного языка, на котором студенты колледжа могли бы писать свои собственные программы для мэйнфреймов без необходимости изучать более сложные языки. такие как FORTRAN и ALGOL. Он существовал в относительной безвестности как исследовательский проект, как и многие ранние компьютерные инновации, до конца 1970-х годов, когда он взорвался, и нам нечего поблагодарить за этот взрыв, кроме Microsoft.

Прежде чем доминировать на рынке операционных систем и офисных пакетов, Microsoft была поставщиком интерпретаторов и компиляторов языков программирования. Одним из их первых коммерческих успехов стал интерпретатор BASIC для ранних популярных систем, таких как Apple II, Commodore 64, Atari и других персональных компьютеров, основанных на доступном процессоре MOS 6502. Поскольку Билл Гейтс смог спроектировать свой BASIC для работы на таком большом количестве машин (и да, Билл Гейтс занимался программированием в те дни), он быстро стал популярным инструментом, на котором ранние разработчики нарезали себе зубы.

Оттуда первые издатели программного обеспечения создавали код, который с небольшими изменениями можно было передавать между зарождающимися компьютерными системами 1980-х годов. Поскольку модемы и диски были дорогими, пользователи получали большую часть кода в виде книг, опубликованных со страницами и страницами компьютерного кода, которые приходилось вручную копировать со страницы на экран. Простые игры, такие как Pong или Solitaire, состояли из сотен или тысяч строк, содержащих однообразные повторения PRINT, INPUT и LET, которые BASIC использовал для представления инструкций. Но затраты времени на ввод этих строк кода сводились к образовательной ценности. Поскольку пользователи утомительно просматривали эти страницы и даже без формального обучения, они могли начать тонко изменять код, внедрять свои собственные идеи и со временем писать свои собственные программы.

Это было той же мотивацией, которая стояла за включением интерпретатора BASIC в линейку PowerPads VTech. В комплекте с вводным руководством по BASIC, описывающим построение простых процедур ввода и вывода, этого было достаточно для 10-летнего ребенка, чтобы начать путешествие в мир разработки программного обеспечения. В следующем году или около того я перейду к копии QBASIC на старом ПК с MS-DOS в средней школе, затем к PHP и Javascript в средней школе, и, наконец, к более широкой области языков в колледже, изучающем информатику.

Но что сделало BASIC замечательным и ключом к моему раннему вдохновению были несколько простых моментов:

Во-первых, это было повсеместно. Интерпретатор Microsoft BASIC работал на каждой популярной машине, что делало его почти стандартным для того времени. Позже другие поставщики программного обеспечения будут производить аналогичные варианты BASIC, не слишком отличающиеся от версии Microsoft. Многие производители, такие как Apple, также просто встраивали BASIC в свои машины, чтобы они могли запускать его даже без жесткого диска.

Во-вторых, это было доступно. Синтаксис BASIC не требует пояснений и поэтому удобен даже для самого начинающего пользователя. PRINT отправляет текст на экран, INPUT читает с клавиатуры, RECT рисует прямоугольник, LINE рисует линию и т.д. структуры управления потоком из языков старших братьев, чтобы по мере роста навыков и понимания пользователей BASIC мог расти вместе с ними и предоставлять более надежные варианты.

В-третьих, это было бесплатно. Копия BASIC поставлялась почти с каждым новым компьютером в 1980-х и начале 1990-х годов без каких-либо ограничений на использование, а дистрибутивы часто поставлялись с несколькими предустановленными примерами программ, такими как версия Snake от Microsoft, называемая Nibbles. Как и упомянутые мной книги кода, это показало, что возможно с таким простым набором инструментов, и вызвало творческий подход и открытое экспериментирование.

Те элементы, которые привели к успеху BASIC в конце 1970-х, 1980-х и начале 1990-х, также вдохновили меня. Еще ребенком было легко изучить такой простой язык, который был встроен в игрушечный компьютер. Я отчетливо помню, как писал свою первую программу на этом игрушечном ноутбуке: простое упражнение, инструктирующее компьютер распечатать фразу «Hello, world!» Внезапно компьютеры и все виды деятельности, такие как игры, обработка текста и изучение раннего Интернета, стали для меня меньшей загадкой. Это имело смысл, как компьютер все это делал. Другой человек написал инструкции, как и я, которые заставляли компьютер делать то, что он хотел. Теперь мир технологий был ограничен только моими навыками и воображением, и я решил построить и то, и другое.

Этот результат был одинаковым для многих, потому что BASIC превратил компьютер из одностороннего источника информации в по-настоящему интерактивный инструмент, цифровой холст для начинающих изучать компьютер. Моя жена, учитель первого класса, часто напоминает мне, что работа педагога - не просто доносить до учеников информацию и навыки. Скорее, это поиск и развитие того, что вдохновляет студентов учиться на протяжении всей жизни. Для многих в поколениях X и Y именно BASIC вдохновил их стать разработчиками программного обеспечения, инженерами, учеными и многими другими. Возникает вопрос: что такое БЕЙСИК следующего поколения?

Сегодня мы не упускаем из виду ценность обучения программированию. От таких сайтов, как Codecademy до Обамы, возглавляющего День Кодекса, мы внутренне понимаем, насколько важны технические навыки в нашем обществе. Но эти платформы и инициативы представляют собой просто платформы для предоставления навыков, которые кажутся слишком близкими к серьезному, профессионально-ориентированному образованию, ориентированному на подготовку пользователей к рабочей силе. Они не вдохновляют. Они предполагают, что пользователь сильно мотивирован, и обучают современным правильным языкам, так что в результате получается серьезный набор навыков. Они противоречат тому, что сделало BASIC таким катализатором вдохновения.

Вместо этого нам нужно что-то, что удовлетворяет ключевым принципам работы BASIC: повсеместный, доступный и бесплатный инструмент.

Быть вездесущим в эту эпоху - гораздо более простая задача с помощью Интернета. То, что когда-то нужно было встроить непосредственно в продукт, может поставляться, как и все современное программное обеспечение, на итерационной основе по быстрым и широким каналам доставки. Создание его в сети - это первый шаг к созданию широкого сообщества пользователей, но работа только начинается там. Настоящее сообщество пользователей и евангелистов - вот что действительно делает нечто подобное повсеместным.

Чтобы быть доступным, это должно быть то, что не является попыткой профессионального обучения. Инструменты онлайн-обучения кода служат пожилой аудитории, у которой есть зрелость, чтобы проработать несколько современных компьютерных концепций, прежде чем они смогут создать что-то осязаемое. Программирование на Javascript или Ruby слишком сложно для новичка, а обилие онлайн-контента о современных языках просто ошеломит тех, кто ищет помощи. BASIC работал, потому что ученик начальной школы мог начать использовать его через пять минут, но постепенно улучшал свои навыки по мере того, как они становились более уверенными. Никакая платформа для онлайн-обучения не делает этого.

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

Остается большой вопрос: что это за инструмент? Это новая версия BASIC? Если взять основные принципы BASIC как языка программирования с простым, универсальным синтаксисом и обернуть его в современный пользовательский интерфейс, можно сделать его таким же доступным, каким он был когда-то, но независимо от буквальной платформы, это будет сообщество, которое сделает его успех. Повсеместное распространение BASIC - его присутствие на таком большом количестве машин и обширный каталог программного обеспечения и учебных инструментов - это то, что позволило ему вдохновить так много людей и сделать его успешным.