stringtranslate.com

БАЗОВЫЙ

BASIC ( Beginners' All-purpose Symbolic Instruction Code ) [1] — это семейство языков программирования общего назначения высокого уровня , разработанных для простоты использования. Первоначальная версия была создана Джоном Г. Кемени и Томасом Э. Курцем в Дартмутском колледже в 1963 году. Они хотели дать возможность студентам в ненаучных областях использовать компьютеры. В то время почти все компьютеры требовали написания специального программного обеспечения, которое, как правило, изучали только ученые и математики .

В дополнение к языку программирования Кемени и Курц разработали Dartmouth Time Sharing System (DTSS), которая позволяла нескольким пользователям редактировать и запускать программы BASIC одновременно на удаленных терминалах. Эта общая модель стала популярной в мини-компьютерных системах, таких как PDP-11 и Data General Nova в конце 1960-х и начале 1970-х годов. Hewlett-Packard выпустила целую линейку компьютеров для этого метода работы, представив серию HP2000 в конце 1960-х годов и продолжая продажи в 1980-х годах. Многие ранние видеоигры ведут свою историю от одной из этих версий BASIC.

Появление микрокомпьютеров в середине 1970-х годов привело к разработке нескольких диалектов BASIC, включая Microsoft BASIC в 1975 году. Из-за крошечного объема основной памяти , доступной на этих машинах, часто 4 КБ, были также созданы различные диалекты Tiny BASIC . BASIC был доступен практически для любой системы той эпохи и стал фактическим языком программирования для домашних компьютерных систем, которые появились в конце 1970-х годов. Эти ПК почти всегда имели интерпретатор BASIC, установленный по умолчанию, часто в прошивке машины или иногда на картридже ROM .

BASIC потерял популярность в 1990-х годах, поскольку на рынке появились более мощные микрокомпьютеры, и языки программирования с расширенными возможностями (такие как Pascal и C ) стали приемлемыми на таких компьютерах. К тому времени большинство нетехнических пользователей персональных компьютеров полагались на предварительно написанные приложения, а не на написание собственных программ. В 1991 году Microsoft выпустила Visual Basic , объединив обновленную версию BASIC с визуальным конструктором форм . Это возродило использование языка, и «VB» остается основным языком программирования [2] [3] в форме VB.NET , в то время как любительская сцена для BASIC в более широком смысле продолжает существовать. [4] [5]

Источник

Джон Г. Кемени был председателем математического факультета Дартмутского колледжа. Во многом благодаря его репутации новатора в преподавании математики, в 1959 году колледж выиграл премию Фонда Альфреда П. Слоуна в размере 500 000 долларов на строительство нового здания факультета. [6] Томас Э. Курц присоединился к факультету в 1956 году, и с 1960-х годов Кемени и Курц пришли к согласию о необходимости грамотности в программировании среди студентов за пределами традиционных областей STEM . Позже Кемени отметил, что «наше видение заключалось в том, что каждый студент в кампусе должен иметь доступ к компьютеру , и любой преподаватель должен иметь возможность использовать компьютер в классе, когда это уместно. Вот так просто». [7]

Кемени и Курц провели два предыдущих эксперимента с упрощенными языками, DARSIMCO (Dartmouth Simplified Code) и DOPE (Dartmouth Oversimplified Programming Experiment) . Они не продвинулись дальше одного класса первокурсников. Затем последовали новые эксперименты с использованием Fortran и ALGOL , но Курц пришел к выводу, что эти языки слишком сложны для того, чего они хотели. Как заметил Курц, в Fortran было множество странно сформированных команд, в частности, «почти невозможное для запоминания соглашение для указания цикла: . Это '1, 10, 2' или '1, 2, 10', и требуется ли запятая после номера строки или нет?» [7]DO 100, I = 1, 10, 2

Более того, отсутствие какой-либо немедленной обратной связи было ключевой проблемой; машины той эпохи использовали пакетную обработку и требовали много времени для завершения запуска программы. Пока Курц посещал MIT , Джон Маккарти предположил, что разделение времени предлагает решение; одна машина могла бы разделить свое время обработки между многими пользователями, создавая у них иллюзию того, что у них есть (медленный) компьютер. [8] Небольшие программы возвращали бы результаты через несколько секунд. Это привело к росту интереса к системе, использующей разделение времени, и новому языку, специально предназначенному для использования студентами, не являющимися STEM-специалистами. [7]

Кемени написал первую версию BASIC. Аббревиатура BASIC происходит от названия неопубликованной статьи Томаса Курца. [9] Новый язык был в значительной степени скопирован с FORTRAN II; операторы были по одному в строке, числа использовались для указания цели циклов и ветвей, и многие команды были похожи или идентичны Fortran. Однако синтаксис был изменен везде, где его можно было улучшить. Например, сложный для запоминания DOцикл был заменен на гораздо более легкий для запоминания , а номер строки, используемый в DO, вместо этого обозначался . [a] Аналогично, криптографический оператор Fortran, синтаксис которого соответствовал определенной инструкции машины, на которой он был изначально написан, стал более простым . Эти изменения сделали язык гораздо менее идиосинкразическим, при этом все еще имея общую структуру и ощущаясь похожим на оригинальный FORTRAN. [7]FOR I = 1 TO 10 STEP 2NEXT IIFIF I=5 THEN GOTO 100

Проект получил грант в размере 300 000 долларов от Национального научного фонда , который был использован для покупки компьютера GE-225 для обработки и процессора реального времени Datanet-30 для обработки телетайпов Teletype Model 33, используемых для ввода и вывода. Команда из дюжины студентов работала над проектом около года, написав как систему DTSS, так и компилятор BASIC. [7] Первая версия языка BASIC была выпущена 1 мая 1964 года. [10] [11]

Первоначально BASIC был сосредоточен на поддержке простых математических работ, с поддержкой матричной арифметики из его первоначальной реализации в качестве пакетного языка и функциональностью символьных строк , добавленной к 1965 году. Использование в университете быстро расширялось, что потребовало замены основного ЦП на GE-235, [7] а еще позже на GE-635. К началу 1970-х годов к машинам в Дартмуте были подключены сотни терминалов, некоторые из них удаленно.

Желая, чтобы использование языка стало широко распространенным, его разработчики сделали компилятор доступным бесплатно. В 1960-х годах программное обеспечение стало платным товаром; до тех пор оно предоставлялось бесплатно как услуга с дорогими компьютерами, обычно доступными только для аренды. Они также сделали его доступным для средних школ в районе Ганновера, Нью-Гемпшир , и на региональном уровне по всей Новой Англии на телетайпных терминалах модели 33 и модели 35, подключенных к Дартмуту через коммутируемые телефонные линии, и они приложили значительные усилия для продвижения языка. В последующие годы, по мере появления других диалектов BASIC, оригинальный диалект BASIC Кемени и Курца стал известен как Dartmouth BASIC .

В 2019 году власти Нью-Гэмпшира отметили это достижение, установив в Ганновере исторический маркер на шоссе, свидетельствующий о создании «первого удобного для пользователя языка программирования» [12] .

Распространение услуг по разделению времени

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

General Electric, работая над проектом Dartmouth, написала свою собственную базовую операционную систему и запустила онлайн-систему разделения времени, известную как Mark I. Она показала BASIC как один из своих основных коммерческих аргументов. Другие компании в новой области быстро последовали примеру; Tymshare представила SUPER BASIC в 1968 году, CompuServe имела версию на DEC-10 при их запуске в 1969 году, и к началу 1970-х годов BASIC был в значительной степени универсальным на универсальных мэйнфреймах . Даже IBM в конечном итоге присоединилась к клубу, представив VS-BASIC в 1973 году. [14]

Хотя службы разделения времени с BASIC были успешны некоторое время, широкомасштабный успех, предсказанный ранее, не был достигнут. Появление мини-компьютеров в тот же период, и особенно недорогих микрокомпьютеров в середине 1970-х годов, позволило любому человеку приобретать и запускать свои собственные системы, а не покупать онлайн-время, которое обычно оплачивалось по доллару за минуту. [b] [15]

Распространение на миникомпьютерах

Система HP 2000 была разработана для выполнения основной задачи — BASIC с разделением времени.

BASIC, по своей природе будучи небольшим, был естественным образом приспособлен для переноса на рынок мини-компьютеров , который возник одновременно с сервисами разделения времени. Эти машины имели небольшую основную память , возможно, всего 4 КБ в современной терминологии, [c] и не имели высокопроизводительного хранилища, такого как жесткие диски , которые делают компиляторы практичными. На этих системах BASIC обычно реализовывался как интерпретатор, а не как компилятор из-за его меньших требований к рабочей памяти. [d]

Особенно важным примером был HP Time-Shared BASIC , который, как и оригинальная система Dartmouth, использовал два компьютера, работающих вместе, для реализации системы разделения времени. Первый, низкоуровневая машина в серии HP 2100 , использовался для управления вводом данных пользователем и сохранения и загрузки его программ на ленту или диск. Другой, высокоуровневая версия той же базовой машины, запускал программы и генерировал вывод. За сумму около 100 000 долларов можно было владеть машиной, способной одновременно запускать от 16 до 32 пользователей. [16] Система, объединенная как HP 2000, была первой мини-платформой, предлагающей разделение времени, и имела немедленный ошеломительный успех, выведя HP на третье место по величине среди поставщиков мини-компьютеров после DEC и Data General (DG). [17]

DEC, лидер в области мини-компьютеров с середины 1960-х годов, изначально игнорировала BASIC. Это было связано с их работой с RAND Corporation , которая приобрела PDP-6 для запуска своего языка JOSS , который был концептуально очень похож на BASIC. [18] Это привело к тому, что DEC представила меньшую, очищенную версию JOSS, известную как FOCAL , которую они активно продвигали в конце 1960-х годов. Однако, поскольку системы разделения времени широко предлагали BASIC, и все их конкуренты в области мини-компьютеров делали то же самое, клиенты DEC требовали BASIC. После того, как руководство неоднократно игнорировало их просьбы, Дэвид Х. Аль взял на себя смелость купить BASIC для PDP-8 , что имело большой успех на рынке образования. К началу 1970-х годов FOCAL и JOSS были забыты, и BASIC стал практически универсальным на рынке мини-компьютеров. [19] DEC продолжила представлять свою обновленную версию, BASIC-PLUS , для использования в операционной системе с разделением времени RSTS/E .

В этот период на BASIC было написано несколько простых текстовых игр , наиболее примечательной из которых является Star Trek Майка Мэйфилда . Дэвид Аль собрал их, некоторые из них были перенесены из FOCAL, и опубликовал их в образовательном информационном бюллетене, который он составил. Позже он собрал некоторые из них в форме книги, 101 BASIC Computer Games , опубликованной в 1973 году. [20] В тот же период Аль участвовал в создании небольшого компьютера для использования в образовании, раннего персонального компьютера . Когда руководство отказалось поддержать эту концепцию, Аль покинул DEC в 1974 году, чтобы основать основополагающий компьютерный журнал Creative Computing . Книга оставалась популярной и была переиздана несколько раз. [21]

Взрывной рост: эра домашних компьютеров

Commodore BASIC v2.0 на Commodore 64
MSX BASIC версия 3.0
«Тренируйтесь по программе Basic каждый день!» — гласит плакат (внизу в центре) в российской школе ( около  1985–1986 гг . )

Появление первых микрокомпьютеров в середине 1970-х годов стало началом взрывного роста BASIC. Он имел то преимущество, что был довольно хорошо известен молодым разработчикам и любителям компьютеров, которые интересовались микрокомпьютерами, многие из которых видели BASIC на мини- или мэйнфреймах. Несмотря на известное суждение Дейкстры в 1975 году: «Практически невозможно научить хорошему программированию студентов, которые имели опыт работы с BASIC: как потенциальные программисты они ментально изуродованы без надежды на восстановление», [22] BASIC был одним из немногих языков, который был и достаточно высокоуровневым, чтобы его могли использовать те, кто не имел подготовки, и достаточно маленьким, чтобы вписаться в микрокомпьютеры того времени, что сделало его фактически стандартным языком программирования на ранних микрокомпьютерах.

Первая микрокомпьютерная версия BASIC была написана совместно Биллом Гейтсом , Полом Алленом и Монте Давидоффом для их недавно созданной компании Micro-Soft. [23] Она была выпущена MITS в формате перфоленты для Altair 8800 вскоре после самой машины, [24] немедленно закрепив BASIC как основной язык ранних микрокомпьютеров. Члены Homebrew Computer Club начали распространять копии программы, заставив Гейтса написать свое Открытое письмо любителям , в котором он жаловался на этот ранний пример программного пиратства .

Частично в ответ на письмо Гейтса, а частично для того, чтобы сделать еще меньший BASIC, который мог бы работать на машинах с 4 КБ, [e] Боб Альбрехт призвал Денниса Эллисона написать собственную вариацию языка. Как разработать и реализовать урезанную версию интерпретатора для языка BASIC, было описано в статьях Эллисона в первых трех квартальных выпусках информационного бюллетеня People's Computer Company , опубликованного в 1975 году, и реализациях с исходным кодом, опубликованных в журнале доктора Добба «Dr. Dobb's Journal of Tiny BASIC Calisthenics & Orthodontia: Running Light Without Overbyte» . Это привело к появлению большого разнообразия Tiny BASIC с дополнительными функциями или другими улучшениями, причем версии от Тома Питтмана и Ли-Чена Вана стали особенно известны. [25]

Micro-Soft, к тому времени Microsoft , портировала свой интерпретатор для MOS 6502 , который быстро стал одним из самых популярных микропроцессоров 8-битной эры. Когда начали появляться новые микрокомпьютеры, в частности «троица 1977 года» TRS-80 , Commodore PET и Apple II , они либо включали версию кода MS, либо быстро представляли новые модели с ним. Персональные компьютеры Ohio Scientific также присоединились к этой тенденции в то время. К 1978 году MS BASIC стал фактическим стандартом, и практически каждый домашний компьютер 1980-х годов включал его в ПЗУ . После загрузки был представлен интерпретатор BASIC в прямом режиме .

Commodore Business Machines включает Commodore BASIC , основанный на Microsoft BASIC. Apple II и TRS-80 имеют по две версии BASIC: меньшую вводную версию с начальными выпусками машин и версию на базе Microsoft, представленную по мере увеличения интереса к платформам. По мере того, как в эту область входили новые компании, добавлялись дополнительные версии, которые тонко изменяли семейство BASIC. 8-битные компьютеры Atari используют 8-килобайтный Atari BASIC , который не является производным от Microsoft BASIC. Sinclair BASIC был представлен в 1980 году с Sinclair ZX80 и позже был расширен для Sinclair ZX81 и Sinclair ZX Spectrum . Опубликованный BBC BASIC , разработанный Acorn Computers , включает в себя дополнительные ключевые слова структурного программирования и функции с плавающей точкой.

По мере роста популярности BASIC в этот период компьютерные журналы публиковали полный исходный код на BASIC для видеоигр, утилит и других программ. Учитывая простоту BASIC, было просто набрать код из журнала и запустить программу. Были изданы различные журналы с программами для определенных компьютеров, хотя некоторые программы BASIC считались универсальными и могли использоваться на машинах, работающих под управлением любого варианта BASIC (иногда с небольшими изменениями). Было также доступно множество книг с программами для ввода, и в частности, Аль опубликовал версии оригинальных 101 игр BASIC, преобразованных в диалект Microsoft, и опубликовал их в Creative Computing как BASIC Computer Games . Эта книга и ее продолжения содержали сотни готовых к использованию программ, которые можно было легко преобразовать практически для любой платформы, работающей под управлением BASIC. [20] [26] [27] Книга поступила в продажу в 1978 году, как раз когда начинался рынок домашних компьютеров , и стала первой компьютерной книгой, проданной миллионным тиражом. Более поздние пакеты, такие как Learn to Program BASIC, также имели игровую направленность в качестве вводного фокуса. На ориентированных на бизнес компьютерах CP/M , которые вскоре стали широко распространены в среде малого бизнеса, Microsoft BASIC ( MBASIC ) был одним из ведущих приложений. [28]

В 1978 году Дэвид Лиен опубликовал первое издание The BASIC Handbook: An Encyclopedia of the BASIC Computer Language , документировав ключевые слова для более чем 78 различных компьютеров. К 1981 году второе издание документировало ключевые слова для более чем 250 различных компьютеров, демонстрируя взрывной рост эры микрокомпьютеров. [29]

IBM PC и совместимые

IBM Кассета BASIC 1.10

Когда IBM проектировала IBM PC , они следовали парадигме существующих домашних компьютеров, имея встроенный интерпретатор BASIC. Они взяли его у Microsoft — IBM Cassette BASIC — но Microsoft также выпустила несколько других версий BASIC для MS-DOS / PC DOS , включая IBM Disk BASIC (BASIC D), IBM BASICA (BASIC A), GW-BASIC (совместимая с BASICA версия, не нуждающаяся в ПЗУ IBM) [30] и QBasic , все они обычно поставлялись в комплекте с машиной. Кроме того, они выпустили компилятор Microsoft BASIC, предназначенный для профессиональных программистов. Издатель Turbo Pascal Borland опубликовал Turbo Basic 1.0 в 1985 году (более поздние версии все еще продаются под названием PowerBASIC ). В Unix-подобных системах были созданы специализированные реализации, такие как XBasic и X11-Basic. [31] XBasic был портирован на Microsoft Windows как XBLite , и появились кроссплатформенные варианты, такие как SmallBasic , yabasic , Bywater BASIC , [32] [33] nuBasic, [34] MyBasic, [35] Logic Basic, [36] Liberty BASIC и wxBasic . FutureBASIC и Chipmunk Basic тем временем были нацелены на Apple Macintosh , в то время как yab — это версия yaBasic, оптимизированная для BeOS , ZETA и Haiku . [37]

Эти более поздние вариации ввели множество расширений, таких как улучшенная обработка строк и поддержка графики, доступ к файловой системе и дополнительные типы данных . Более важными были возможности для структурного программирования , включая дополнительные структуры управления и соответствующие подпрограммы, поддерживающие локальные переменные . [38] Однако ко второй половине 1980-х годов пользователи все чаще использовали готовые приложения, написанные другими, а не изучали программирование самостоятельно; в то время как профессиональные программисты теперь имели широкий спектр более продвинутых языков, доступных на небольших компьютерах. C и позже C++ стали языками выбора для профессиональной разработки приложений «в термоусадочной пленке» . [39] [40]

Ниша, которую продолжал заполнять BASIC, была предназначена для любительской разработки видеоигр , поскольку системы создания игр и легкодоступные игровые движки все еще находились в зачаточном состоянии. Atari ST имел STOS BASIC, в то время как Amiga имел AMOS BASIC для этой цели. Microsoft впервые представила BASIC для разработки игр с DONKEY.BAS для GW-BASIC , а позже GORILLA.BAS и NIBBLES.BAS для QuickBASIC . QBasic поддерживал активное сообщество разработчиков игр, [41] [42] что позже помогло породить реализации QB64 и FreeBASIC . [43] В 2013 году игра, написанная на QBasic и скомпилированная с помощью QB64 для современных компьютеров, под названием Black Annex была выпущена в Steam . [44] [45] Blitz Basic , Dark Basic , SdlBasic , Super Game System Basic, [46] PlayBASIC, [47] CoolBasic, [48] AllegroBASIC , [49] ethosBASIC, [50] GLBasic и Basic4GL в дальнейшем удовлетворили этот спрос, вплоть до современных RCBasic, [51] NaaLaa, [52] AppGameKit , [53] Monkey 2 и Cerberus-X. [54]

Визуальный базовый

В 1991 году Microsoft представила Visual Basic , эволюционное развитие QuickBASIC . Он включал конструкции из этого языка, такие как блочно-структурированные управляющие операторы, параметризованные подпрограммы и необязательная статическая типизация , а также объектно-ориентированные конструкции из других языков, такие как «With» и «For Each». Язык сохранил некоторую совместимость со своими предшественниками, например, ключевое слово Dim для объявлений, операторы «Gosub»/Return и необязательные номера строк, которые можно было использовать для поиска ошибок. Важным фактором развития Visual Basic стал новый макроязык для Microsoft Excel , программы для работы с электронными таблицами . К удивлению многих в Microsoft, которые изначально все еще позиционировали его как язык для любителей, язык стал широко использоваться для небольших пользовательских бизнес-приложений вскоре после выпуска VB версии 3.0, которая широко считается первой относительно стабильной версией. Microsoft также выделила его в Visual Basic for Applications и Embedded Visual Basic .

Хотя многие продвинутые программисты все еще насмехались над его использованием, VB эффективно отвечал потребностям малого бизнеса , поскольку к тому времени компьютеры под управлением Windows 3.1 стали достаточно быстрыми, чтобы многие бизнес-процессы могли быть завершены «в мгновение ока» даже с использованием «медленного» языка, если только не были задействованы большие объемы данных. Многие владельцы малого бизнеса обнаружили, что могут создавать свои собственные небольшие, но полезные приложения за несколько вечеров для удовлетворения своих собственных специализированных потребностей. В конце концов, за долгое время существования VB3, знание Visual Basic стало востребованным навыком работы. Microsoft также выпустила VBScript в 1996 году и Visual Basic .NET в 2001 году. Последний по сути обладает той же мощностью, что и C# и Java, но с синтаксисом, который отражает исходный язык Basic, а также обладает некоторой кроссплатформенной возможностью благодаря таким реализациям, как Mono-Basic . [55] IDE с ее событийно-управляемым GUI-конструктором также оказала влияние на другие инструменты быстрой разработки приложений , в частности, на Delphi for Object Pascal компании Borland Software и ее собственные потомки, такие как Lazarus . [56] [57]

Основная поддержка финальной версии 6.0 оригинального Visual Basic закончилась 31 марта 2005 года, за ней последовала расширенная поддержка в марте 2008 года. [58] В связи с его сохраняющейся популярностью [59] существуют попытки сторонних организаций продолжить его поддержку. [60] 2 февраля 2017 года Microsoft объявила, что разработка на VB.NET больше не будет вестись параллельно с разработкой на C#, [61] а 11 марта 2020 года было объявлено, что эволюция языка VB.NET также завершена. [62] Несмотря на это, язык все еще поддерживался. [63]

Три современных варианта Basic: Mono Basic, OpenOffice.org Basic и Gambas

Версии и диалекты после 1990 года

С 1990 года появилось много других диалектов BASIC, включая QB64 и FreeBASIC с открытым исходным кодом , вдохновлённые QBasic, а также RapidQ , HBasic , Basic For Qt и Gambas в стиле Visual Basic . [4] Современные коммерческие воплощения включают PureBasic , PowerBASIC , Xojo , Monkey X и True BASIC (прямой преемник Dartmouth BASIC от компании, контролируемой Курцем).

В настоящее время также существует несколько простых веб-интерпретаторов BASIC, включая Small Basic от Microsoft и wwwBASIC от Google . [64] Также существует ряд компиляторов, которые преобразуют BASIC в JavaScript . [65] например, NS Basic .

Благодаря более ранним разработкам, таким как Mobile Basic , [66] [67] многие диалекты теперь доступны для смартфонов и планшетов.

На игровых консолях приложение для Nintendo 3DS и Nintendo DSi под названием Petit Computer позволяет программировать на слегка измененной версии BASIC с поддержкой кнопки DS. Версия также была выпущена для Nintendo Switch , которая также поставлялась с версией Fuze Code System, [68] вариантом BASIC [69], впервые реализованным как пользовательская машина Raspberry Pi . [70] Ранее BASIC был доступен на консолях как Family BASIC (для Nintendo Famicom ) и PSX Chipmunk Basic (для оригинальной PlayStation ), в то время как yabasic был портирован на PlayStation 2 , а FreeBASIC — на оригинальный Xbox .

Калькуляторы

Варианты BASIC доступны на графических и иных программируемых калькуляторах, производимых Texas Instruments ( TI-BASIC ), HP (HP BASIC), Casio ( Casio BASIC ) и другими.

командная строка Windows

QBasic , версия Microsoft QuickBASIC без компоновщика для создания EXE-файлов, присутствует в потоках операционных систем Windows NT и DOS- Windows 95 и может быть получена для более поздних выпусков, таких как Windows 7 , в которых их нет. До DOS 5 интерпретатором Basic был GW-Basic . QuickBasic является частью серии из трех языков, выпущенных Microsoft для домашних и офисных продвинутых пользователей и мелкомасштабной профессиональной разработки; QuickC и QuickPascal являются двумя другими. Для Windows 95 и 98, в которых QBasic не установлен по умолчанию, их можно скопировать с установочного диска, на котором будет набор каталогов для старого и необязательного программного обеспечения; другие отсутствующие команды, такие как Exe2Bin и другие, находятся в этих же каталогах.

Другой

BASIC появился на некоторых игровых системах, таких как Nintendo Famicom .

Различные офисные пакеты Microsoft, Lotus и Corel и связанные с ними продукты программируются с помощью Visual Basic в той или иной форме, включая LotusScript , который очень похож на VBA 6. Эмулятор терминала Host Explorer использует WWB в качестве макроязыка; или, в последнее время, программа и пакет, в котором он содержится, программируются на внутреннем варианте Basic, известном как Hummingbird Basic. Вариант VBScript используется для программирования веб-контента, Outlook 97, Internet Explorer и Windows Script Host. WSH также имеет движок Visual Basic for Applications (VBA), установленный как третий из движков по умолчанию вместе с VBScript, JScript и многочисленными фирменными или открытыми движками, которые можно установить, такими как PerlScript , несколько движков на основе Rexx, Python, Ruby, Tcl, Delphi, XLNT, PHP и другими; Это означает, что две версии Basic могут использоваться вместе с другими упомянутыми языками, а также LotusScript, в файле WSF, через компонентную объектную модель и другие конструкции WSH и VBA. VBScript — один из языков, к которому могут обращаться 4Dos, 4NT и улучшенные оболочки Take Command. SaxBasic и WWB также очень похожи на линию реализаций Visual Basic Basic. Макроязык Microsoft Word до Office 97 известен как WordBASIC . Excel 4 и 5 используют сам Visual Basic в качестве макроязыка. Chipmunk Basic , старый интерпретатор, похожий на BASIC 1970-х годов, доступен для Linux , Microsoft Windows и macOS .

Наследие

Распространенность интерпретаторов BASIC на персональных компьютерах была такова, что учебники когда-то включали простые упражнения «Попробуй это на BASIC», которые побуждали студентов экспериментировать с математическими и вычислительными концепциями на компьютерах в классе или дома. Популярные компьютерные журналы того времени обычно включали программы ввода .

Футурист и писатель-фантаст Дэвид Брин оплакивал потерю повсеместного BASIC в статье в Salon 2006 года [71], как и другие, кто впервые использовал компьютеры в эту эпоху. В свою очередь, статья побудила Microsoft разработать и выпустить Small Basic ; [72] она также вдохновила на подобные проекты, такие как Basic-256 [73] [74] и веб-ориентированный Quite Basic. [75] Дартмут провел празднование 50-летия BASIC 1 мая 2014 года. [76] Педагогическое использование BASIC последовало за другими языками, такими как Pascal , Java и особенно Python . [77]

Дартмутский колледж отпраздновал 50-ю годовщину языка BASIC днем ​​мероприятий [78] 30 апреля 2014 года. Для мероприятия был снят короткометражный документальный фильм. [79]

Синтаксис

Типичные ключевые слова BASIC

Манипулирование данными

LET
присваивает значение (которое может быть результатом выражения ) переменной. В большинстве диалектов BASIC LETявляется необязательным, и строка без другого идентифицируемого ключевого слова будет считать, что это ключевое слово LET.
DATA
содержит список значений, которые назначаются последовательно с помощью команды READ.
READ
считывает значение из DATAоператора и присваивает его переменной. Внутренний указатель отслеживает последний DATAсчитанный элемент и перемещает его на одну позицию вперед с каждым READ. Большинство диалектов допускают несколько переменных в качестве параметров, считывая несколько значений за одну операцию.
RESTORE
сбрасывает внутренний указатель на первый DATAоператор, позволяя программе начать READс первого значения. Многие диалекты допускают необязательный номер строки или порядковое значение, чтобы позволить сбросить указатель на выбранное место.
DIM
Создает массив.

Управление потоком программы

IF ... THEN ... {ELSE}
используется для выполнения сравнений или принятия решений. Ранние диалекты допускали только номер строки после THEN, но более поздние версии позволяли любому допустимому утверждению следовать за ним. ELSEне получил широкой поддержки, особенно в ранних версиях.
FOR ... TO ... {STEP} ... NEXT
повторить часть кода заданное количество раз. Переменная, которая действует как счетчик, "индекс", доступна внутри цикла .
WHILE ... WENDиREPEAT ... UNTIL
повторить часть кода, пока заданное условие истинно. Условие может быть оценено до каждой итерации цикла или после. Обе эти команды встречаются в основном в более поздних диалектах.
DO ... LOOP {WHILE}или{UNTIL}
повторять часть кода бесконечно или пока/пока указанное условие не станет истинным. Условие может быть оценено перед каждой итерацией цикла или после. Подобно WHILE, эти ключевые слова в основном встречаются в более поздних диалектах.
GOTO
переходит на пронумерованную или помеченную строку в программе. Большинство диалектов также допускают форму GO TO.
GOSUB ... RETURN
переходит на пронумерованную или помеченную строку, выполняет найденный там код, пока не достигнет RETURNкоманды, после которой он переходит обратно к оператору, следующему за GOSUB, либо после двоеточия, либо на следующей строке. Это используется для реализации подпрограмм .
ON ... GOTO/GOSUB
выбирает, куда прыгать, основываясь на указанных условиях. См. оператор Switch для других форм.
DEF FN
пара ключевых слов, введенных в начале 1960-х годов для определения функций. Первоначальные функции BASIC были смоделированы на основе однострочных функций FORTRAN. Функции BASIC представляли собой одно выражение с переменными аргументами, а не подпрограммы , с синтаксисом по образцу DEF FND(x) = x*xв начале программы. Имена функций изначально ограничивались FN, плюс одна буква, т. е . FNA, FNB ...

Ввод и вывод

LIST
отображает полный исходный код текущей программы.
PRINT
отображает сообщение на экране или другом устройстве вывода.
INPUT
просит пользователя ввести значение переменной. Оператор может включать подсказку.
TAB
используется PRINTдля установки позиции, в которой следующий символ будет показан на экране или напечатан на бумаге. AT— альтернативная форма.
SPC
выводит несколько пробелов. По концепции похоже на , TABно перемещается на несколько дополнительных пробелов из текущего столбца, а не перемещается в указанный столбец.

Математические функции

ABS
Абсолютное значение
ATN
Арктангенс (результат в радианах )
COS
Косинус (аргумент в радианах )
EXP
Экспоненциальная функция
INT
Целая часть (обычно функция пола )
LOG
Натуральный логарифм
RND
Генерация случайных чисел
SIN
Синус (аргумент в радианах )
SQR
Квадратный корень
TAN
Тангенс (аргумент в радианах )

Разнообразный

REM
содержит комментарий программиста или REMark; часто используется для обозначения названия программы и определения назначения определенного раздела кода.
USR(«Процедура, обслуживаемая пользователем»)
передает управление программой подпрограмме машинного языка , обычно вводимой в виде буквенно-цифровой строки или в виде списка операторов DATA.
CALL
альтернативная форма USRвстречается в некоторых диалектах. Не требует искусственного параметра для завершения синтаксиса, похожего на функцию USR, и имеет четко определенный метод вызова различных подпрограмм в памяти.
TRON/ TROFF
включает отображение каждого номера строки по мере ее выполнения ("TRace ON"). Это было полезно для отладки или исправления проблем в программе. TROFF снова отключает его.
ASM
Некоторые компиляторы, такие как Freebasic, [80] Purebasic, [81] и Powerbasic [82], также поддерживают встроенный язык ассемблера, что позволяет программисту смешивать высокоуровневый и низкоуровневый код, обычно с префиксом «ASM» или «!».

Типы данных и переменные

Минимальные версии BASIC имели только целочисленные переменные и одно- или двухбуквенные имена переменных, что минимизировало требования к ограниченной и дорогой памяти (RAM). Более мощные версии имели арифметику с плавающей точкой, и переменные могли быть помечены именами длиной шесть или более символов. Были некоторые проблемы и ограничения в ранних реализациях; например, Applesoft BASIC допускал имена переменных длиной в несколько символов, но только первые два были значимыми, поэтому можно было непреднамеренно написать программу с переменными «LOSS» и «LOAN», которые бы рассматривались как одно и то же; присвоение значения «LOAN» молча перезаписывало бы значение, предназначенное как «LOSS». Ключевые слова не могли использоваться в переменных во многих ранних BASIC; «SCORE» интерпретировалось бы как «SC» ИЛИ «E», где ИЛИ было ключевым словом. Строковые переменные обычно различаются во многих диалектах микрокомпьютеров по суффиксу $ после их имени в качестве сигила , а значения часто идентифицируются как строки, будучи разделенными "двойными кавычками". Массивы в BASIC могут содержать целые числа, числа с плавающей точкой или строковые переменные.

Некоторые диалекты BASIC поддерживали матрицы и матричные операции , которые можно было использовать для решения наборов одновременных линейных алгебраических уравнений. Эти диалекты напрямую поддерживали матричные операции, такие как присваивание, сложение, умножение (совместимых матричных типов) и вычисление определителя. Многие микрокомпьютерные BASIC не поддерживали этот тип данных; матричные операции все еще были возможны, но их нужно было явно программировать на элементах массива.

Примеры

Простая игра, реализованная на BASIC

Неструктурированный БЕЙСИК

Начинающие программисты на BASIC на домашнем компьютере могут начать с простой программы, возможно, используя оператор PRINT языка для отображения сообщения на экране; хорошо известным и часто воспроизводимым примером является программа Кернигана и Ритчи « Hello, World!» :

10 ПЕЧАТЬ "Привет, мир!" 20 КОНЕЦ   

Для заполнения дисплея сообщением можно использовать бесконечный цикл :

10 ПЕЧАТЬ "Привет, мир!" 20 ПЕРЕЙТИ К 10    

Обратите внимание, что ENDоператор необязателен и не имеет действия в большинстве диалектов BASIC. Он не всегда включался, как в этом примере. Эту же программу можно изменить для печати фиксированного количества сообщений с помощью общего FOR...NEXTоператора:

10 ПУСТЬ N = 10 20 ДЛЯ I = 1 ДО N 30 ПЕЧАТЬ "Hello, World!" 40 ДАЛЕЕ I          

Большинство версий BASIC для домашних компьютеров, таких как MSX BASIC и GW-BASIC , поддерживали простые типы данных, циклы и массивы. Следующий пример написан для GW-BASIC, но будет работать в большинстве версий BASIC с минимальными изменениями:

10 ВВОД "Как вас зовут: " ; U$ 20 ПЕЧАТЬ "Привет " ; U$ 30 ВВОД "Сколько звезд вы хотите: " ; N 40 S$ = "" 50 ДЛЯ I = 1 ДО N 60 S$ = S$ + "*" 70 ДАЛЕЕ I 80 ПЕЧАТЬ S$ 90 ВВОД "Хотите больше звезд?" ; A$ 100 ЕСЛИ ДЛИНА ( A$ ) = 0 ТО ПЕРЕЙТИ К 90 110 A$ = ЛЕВОСТЬ$ ( A$ , 1 ) 120 ЕСЛИ A$ = "Y" ИЛИ A$ = "y" ТО ПЕРЕЙТИ К 30 130 ПЕЧАТЬ "До свидания " ; U$ 140 КОНЕЦ                                                        

Полученный диалог может выглядеть примерно так:

Как тебя зовут: МайкПривет МайкСколько звезд вы хотите: 7*******Хотите больше звезд? даСколько звезд вы хотите: 3***Хотите больше звезд? нетПрощай, Майк.

Оригинальный Dartmouth Basic был необычен тем, что имел ключевое слово матрицы, MAT. [f] Хотя оно и не было реализовано в большинстве более поздних производных микропроцессоров, оно используется в этом примере из руководства 1968 года [83] , которое усредняет введенные числа:

5 ПУСТЬ S = 0 10 ВВОД MAT V 20 ПУСТЬ N = ЧИСЛО 30 ЕСЛИ N = 0 ТО 99 40 ДЛЯ I = 1 ДО N 45 ПУСТЬ S = S + V ( I ) 50 ДАЛЕЕ I 60 ПЕЧАТЬ S / N 70 ПЕРЕЙТИ К 5 99 КОНЕЦ                                             

Структурированный БЕЙСИК

Второе поколение BASIC (например, VAX Basic , SuperBASIC , True BASIC , QuickBASIC , BBC BASIC , Pick BASIC , PowerBASIC , Liberty BASIC , QB64 и (возможно) COMAL ) ввело в язык ряд функций, в первую очередь связанных со структурным и процедурно-ориентированным программированием. Обычно нумерация строк опускается из языка и заменяется метками (для GOTO ) и процедурами для поощрения более простого и гибкого проектирования. [38] Кроме того, были введены ключевые слова и структуры для поддержки повторения, выбора и процедур с локальными переменными.

Следующий пример приведен на языке Microsoft QuickBASIC:

Пример REM QuickBASICREM Предварительное объявление — позволяет основному коду вызывать REM-подпрограмму, которая определена позже в исходном коде DECLARE SUB PrintSomeStars ( StarCount! )   REM Основная программа следует INPUT "Как вас зовут: " , ИмяПользователя$ PRINT "Привет " ; ИмяПользователя$ DO INPUT "Сколько звезд вы хотите: " , NumStars CALL PrintSomeStars ( NumStars ) DO INPUT "Хотите еще звезд? " , Ответ$ LOOP UNTIL Ответ$ <> "" Ответ$ = LEFT$ ( Ответ$ , 1 ) LOOP WHILE UCASE$ ( Ответ$ ) = "Y" PRINT "До свидания " ; ИмяПользователя$ END                            REM определение подпрограммы SUB PrintSomeStars ( StarCount ) REM Эта процедура использует локальную переменную с именем Stars $ Stars$ = STRING$ ( StarCount , "*" ) PRINT Stars$ END SUB                  

Объектно-ориентированный BASIC

Третье поколение диалектов BASIC, таких как Visual Basic , Xojo , Gambas , StarOffice Basic , BlitzMax и PureBasic, представило возможности для поддержки объектно-ориентированной и событийно-управляемой парадигмы программирования. Большинство встроенных процедур и функций теперь представлены как методы стандартных объектов, а не операторы . Кроме того, операционная система стала более доступной для языка BASIC.

Следующий пример написан на Visual Basic .NET :

Открытый модуль StarsProgram Частная функция Ask ( prompt As String ) As String Console . Write ( prompt ) Возврат Console . ReadLine () Конец функции               Public Sub Main () Dim userName = Ask ( "Как вас зовут:" ) Console.WriteLine ( "Привет, {0} " , userName )         Dim ответ как строка    Do Dim numStars = CInt ( Ask ( "Сколько звезд вы хотите: " )) Dim stars As New String ( "*"c , numStars ) Console . WriteLine ( stars )            Do answer = Ask ( "Хотите больше звезд?" ) Цикл до ответа <> "" Цикл до ответа . StartsWith ( "Y" , StringComparison . OrdinalIgnoreCase )             Console.WriteLine ( " Goodbye {0}" , userName ) End Sub End Module    

Стандарты

Компиляторы и интерпретаторы

Смотрите также

Примечания

  1. ^ В Фортране continueдля этой цели был DO, но все равно требовалось вводить номер строки.
  2. ^ Tymshare взимала около 10 долларов США в час (что эквивалентно 78 долларам США в 2023 году) за доступ к своим системам.
  3. ^ PDP-8, который широко считается первым «настоящим» мини-компьютером, имел 12-битное пространство памяти, допускавшее 4096 адресов по 12 бит каждый, или 6144 байта.
  4. ^ Интерпретаторы в конечном счете похожи на компиляторы в задачах, которые они выполняют, преобразуя исходный код в машинный код, но отличаются тем, когда они это делают. Компиляторы преобразуют всю программу сразу и выводят отдельную работающую программу. Интерпретаторы обычно преобразуют только одну строку за раз (или даже только ее часть), а затем немедленно освобождают этот код после завершения выполнения строки. Это означает, что им требуется только достаточно памяти для выполнения одной строки, и им не требуется какая-либо форма высокопроизводительной вторичной памяти, такой как жесткий диск.
  5. ^ Microsoft BASIC оставил 780 байт свободными для кода пользовательской программы и значений переменных на машине с памятью 4 КБ, и это была урезанная версия, в которой отсутствовали строковые переменные и другие функции.
  6. ^ Начиная с версии 3.

Ссылки

  1. ^ Кемени, Джон Г.; Курц, Томас Э. (1963). Basic: руководство по BASIC, элементарному алгебраическому языку, разработанному для использования с системой разделения времени Дартмута (PDF) (1-е изд.). Ганновер, Нью-Гэмпшир: Вычислительный центр Дартмутского колледжа. Архивировано (PDF) из оригинала 9 октября 2022 г.
  2. ^ Рамел, Дэвид (12 февраля 2019 г.). «Популярность VB.NET продолжает расти». Visual Studio Magazine . Получено 28 марта 2023 г. .
  3. ^ Swersky, David (25 января 2023 г.). «40 самых популярных языков программирования 2023 года: когда и как их использовать». Raygun . Получено 25 марта 2023 г. .
  4. ^ ab Proven, Liam (28 марта 2023 г.). «Ностальгия по VB? BASIC совсем не мертв». The Register . Получено 27 сентября 2023 г. .
  5. Босс, Крис (15 ноября 2022 г.). «BASIC не умер. Пора стереть мифы о Basic». Code Project . Получено 31 января 2024 г.
  6. ^ "Высшая математика в Ганновере". Time . 23 февраля 1959 г.
  7. ^ abcdef Время 2014.
  8. ^ Рэнкин, Джой Лиси (2018), Народная история вычислений в Соединенных Штатах , Кембридж, Массачусетс: Издательство Гарвардского университета, ISBN 9780674970977, стр. 23
  9. ^ "BASIC". Файл жаргона . Получено 13 июня 2017 г.
  10. ^ "Томас Э. Курц – История языков программирования". cis-alumni.org . Получено 13 июня 2017 г. .
  11. Альфред, Рэнди (5 января 2008 г.). «1 мая 1964 г.: запуск первой базовой программы». Wired . Получено 13 июня 2017 г.
  12. ^ Брукс, Дэвид (11 июня 2019 г.). «Наконец-то исторический маркер, говорящий о чем-то важном». Concord Monitor . Архивировано из оригинала 11 июня 2019 г. . Получено 11 августа 2019 г. .
  13. Бауэр, У. Ф., Проектирование компьютеров с точки зрения программиста. Архивировано 23 июля 2016 г. на Wayback Machine (Восточная объединенная компьютерная конференция, декабрь 1958 г.). Одно из первых описаний разделения времени в компьютерах.
  14. ^ «IBM против мира: как оно есть». Computerworld . 5 декабря 1973 г.
  15. ^ Bourne, Charles; Hahn, Trudi Bellardo (август 2003). История служб онлайн-информации, 1963–1976. MIT Press. стр. 387. ISBN 9780262261753.
  16. ^ «Система таймшера 2000 года».
  17. ^ "Прохождение 10-летней отметки". Журнал MEASURE . Hewlett Packard. Октябрь 1976 г.
  18. ^ Маркс, Ширли (декабрь 1971 г.). Годы JOSS: размышления об эксперименте (PDF) (технический отчет). Rand. Архивировано (PDF) из оригинала 9 октября 2022 г.
  19. Саветц, Кевин (апрель 2013 г.). «Дэйв Аль и Бетси Аль» (интервью).
  20. ^ ab Ahl, David H. (1973). 101 Базовые компьютерные игры. Морристаун, Нью-Джерси: Creative Computing Press. OCLC  896774158.
  21. ^ Ahl, David H. (11 мая 1981 г.). «Компьютерные игры». InfoWorld . Т. 3, № 9. С. 44. ISSN  0199-6649.
  22. ^ Дейкстра, Эдсгер В. (18 июня 1975 г.). «Как мы говорим правду, которая может ранить» (PDF) . Избранные труды по вычислительной технике: личная точка зрения. Springer-Verlag (опубликовано в 1982 г.). стр. 129–131. ISBN 978-0387906522. OCLC  693424350. Архивировано (PDF) из оригинала 9 октября 2022 г.
  23. ^ Джонсон, Фил (21 января 2015 г.). «Исходный код Microsoft BASIC для 6502 становится явным». Computerworld . Получено 24 октября 2022 г. .
  24. ^ "У нас есть BASIC". Музей естественной истории и науки Нью-Мексико . Архивировано из оригинала 30 ноября 2012 г. Получено 18 апреля 2007 г.
  25. ^ Питтман, Том. «вам пришлось заплатить 5 долларов вперед, чтобы получить его…». www.ittybittycomputers.com . Получено 14 июня 2017 г.
  26. ^ Ahl, David H. (1979). Более простые компьютерные игры. Morristown: Creative Computing Press. ISBN 978-0894801372. OCLC  839377789.
  27. ^ Ahl, David H. (1984). Большие компьютерные игры. Morris Plains, NJ: Creative Computing Press. ISBN 978-0916688400. OCLC  872675092.
  28. ^ "Osborne 1". oldcomputers.net . Получено 14 июня 2017 г. .
  29. ^ Лиен, Дэвид (1981). Справочник BASIC (Второе издание). Сан-Диего, Калифорния: Compusoft Publishing. стр. внутренняя сторона обложки. ISBN 0-932760-00-7.
  30. ^ "Back to BASICs". peyre.sqweebs.com . Архивировано из оригинала 26 октября 2009 г. Получено 25 февраля 2023 г.
  31. ^ Перр, Джон (1 января 2003 г.). «Программирование на BASIC в Unix». LinuxFocus . Получено 26 сентября 2023 г. .
  32. ^ "bwBASIC: The Bywater BASIC Interpreter". Блог OSS . 25 августа 2018 г. Получено 30 сентября 2023 г.
  33. ^ Холл, Джим (23 июня 2021 г.). «Программа на FreeDOS с Bywater BASIC». Opensource.com . Получено 30 сентября 2023 г. .
  34. ^ Кальдероне, Антония. "Почему nuBASIC" . Получено 30 сентября 2023 г.
  35. Song, Liu Xue (12 октября 2003 г.). "MyBasic - A Custom-BASIC language interpreterwritten in C++". Code Project . Получено 30 сентября 2023 г. .
  36. ^ "LOGIC BASIC - Свободный язык программирования" . Получено 7 октября 2023 г. .
  37. Альбрехт, Кристиан (2 октября 2022 г.). «Урок для начинающих». BeSly — BeOS, Haiku и Zeta . Перевод Люка Шрийверса (Begasus) . Проверено 25 февраля 2024 г.
  38. ^ ab "Различия между GW-BASIC и QBasic". 12 мая 2003 г. Архивировано из оригинала 19 октября 2013 г. Получено 28 июня 2008 г.
  39. ^ Правин, Джейн (2011). Класс Java. Pearson Education India. ISBN 9788131755440.
  40. ^ "GNE: язык программирования C". fish.org . Получено 14 июня 2017 г. . В 1980-х годах компиляторы C получили широкое распространение, и C стал чрезвычайно популярным языком.
  41. ^ Дэнс, Майкл. «Легко создавать игры на Qbasic». Techwalla . Получено 30 сентября 2023 г.
  42. ^ "QBasic Games Directory". Phatcode . Получено 30 сентября 2023 г. .
  43. ^ "FreeBASIC Games Directory". FreeBASIC . Получено 30 сентября 2023 г. .
  44. ^ Cocilova, Alex (16 апреля 2013 г.). «Black Annex — лучшая игра на QBASIC, которую вы когда-либо видели». PC World . Получено 30 сентября 2023 г.
  45. Serrels, Mark (24 июня 2013 г.). «Австралиец, который построил видеоигру с помощью QBASIC». Kotaku . Архивировано из оригинала 24 июня 2013 г. Получено 30 сентября 2023 г.
  46. ^ "Super Game System Basic". IndieDB . 21 ноября 2017 г. Получено 30 сентября 2023 г.
  47. ^ "PlayBasic". itch.io . Получено 30 сентября 2023 г. .
  48. ^ "CoolBasic". IndieDB . 6 декабря 2005 г. Получено 30 сентября 2023 г.
  49. ^ "AllegroBASIC Homepage". AllegroBASIC . Архивировано из оригинала 15 ноября 2018 г. Получено 7 октября 2023 г.
  50. ^ "Ethos Game Basic 1.3". shareApp . Получено 30 сентября 2023 г. .
  51. ^ "RC Basic". ModDB . 18 августа 2015 г. Получено 30 сентября 2023 г.
  52. ^ Феркало, Андрей (8 августа 2014 г.). «НааЛаа». Софтпедия . Проверено 1 октября 2023 г.
  53. ^ "Более подробный взгляд на AppGameKit 2". GameFromScratch . 12 июня 2015 г. Получено 30 сентября 2023 г.
  54. ^ "Cerberus X 2018-08-10 Released". GameFromScratch . 10 августа 2018 г. Получено 30 сентября 2023 г.
  55. ^ Кларк, Гэвин (21 февраля 2007 г.). «Прорыв Linux для разработчиков Visual Basic». The Register . Получено 1 октября 2023 г. .
  56. ^ Андерсон, Тим (14 февраля 2020 г.). «25 лет Delphi и никакого Oracle в поле зрения: не убийца Visual Basic, но его трудно убить». The Register . Получено 25 марта 2023 г. . Появляется Borland Delphi, который объединил Object Pascal с визуальным конструктором форм в стиле VB. Object Pascal был собственным языком Borland с полной поддержкой наследования. Он нечувствителен к регистру и не намного сложнее VB для кодирования, как только вы привыкнете часто вводить begin и end (приблизительно эквивалентно фигурным скобкам в C). В отличие от VB, в нем разумно используются разные операторы для присваивания (:=) и сравнения (=).
  57. ^ Speed, Richard (6 мая 2022 г.). «RAD Basic – Visual Basic 7, которого никогда не было – выпускает третью альфу». The Register . Получено 26 марта 2023 г. . В качестве альтернативы можно пережить дни соперничества BASIC/Pascal с помощью совместимого с Delphi Lazarus.
  58. ^ "Product Family Life Cycle Guidelines for Visual Basic 6.0". Msdn2.microsoft.com. 31 марта 2005 г. Получено 16 июня 2009 г.
  59. ^ Рамел, Дэвид (7 июля 2020 г.). «Индекс популярности: классический Visual Basic висит там». Visual Studio Magazine . Получено 28 марта 2023 г.
  60. ^ Рамел, Дэвид (28 февраля 2020 г.). «Возрождение Visual Basic? Проект стремится «внести VBE в этот век!». Visual Studio Magazine . Получено 28 марта 2023 г. .
  61. Доминго, Майкл (13 июня 2017 г.). «Viva, Visual Basic! Или есть ли у VB будущее?». Visual Studio Magazine . Получено 26 марта 2023 г.
  62. ^ Рамел, Дэвид (12 марта 2020 г.). «Microsoft: «Мы не планируем развивать Visual Basic как язык». Visual Studio Magazine . Получено 26 марта 2023 г. .
  63. ^ Рамел, Дэвид (8 февраля 2023 г.). «Microsoft подтверждает судьбу Visual Basic». Visual Studio Magazine . Получено 25 марта 2023 г. .
  64. ^ Уильямс, Эл (17 сентября 2018 г.). «It's The Web, Basically». Hackaday . Получено 28 сентября 2023 г. .
  65. ^ Ветеану, Мариан (14 февраля 2017 г.). "Компиляторы JavaScript. Часть II: Языки, компилирующиеся в JavaScript". Code Avenger .
  66. ^ "Java – Какие языки программирования нацелены на J2ME". iTecNote . Получено 30 сентября 2023 г. Теперь я слышал о других языках, которые предположительно делают возможной разработку без обращения к Java, таких языках, как CellularBASIC (который немного похож на QBASIC) и Hecl (который, кажется, основан на Tcl).
  67. ^ Tello, Guillaume (15 декабря 2007 г.). "LG KS 360". Архивировано из оригинала 28 октября 2010 г. . Получено 30 сентября 2023 г. . После некоторых исследований в сети я наткнулся на этот сайт о CellularBASIC. Это полноценный интерпретатор BASIC, написанный на JAVA.
  68. ^ Миллер, Пол (19 июня 2017 г.). «Fuze Code Studio позволит детям использовать Switch для написания собственных игр для Switch». The Verge . Получено 30 сентября 2023 г.
  69. Портер, Мэтт (18 декабря 2015 г.). «Теперь дети могут вернуться к BASIC с помощью Fuze». The Gadget Man . Получено 30 сентября 2023 г. .
  70. ^ Бедфорд, Майк (21 октября 2015 г.). "Обзор FUZE на базе Raspberry Pi V2". The Gadget Man . Получено 30 сентября 2023 г. .
  71. ^ Брин, Дэвид (14 сентября 2006 г.). «Почему Джонни не умеет кодировать». Салон . Архивировано из оригинала 18 сентября 2013 г. Получено 19 июня 2017 г.
  72. ^ "Small Basic". Microsoft Developer Network . Архивировано из оригинала 17 марта 2014 г. Получено 19 июня 2017 г.
  73. ^ "Домашняя страница BASIC-256". Ознакомьтесь со статьей "Почему Джонни не умеет кодировать", которая вдохновила на создание BASIC-256.
  74. ^ Рэтлифф-старший, Гэри Л. (октябрь 2008 г.). «Алфавит компьютерных языков: BASIC». Журнал PCLinuxOS . Получено 25 февраля 2024 г.
  75. Костер, Раф (21 ноября 2006 г.). «Quite BASIC — Web BASIC programming» . Получено 25 февраля 2024 г. .
  76. ^ "Dartmouth plans celebration for 50th anniversary of the BASIC computer language". New Hampshire Union Leader . 28 апреля 2014 г. Архивировано из оригинала 20 июня 2017 г. Получено 14 июня 2017 г.
  77. Вуд, Ламонт (23 июня 2011 г.). «Как студенты изучают программирование в пост-Basic мире?». Computerworld . Получено 26 февраля 2024 г.
  78. ^ "BASIC at 50 – Event Schedule". Dartmouth College . Получено 14 июня 2017 г.
  79. ^ "BASIC at 50". Dartmouth College . Получено 14 июня 2017 г.
  80. ^ "KeyPgAsm". FreeBasic Wiki . Получено 2 августа 2017 г.
  81. ^ "Inline x86 ASM". Pure Basic . Получено 2 августа 2017 г. .
  82. ^ "Использование ассемблера в вашем коде". Power Basic . Архивировано из оригинала 2 августа 2017 г. . Получено 2 августа 2017 г. .
  83. ^ Кемени, Джон Г.; Курц, Томас Э. (январь 1968 г.). Basic: руководство по BASIC, элементарному алгебраическому языку, разработанному для использования с системой разделения времени Дартмута (PDF) (4-е изд.). Ганновер, Нью-Гэмпшир: Вычислительный центр Дартмутского колледжа. стр. 53. Архивировано (PDF) из оригинала 3 января 2014 г.
  84. ^ Хэм, Джон Гейтвуд (2014). «Минимальный компилятор BASIC ECMA-55 для x86-64 Linux®». Компьютеры . 3 (3): 69–116. doi : 10.3390/computers3030069 . S2CID  40383760.
  85. ^ angros47 (29 июля 2013 г.). "ANSI Basic: соответствует ли FreeBasic стандарту?". freebasic.net . Архивировано из оригинала 28 сентября 2023 г.{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  86. ^ Банчев, Бойко (2008). "Истинный 'Истинный BASIC'". Институт математики и информатики . Архивировано из оригинала 13 марта 2011 года.

Общие ссылки

Внешние ссылки