Когда в начале 1960-х годов студенты сталкивались с программированием, они почти неизбежно имели дело с громоздким и сложным Fortran. Этот язык был мощным, но в то же время требовал от пользователя немалой подготовки.
Dartmouth и рождение BASIC
Весной 1964 года в колледже Дартмут два преподавателя, Джон Кемени и Томас Курц, представили миру новый язык программирования — BASIC (Beginner's All-purpose Symbolic Instruction Code). Его целью было сделать программирование доступным не только для студентов естественно-научных направлений, но и для гуманитариев, биологов, социологов — всех, кто хотел использовать компьютер как инструмент мышления.
BASIC был разработан вместе с системой разделения времени (DTSS), что позволило пользователям взаимодействовать с компьютером в реальном времени — в отличие от пакетной обработки, типичной для работы с Fortran. Синтаксис BASIC был прост, понятен и близок к английскому языку: PRINT
, INPUT
, IF...THEN
. Это сделало его интуитивно понятным и привлекательным для новичков.
Путь к независимости
Хотя изначально BASIC создавался как подготовка к Fortran, его удобство и доступность сыграли решающую роль в его популяризации. С распространением персональных компьютеров в 1970–80-х годах, BASIC оказался почти везде: от Apple II до Commodore 64. Он стал языком по умолчанию на домашних ПК, а Microsoft BASIC — первым коммерческим продуктом Билла Гейтса и Пола Аллена для компьютера Altair 8800.
Стандартизация языка последовала в 1977 году (ANSI Minimal BASIC), затем появилась поддержка структурного программирования, и наконец в 1985 году был выпущен True BASIC — попытка вернуть BASIC к его академическим корням, но уже с учётом новых стандартов и подходов.
Новая жизнь BASIC в XXI веке
Несмотря на спад популярности в профессиональной разработке, BASIC не исчез. В 2020-х он продолжил эволюцию в нескольких направлениях:
SmallBASIC и FreeBASIC — активно развиваемые диалекты с открытым исходным кодом, работающие на Windows, Linux, Android. Поддерживают графику, звук, структурное программирование и интеграцию с современными библиотеками.
Visual Basic for Applications (VBA) до сих пор используется во множестве корпоративных решений для автоматизации в Microsoft Office.
В образовательной среде BASIC применяется как инструмент первого знакомства с алгоритмами и программированием, особенно в ретро-кружках и технических музеях.
Некоторые исследователи и педагоги продолжают использовать BASIC в обучении, ценя его мгновенный отклик и читаемость. Хотя Python занял место главного языка для начинающих, дух BASIC — программирование как средство мышления, а не как инженерная дисциплина — жив по сей день.
Заключение
Язык, родившийся как подготовка к Fortran, превратился в самостоятельное культурное и техническое явление. BASIC научил миллионы людей тому, что программирование — это не привилегия специалистов, а навык, доступный каждому. И хотя его золотой век остался в прошлом, идеи, стоящие за ним, продолжают влиять на современное программирование: простота, интерактивность и гуманность интерфейса между человеком и машиной.
zVlad909
Интересно где автор взял эту цитату?
Нам Fortran преподавали в институте на специальности Автоматика и Телемеханика. Т.е. специальности довольно далекой от компьютеров и программирования. Подготовкой у меня тогда был ЯСК (язык символического кодирования) Минск-22 (по сути Ассемблер), и язык Алгол-60. Fortran был продолжением и не вызывал никаких трудностей и особой подготовки, Это мнение студента 70-х годов.
Ни от кого не слышал и сам никогда не считал Fortran громоздким и сложным. Строго говоря Fortran на МФ был вариантом использования Assembler через макросы. Т.е. Fortran почти напрямую транслировался в Ассемблер.
Гораздо сложнее был PL/I в его расширенной версии, entry level PL/I был достаточно доступным для начинающих программистов. Advanced PL/I уже требовал знания компьютера и использования памяти. В нем был очень развит сегмент описания памяти используемой в программе.
С языком Basic я познакомился в связи с приобретением микроЭВМ Электроника Д3-28, в 1982 году на кафедра военного училища штурманов. Этот компьютер я купил на кафедру в Москве в магазине школьных принадлежностей. с дисплеем и транслятором c Basic, руководство к которому я прочитал на, помнится, комсомольском собрании, и вернувшись с собрания сел писать первую программу.
Между прочим вопреки дифирамбам Basic-у в статье наиболее применяемым языком на Западе был Cobol, который в СССР практически не использовался.
Спасибо автору за интерес к истории ИТ, но совет искать более значимые темы. Например, соберите материал и напишите про виртуальные машины, которые появились уже в конце 60-х, а вовсе не в конце 90-х.
unreal_undead2
Да, у нас Фортран был на школьном спецкурсе в начале 90х, парочка теоретических занятий - и вперёд, набивать код на терминале ЕС 1045.
victor_1212
заметим Dartmouth College это из Ivy League, т.е. примерно уровень физтеха или MIT, а John Kemeny это один из бывших коллег Richard Feynman по Los Alamos, BASIC был частью большой программы по созданию новой системы обучения студентов основам программирования, т.к. уже в 60х стало ясно, что программирование будет полезным далеко не только инженерам
S_gray
Д3-28 можно было купить в магазине?! Звучит как какая-то фантастика, если честно - по-моему, такие машины за наличные не продавались... Разве что безналом по какой-нибудь разнарядке? Я сам начинал программировать на этой машине, позже, правда - в 1984-м. Basic-3A на этой машине был...
zVlad909
Магазин был в Москве, возле метро Профсоюзная. Там разное оборудование для школ продавали. И кмк можно было бы и за нал купить, но у кого тогда мог быть нал тысячи рублеу, а если и был то им Электроника была не нужна.
Я туда приехал с гарантийным письмом от военного училища с реквизитами для оплаты. Оставил письмо и попросил выслать Электронику в адрес училища. Через какое-то время ящик стоял у нас в лаборатории. Как я вышел на эту Электроника убей не помню. Инициатором точно был зав. кафедры. Я тогда писал на Фортране для ЕС 1033. Ну и раз появилась эта Электроника то писал (никто больше на кафедре интереса к Электронике не проявлял) программки и на ней, На Ассемблере и на Basic-3A. Был там и дисплей у нее.
S_gray
Хорошо в Москве было :) У нас в РКИИГА, скорее всего это шло через хоздоговорные НИРы, централизованным способом - Д3-28 использовались при проведении экспериментов по нагружению образцов на предмет развития усталостных повреждений. Насколько помню, у нас к ней была прицеплена ЕСовая консоль через какую-то плату...
zVlad909
Наверное терминал все таки не консоль. Консоль (console) это функция ОС, а терминал это устройство, на котором консоль материлизуется. Дисплей, пишущая машинка, пара устройств печати и ввода с перфокарт. Это так к слову. Never mind.
S_gray
На самом деле, наоборот. Консоль - это, как раз, аппаратное устройство ввода-вывода, объединяющее монитор и клавиатуру и имеющее общее подключение к компьютеру (или его программная эмуляция в современном понимании), а терминал - именно программное обеспечение для организации ввода-вывода в командной строке.
Терминалом ещё иногда называют то, что сейчас называется "тонким клиентом" - небольшой слабый компьютер для подключения к большому компьютеру по сети. Консоль - это чистая железка, просто периферийное устройство...
zVlad909
Вы вроде про ЕСскую консоль говорите, верно?
Так вот, как я уже писал аппаратной реализацией ОС консоли ЕС могли выступать пара: принтер и перфокарточный ввод. Могла быть электрическая пишущая машинка "Консул", мог быть дисплей ЕС 7927. И ОС (в наши дни это MVS) было без разницы как аппаратно будет представленна его та или иная (их может быть много) "консоль", которая будет использована для ввода-вывода информации к/от системы.
S_gray
Вот с ЕС мог ошибиться - просто тогда всё подгоняли под единый стандарт. На ДВК такая же была пара - клавиатура-монитор, причём клавиатура, ЕМНИС, к монитору подключалась. Но, к Д3-28 у нас и Консул подключали и ввод с перфоленты... Терминалы на ЕСах действительно, другие были...
victor_1212
если в районе 1984, то локальные сети не очень развиты были, и терминал обычно имел последовательный интерфейс (RS232) к терминальному серверу, т.е. просто передавал/принимал символы, а сетевая карта (NIC) была на сервере, кроме прочего NIC довольно дорого стоили, конечно терминальный сервер мог быть и на mainframe, которая работала в режиме разделения времени