БАЗОВЫЙ
Парадигма | Неструктурированный , позже процедурный , позже объектно-ориентированный |
---|---|
Разработано | |
Впервые появился | 1 мая 1964 г |
Основные реализации | |
Под влиянием | |
Под влиянием | |
|
BASIC ( универсальный код символьных инструкций для начинающих ) [1] — это семейство языков программирования общего назначения , высокого уровня разработанных для простоты использования. Первоначальная версия была создана Джоном Г. Кемени и Томасом Э. Курцем в Дартмутском колледже в 1963 году. Они хотели дать возможность студентам ненаучных специальностей использовать компьютеры. В то время почти все компьютеры требовали написания специального программного обеспечения, которое, как только ученые и математики правило, изучали .
В дополнение к языку программирования Кемени и Курц разработали Дартмутскую систему разделения времени (DTSS), которая позволяла нескольким пользователям одновременно редактировать и запускать программы BASIC на удаленных терминалах. Эта общая модель стала популярной в миникомпьютерных системах, таких как PDP-11 и Data General Nova, в конце 1960-х и начале 1970-х годов. Hewlett-Packard выпустила целую линейку компьютеров для этого метода работы, представив серию HP2000 в конце 1960-х годов и продолжив продажи до 1980-х годов. Многие ранние видеоигры ведут свою историю от одной из этих версий BASIC.
Появление микрокомпьютеров в середине 1970-х годов привело к развитию нескольких диалектов BASIC, включая Microsoft BASIC в 1975 году. Из-за крошечной оперативной памяти различные диалекты Tiny BASIC , доступной на этих машинах, часто 4 КБ, также были созданы . BASIC был доступен практически для любой системы того времени и стал де-факто языком программирования для домашних компьютерных систем, появившимся в конце 1970-х годов. На этих компьютерах почти всегда по умолчанию был установлен интерпретатор BASIC машины , часто в прошивке или иногда на картридже ПЗУ .
Популярность 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 (Дартмутский упрощенный код) и DOPE (Дартмутский эксперимент по сверхупрощенному программированию) . Они не прошли ни одного класса первокурсников. Последовали новые эксперименты с использованием Фортрана и Алгола , но Курц пришел к выводу, что эти языки слишком сложны для того, чего они хотели. Как заметил Курц, в Фортране было множество команд странной формы, в частности «почти невозможно запомнить соглашение для определения цикла: DO 100, I = 1, 10, 2
. Это «1, 10, 2» или «1, 2, 10», и требуется ли запятая после номера строки?» [7]
Более того, ключевой проблемой было отсутствие какой-либо немедленной обратной связи; машины той эпохи использовали пакетную обработку , и выполнение программы занимало много времени. Во время визита Курца технологический институт в Массачусетский Джон Маккарти предположил, что разделение времени предлагает решение; одна машина могла разделить время обработки между многими пользователями, создавая у них иллюзию того, что у них есть (медленный) компьютер. [8] Небольшие программы возвращали результаты через несколько секунд. Это привело к росту интереса к системе, использующей разделение времени, и новому языку, специально предназначенному для студентов, не изучающих STEM. [7]
Кемени написал первую версию Бейсика. Аббревиатура происходит от названия BASIC неопубликованной статьи Томаса Курца. [9] Новый язык во многом основан на FORTRAN II; операторы были однострочными, числа использовались для обозначения цели циклов и ветвей, а многие команды были похожи или идентичны Фортрану. Однако синтаксис был изменен везде, где его можно было улучшить. Например, трудно запомнить DO
цикл был заменен на гораздо более простой для запоминания FOR I = 1 TO 10 STEP 2
, а номер строки, используемый в DO, вместо этого был указан NEXT I
. [а] Аналогично, загадочный IF
оператор Фортрана, синтаксис которого соответствовал конкретной инструкции машины, на которой он был первоначально написан, стал более простым IF I=5 THEN GOTO 100
. Эти изменения сделали язык гораздо менее своеобразным, сохраняя при этом общую структуру и сходство с оригинальным FORTRAN. [7]
Проект получил грант в размере 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, работавшая над Дартмутским проектом, написала собственную базовую операционную систему и запустила онлайн-систему разделения времени, известную как Mark I. В ней BASIC был одним из основных преимуществ. Другие компании в развивающейся области быстро последовали этому примеру; Tymshare представила SUPER BASIC в 1968 году, CompuServe имела версию на DEC-10 при запуске в 1969 году, а к началу 1970-х годов BASIC стал в значительной степени универсальным для мейнфреймов общего назначения . Даже IBM в конце концов присоединилась к этому клубу, представив VS-BASIC в 1973 году. [14]
Хотя службы разделения времени с помощью BASIC какое-то время были успешными, предсказанного ранее широкого успеха не произошло. Появление миникомпьютеров в тот же период, и особенно недорогих микрокомпьютеров в середине 1970-х годов, позволило любому приобрести и запустить свои собственные системы, а не покупать время в Интернете, которое обычно оплачивается в долларах за минуту. [б] [15]
Распространение на миникомпьютерах [ править ]
BASIC, по своей природе небольшой, естественно подходил для портирования на рынок миникомпьютеров , который возник одновременно с услугами разделения времени. Эти машины имели небольшую оперативную память , возможно, всего 4 КБ в современной терминологии. [с] и не хватало высокопроизводительного хранилища, такого как жесткие диски , которые делают компиляторы практичными. В этих системах BASIC обычно реализовывался как интерпретатор, а не как компилятор из-за меньших требований к рабочей памяти. [д]
Особенно важным примером был HP Time-Shared BASIC , который, как и исходная система Дартмута, использовал два компьютера, работающих вместе, для реализации системы разделения времени. Первая, младшая машина серии 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]
эра домашних Взрывной компьютеров рост :
Появление первых микрокомпьютеров в середине 1970-х годов положило начало бурному росту BASIC. Его преимущество заключалось в том, что он был довольно хорошо известен молодым дизайнерам и любителям компьютеров, которые интересовались микрокомпьютерами, многие из которых видели BASIC на мини- или мэйнфреймах. Несмотря на знаменитое суждение Дейкстры в 1975 году: «Практически невозможно научить хорошему программированию студентов, которые ранее имели дело с BASIC: как потенциальные программисты, они психически изуродованы без всякой надежды на восстановление». [22] BASIC был одним из немногих языков, который был одновременно достаточно высокоуровневым, чтобы его могли использовать люди без подготовки, и достаточно маленьким, чтобы вписаться в микрокомпьютеры того времени, что делало его де-факто стандартным языком программирования на первых микрокомпьютерах.
Первая версия BASIC для микрокомпьютеров была написана совместно Биллом Гейтсом , Полом Алленом и Монте Давидоффом для их недавно созданной компании Micro-Soft. [23] Он был выпущен MITS в формате перфоленты для Altair 8800 вскоре после выпуска самой машины. [24] немедленно закрепив BASIC в качестве основного языка первых микрокомпьютеров. Члены Домашнего компьютерного клуба начали распространять копии программы, в результате чего Гейтс написал свое « Открытое письмо любителям» , жалуясь на этот ранний пример программного пиратства .
Частично в ответ на письмо Гейтса, а частично для того, чтобы сделать Бейсик еще меньшего размера, который можно было бы эффективно использовать на машинах с памятью 4 КБ, [и] Боб Альбрехт призвал Денниса Эллисона написать собственную версию языка. Как спроектировать и реализовать урезанную версию интерпретатора языка BASIC, было описано в статьях Эллисона в первых трех ежеквартальных выпусках информационного бюллетеня People's Computer Company , опубликованном в 1975 году, а также в реализациях с исходным кодом, опубликованных в журнале доктора Добба. Tiny BASIC Художественная гимнастика и ортодонтия: бегущий свет без избыточного байта . Это привело к появлению широкого разнообразия 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 используется Atari BASIC размером 8 КБ , который не является производным от 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 году, когда только домашних компьютеров зарождался рынок , и стала первой компьютерной книгой, проданной миллионным тиражом. Более поздние пакеты, такие как «Научитесь программировать на BASIC», также будут включать игры в качестве вводного курса. , ориентированных на бизнес На компьютерах CP/M , которые вскоре получили широкое распространение в средах малого бизнеса, Microsoft BASIC ( MBASIC ) был одним из ведущих приложений. [28]
В 1978 году Дэвид Лиен опубликовал первое издание «Справочника по BASIC: энциклопедия компьютерного языка BASIC» , в котором описаны ключевые слова на более чем 78 различных компьютерах. К 1981 году второе издание задокументировало ключевые слова с более чем 250 различных компьютеров, демонстрируя взрывной рост эпохи микрокомпьютеров. [29]
IBM PC и совместимые устройства [ править ]
Когда 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] нуБейсик , [34] МойБазовый , [35] Логика Базовая , [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] игра , написанная на QBasic и скомпилированная с помощью QB64 для современных компьютеров под названием Black Приложение была выпущена В 2013 году в Steam . [44] [45] Blitz Basic , Dark Basic , SdlBasic , Super Game System Basic , [46] PlayBASIC , [47] CoolBasic , [48] АллегроБЕЙСИК , [49] этосБЕЙСИК , [50] GLBasic и Basic4GL еще больше удовлетворили этот спрос, вплоть до современного RCBasic , [51] НааЛаа , [52] AppGameKit , [53] Обезьяна 2 и Цербер-X . [54]
Visual Basic [ править ]
В 1991 году Microsoft представила Visual Basic — эволюционное развитие QuickBASIC . Он включал конструкции из этого языка, такие как операторы управления с блочной структурой, параметризованные подпрограммы и необязательную статическую типизацию , а также объектно-ориентированные конструкции из других языков, таких как «With» и «For Each». Язык сохранил некоторую совместимость со своими предшественниками, такими как ключевое слово Dim для объявлений, операторы Gosub/Return и необязательные номера строк, которые можно было использовать для поиска ошибок. Важным стимулом для развития Visual Basic стал новый язык макросов для Microsoft Excel , программы работы с электронными таблицами . К удивлению многих сотрудников Microsoft, которые поначалу позиционировали его как язык для любителей, этот язык стал широко использоваться в небольших бизнес-приложениях вскоре после выпуска VB версии 3.0, которая широко считается первой относительно стабильной версией. Microsoft также выделила его как Visual Basic для приложений и встроенный Visual Basic. .
Хотя многие продвинутые программисты все еще насмехались над его использованием, VB эффективно удовлетворял потребности малого бизнеса , поскольку к тому времени компьютеры под управлением Windows 3.1 стали достаточно быстрыми, чтобы многие бизнес-процессы можно было выполнять «в мгновение ока», даже используя «медленный» язык, пока не задействованы большие объемы данных. Многие владельцы малого бизнеса обнаружили, что могут за несколько вечеров создать свои собственные небольшие, но полезные приложения для удовлетворения своих специализированных потребностей. В конце концов, за долгое время существования VB3 знание Visual Basic стало востребованным навыком работы. Microsoft также выпустила VBScript в 1996 году и Visual Basic .NET в 2001 году. Последний имеет по существу те же возможности, что и C# и Java, но с синтаксисом, который отражает исходный язык Basic, а также обладает некоторой кроссплатформенностью благодаря таким реализациям, как Mono-Basic. . [55] IDE и на ее собственные потомки , с ее управляемым событиями конструктором графического пользовательского интерфейса также оказала влияние на другие инструменты быстрой разработки приложений , в первую очередь Borland Software от на Delphi для Object Pascal такие как Lazarus . [56] [57]
Основная поддержка финальной версии 6.0 исходного Visual Basic закончилась 31 марта 2005 г., после чего в марте 2008 г. последовала расширенная поддержка. [58] Благодаря своей неизменной сохраняющейся популярности, [59] Существуют сторонние попытки его дальнейшей поддержки, такие как Rubberduck и ModernVB. [60] 2 февраля 2017 года Microsoft объявила, что разработка VB.NET больше не будет параллельной с разработкой C#. [61] а 11 марта 2020 года было объявлено, что эволюция языка VB.NET также завершилась. [62] Несмотря на это, язык все еще поддерживался. [63] стороннее расширение Mercury . и с тех пор было выпущено [64] Между тем, существуют конкуренты, такие как B4X , [65] РАД Базовый , [66] твинБЕЙСИК , [67] ВизуальныйФБЕдитор , [68] Информ , [69] Ходжо , [70] и Гамбас . [71]
после года 1990 Версии и диалекты
С 1990 года также появилось множество других диалектов BASIC, в том числе с открытым исходным кодом QB64 и FreeBASIC в стиле Visual Basic , вдохновленные QBasic, а также RapidQ , HBasic , Basic For Qt и Gambas . [72] Современные коммерческие воплощения включают PureBasic , PowerBASIC , Xojo , Monkey X и True BASIC (прямой преемник Dartmouth BASIC от компании, контролируемой Курцем).
В настоящее время также существует несколько простых веб-интерпретаторов BASIC, в том числе Quite Basic от Никко Строма, [73] а также Small Basic от Microsoft и Google от wwwBASIC . [74] Также существует ряд компиляторов, преобразующих BASIC в JavaScript . [75] например JSBasic, который повторно реализует Applesoft BASIC , [76] Паук БЕЙСИК , [77] и НС Базовый .
Опираясь на более ранние разработки, такие как Mobile Basic и CellularBASIC , [78] [79] многие диалекты теперь доступны для смартфонов и планшетов. В Apple App Store для iOS доступны варианты Hand BASIC , [80] Изучите БЕЙСИК , [81] Smart Basic на основе Minimal BASIC , [82] Базовый! к миСофт, [83] и BASIC от Анастасии Ковбы. [84] Тем временем в магазине Google Play для Android есть сенсорный экран , ориентированный на Touch Basic . [85] B4A , БАЗОВЫЙ RFO! [ф] интерпретатор на базе Dartmouth Basic , [86] и адаптации SmallBasic , BBC Basic , Tiny Basic , X11-Basic , [87] и НС Базовый .
На игровых консолях приложение Nintendo 3DS и Nintendo DSi для Petit Computer позволяет программировать на слегка модифицированной версии BASIC с поддержкой кнопок DS. Также была выпущена версия для Nintendo Switch , на которую также была поставлена версия системы Fuze Code System. [88] БАЗОВЫЙ вариант [89] впервые реализован как специальная машина Raspberry Pi . [90] Ранее BASIC был доступен на консолях как Family BASIC (для Nintendo Famicom ) и PSX Chipmunk Basic (для оригинальной PlayStation ), тогда как yabasic был портирован на PlayStation 2 , а FreeBASIC — на исходную Xbox . Dragon BASIC был создан для домашнего приготовления на Game Boy Advance и Nintendo DS . [91] с NEXTBasic, [92] БасиЕгаХорз [93] и SecondBASIC [94] создается для Sega Genesis .
Калькуляторы [ править ]
Варианты 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 базовым интерпретатором был GW-Basic . QuickBasic является частью серии из трех языков, выпущенных Microsoft для опытных пользователей дома и офиса, а также для небольших профессиональных разработок; Два других — QuickC и QuickPascal. Для Windows 95 и 98, в которых по умолчанию не установлен QBasic, их можно скопировать с установочного диска, на котором будет набор каталогов для старого и дополнительного программного обеспечения; другие недостающие команды, такие как Exe2Bin и другие, находятся в этих же каталогах.
Другое [ править ]
Различные офисные пакеты Microsoft, Lotus и Corel и связанные с ними продукты в той или иной форме программируются с помощью Visual Basic, включая LotusScript , который очень похож на VBA 6. Эмулятор терминала Host Explorer использует WWB в качестве языка макросов; или, в последнее время, программа и пакет, в котором она содержится, можно программировать в собственном базовом варианте, известном как Hummingbird Basic. Вариант VBScript используется для программирования веб-контента, Outlook 97, Internet Explorer и Windows Script Host. WSH также имеет движок Visual Basic для приложений (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 года. статье [95] как и другие, кто впервые использовал компьютеры в ту эпоху. В свою очередь, статья побудила Microsoft разработать и выпустить Small Basic ; [96] он также вдохновил подобные проекты, такие как Basic-256. [97] [98] и веб-сайт Quite Basic. [99] 1 мая 2014 года в Дартмуте состоялось празднование 50-летия BASIC. [100] как и другие организации; по крайней мере одна организация программистов VBA организовала празднование 35-летия в 1999 году. [101] [ нужен лучший источник ] За педагогическим использованием BASIC последовали другие языки, такие как Pascal , Java и особенно Python . [102]
Дартмутский колледж отпраздновал 50-летие языка BASIC днем мероприятий [103] 30 апреля 2014 г. К этому событию был снят короткометражный документальный фильм. [104]
Синтаксис [ править ]
Типичные ключевые слова BASIC [ править ]
Манипулирование данными [ править ]
LET
- присваивает значение (которое может быть результатом выражения ) переменной. В большинстве диалектов БЕЙСИКА
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, [105] Чистоосновной, [106] и PowerBasic [107] также поддерживает встроенный язык ассемблера, позволяя программисту смешивать код высокого и низкого уровня, обычно с префиксом «ASM» или «!» заявления.
Типы данных и переменные [ править ]
Минимальные версии BASIC имели только целочисленные переменные и одно- или двухбуквенные имена переменных, что сводило к минимуму требования к ограниченной и дорогой памяти (ОЗУ). Более мощные версии имели арифметику с плавающей запятой, а переменные могли быть помечены именами длиной шесть и более символов. В ранних реализациях были некоторые проблемы и ограничения; например, Applesoft BASIC позволяла именам переменных иметь длину в несколько символов, но только первые два были значимыми, поэтому можно было случайно написать программу с переменными «LOSS» и «LOAN», которые будут рассматриваться как одинаковые; присвоение значения «LOAN» автоматически перезапишет значение, задуманное как «LOSS». Ключевые слова нельзя было использовать в переменных во многих ранних версиях BASIC; «SCORE» будет интерпретироваться как «SC» ИЛИ «E», где OR — ключевое слово. Во многих диалектах микрокомпьютеров строковые переменные обычно отличаются наличием суффикса $ к их имени в качестве символа , а значения часто идентифицируются как строки, разделяясь «двойными кавычками». Массивы в BASIC могут содержать целые числа, переменные с плавающей запятой или строковые переменные.
Некоторые диалекты BASIC поддерживают матрицы и матричные операции , которые можно использовать для решения наборов одновременных линейных алгебраических уравнений. Эти диалекты будут напрямую поддерживать матричные операции, такие как присваивание, сложение, умножение (совместимых типов матриц) и вычисление определителя. Многие микрокомпьютерные BASIC не поддерживали этот тип данных; матричные операции все еще были возможны, но их нужно было явно запрограммировать для элементов массива.
Примеры [ править ]
Неструктурированный БЕЙСИК [ править ]
Новые программисты BASIC на домашнем компьютере могут начать с простой программы, возможно, используя оператор PRINT языка для вывода сообщения на экран; хорошо известным и часто повторяемым примером является Кернигана и Ричи песня «Hello, World!» программа :
10 PRINT "Hello, World!"
20 END
бесконечный цикл Для заполнения дисплея сообщением можно использовать :
10 PRINT "Hello, World!"
20 GOTO 10
Обратите внимание, что END
Оператор не является обязательным и не имеет никакого действия в большинстве диалектов BASIC. Он не всегда включался, как в этом примере. Эту же программу можно модифицировать для печати фиксированного количества сообщений, используя общий FOR...NEXT
заявление:
10 LET N=10
20 FOR I=1 TO N
30 PRINT "Hello, World!"
40 NEXT I
Большинство версий BASIC для домашних компьютеров, таких как MSX BASIC и GW-BASIC , поддерживали простые типы данных, циклы цикла и массивы. Следующий пример написан для GW-BASIC, но будет работать в большинстве версий BASIC с минимальными изменениями:
10 INPUT "What is your name: "; U$
20 PRINT "Hello "; U$
30 INPUT "How many stars do you want: "; N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Do you want more stars? "; A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30
130 PRINT "Goodbye "; U$
140 END
В результате диалоговое окно может выглядеть так:
What is your name: Mike Hello Mike How many stars do you want: 7 ******* Do you want more stars? yes How many stars do you want: 3 *** Do you want more stars? no Goodbye Mike
Оригинальный вариант Dartmouth Basic отличался необычным наличием матричного ключевого слова MAT. [г] Хотя он не реализован в большинстве более поздних производных микропроцессоров, он используется в этом примере из руководства 1968 года. [108] который усредняет введенные числа:
5 LET S = 0
10 MAT INPUT V
20 LET N = NUM
30 IF N = 0 THEN 99
40 FOR I = 1 TO N
45 LET S = S + V(I)
50 NEXT I
60 PRINT S/N
70 GO TO 5
99 END
Структурированный БЕЙСИК [ править ]
BASIC второго поколения (например, VAX Basic , SuperBASIC , True BASIC , QuickBASIC , BBC BASIC , Pick BASIC , PowerBASIC , Liberty BASIC , QB64 и (возможно) COMAL ) привнесли в язык ряд особенностей, в первую очередь связанных со структурированием и процедурно-ориентированное программирование. Обычно нумерация строк опускается в языке и заменяется метками (для GOTO ) и процедурами, чтобы обеспечить более простой и гибкий дизайн. [38] Кроме того, были введены ключевые слова и структуры для поддержки повторения, выбора и процедур с локальными переменными.
Следующий пример приведен в Microsoft QuickBASIC:
REM QuickBASIC example
REM Forward declaration - allows the main code to call a
REM subroutine that is defined later in the source code
DECLARE SUB PrintSomeStars (StarCount!)
REM Main program follows
INPUT "What is your name: ", UserName$
PRINT "Hello "; UserName$
DO
INPUT "How many stars do you want: ", NumStars
CALL PrintSomeStars(NumStars)
DO
INPUT "Do you want more stars? ", Answer$
LOOP UNTIL Answer$ <> ""
Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye "; UserName$
END
REM subroutine definition
SUB PrintSomeStars (StarCount)
REM This procedure uses a local variable called Stars$
Stars$ = STRING$(StarCount, "*")
PRINT Stars$
END SUB
Объектно-ориентированный Бейсик [ править ]
Диалекты BASIC третьего поколения, такие как Visual Basic , Xojo , Gambas , StarOffice Basic , BlitzMax и PureBasic, представили функции для поддержки парадигмы объектно-ориентированного и управляемого событиями программирования . Большинство встроенных процедур и функций теперь представлены как методы стандартных объектов, а не как операторы . Кроме того, операционная система стала все более доступной для языка BASIC.
Следующий пример приведен в Visual Basic .NET :
Public Module StarsProgram
Private Function Ask(prompt As String) As String
Console.Write(prompt)
Return Console.ReadLine()
End Function
Public Sub Main()
Dim userName = Ask("What is your name: ")
Console.WriteLine("Hello {0}", userName)
Dim answer As String
Do
Dim numStars = CInt(Ask("How many stars do you want: "))
Dim stars As New String("*"c, numStars)
Console.WriteLine(stars)
Do
answer = Ask("Do you want more stars? ")
Loop Until answer <> ""
Loop While answer.StartsWith("Y", StringComparison.OrdinalIgnoreCase)
Console.WriteLine("Goodbye {0}", userName)
End Sub
End Module
Стандарты [ править ]
- Стандарт ANSI/ISO/IEC для минимального BASIC:
- ANSI X3.60-1978 «Для минимального БЕЙСИКА»
- ISO/IEC 6373:1984 «Обработка данных. Языки программирования. Минимальный БЕЙСИК».
- ECMA -55 Minimal BASIC (отозван, аналогично ANSI X3.60-1978)
- Стандарт ANSI/ISO/IEC для Full BASIC:
- ANSI X3.113-1987 «Языки программирования полный BASIC»
- INCITS/ISO/IEC 10279-1991 (R2005) «Информационные технологии – Языки программирования – Полный БЕЙСИК»
- Дополнение к ANSI/ISO/IEC, определяющее модули:
- Интерпретации ANSI X3.113-1992 «Бюллетень базовой технической информации № 1 Интерпретации ANSI 03.113-1987»
- ISO/IEC 10279:1991/Amd 1:1994 «Модули и расширение односимвольного ввода»
- ECMA -116 BASIC (снято, аналогично ANSI X3.113-1987)
Компиляторы и интерпретаторы [ править ]
Компилятор | Автор | Рабочее состояние | Окна | Unix-подобный | Другие ОС | Тип лицензии | Стандартное соответствие | |
---|---|---|---|---|---|---|---|---|
Минимальный БЕЙСИК | Полный БЕЙСИК | |||||||
ПриложениеGameKit | Создатели игры | Текущий | Да | Да | Нет | Собственный | ? | ? |
БЕЙСИК-ПЛЮС-2 | Корпорация цифрового оборудования теперь HPE | Текущий | Нет | ? | РСТС/Э , РСС-11М , ВМС | Собственный | ? | ? |
B4X | Эрел Узиэль | Текущий | Да | Да ( Android , iOS ) | Да (JVM) | Нет | Нет | |
БлицМакс | Блиц-исследования | Снято с производства | Да | Да ( Linux , MacOS ) | Нет | Нет | Нет | |
ДаркБЕЙСИК | Создатели игры | Неактивный | Да | Нет | Нет | Нет | Нет | |
ECMA-55 Минимальный BASIC-компилятор [109] | Джон Гейтвуд Хэм | Текущий | Нет | Линукс | Нет | Да | Нет | |
FreeBASIC | Команда разработчиков FreeBASIC | Текущий | Да | Да | ДОС , FreeBSD , Linux | Частичный [110] | Нет | |
БудущееBASIC | Программное обеспечение Брилор | Текущий | Нет | macOS | Классическая MacOS | Собственный | Частичный | Нет |
Креветки | Бенуа Минизини | Текущий | Нет | Да | Нет | Нет | Нет | |
БАЗОВЫЙ ГФА | Фрэнк Островски | Заброшенный | Да | Нет | Амига , Атари СТ , ДОС | Собственный | Нет | Нет |
Меркурий | РемОбъекты | Текущий | Да | Да ( Linux , macOS , Android , iOS ) | Да ( Веб-сборка ) | Собственный | Нет | Нет |
PowerBASIC (ранее Turbo Basic) | PowerBASIC, Inc. | Неактивный | Да | Нет | ПРИНАДЛЕЖАЩИЙ | Собственный | ? | ? |
PureBasic | Фэнтези-программное обеспечение | Текущий | Да | Да | Да | Собственный | Нет | Нет |
QB64 | Галеон | Текущий | Да | Да | Да | Частичный | Нет | |
QuickBASIC | Майкрософт | Снято с производства | Нет | Нет | ПРИНАДЛЕЖАЩИЙ | Собственный | Частичный | Нет |
Тандем БЕЙСИК | Тандемные компьютеры | Исторический | Нет | Нет | Guardian, ядро NonStop, ОС NonStop | Собственный | Нет | Нет |
Настоящий БЕЙСИК | Настоящий БЕЙСИК | Текущий | Да | Нет | Нет | Собственный | Да | Частичный [111] |
ВСЕ БАЗОВОЕ для OpenVMS | ВМС Программное обеспечение, Inc. | Текущий | Нет | Нет | OpenVMS | Собственный | Нет | Нет |
Содзё (ранее REALbasic) | Xojo Inc. (ранее Real Software) | Текущий | Да | Да | Да | Собственный | Нет | Нет |
См. также [ править ]
Примечания [ править ]
- ^ DO Фортрана имел
continue
для этой цели, но все равно требовалось ввести номер строки. - ^ Tymshare взимала около 10 долларов США в час (что эквивалентно 78 долларам США в 2023 году) за доступ к своим системам.
- ^ Широко известный как первый «настоящий» мини, 12-битная память PDP-8 позволяла иметь 4096 адресов по 12 бит каждый, или 6144 байта.
- ^ Интерпретаторы в конечном итоге похожи на компиляторы в задачах, которые они выполняют (преобразование исходного кода в машинный код), но различаются тем, когда они это выполняют. Компиляторы преобразуют всю программу сразу и выводят отдельную работоспособную программу. Интерпретаторы обычно преобразуют за раз только одну строку (или даже ее часть), а затем сразу же освобождают этот код, как только строка завершится. Это означает, что им требуется только достаточно памяти для запуска одной строки и не требуется какая-либо высокопроизводительная вторичная память, например жесткий диск.
- ^ Microsoft BASIC оставил 780 байт свободными для кода пользовательской программы и значений переменных на машине 4K, и на ней работала урезанная версия, в которой не было строковых переменных и других функций.
- ^ Также известен просто как BASIC! и БАЗОВЫЙ! Суперпользователь
- ^ Начиная с версии 3.
Ссылки [ править ]
- ^ Кемени, Джон Г.; Курц, Томас Э. (1963). Basic: руководство по BASIC, элементарному алгебраическому языку, разработанному для использования с Дартмутской системой разделения времени (PDF) (1-е изд.). Ганновер, Нью-Хэмпшир: Вычислительный центр Дартмутского колледжа. Архивировано (PDF) из оригинала 9 октября 2022 г.
- ^ Рамель, Дэвид (12 февраля 2019 г.). «Популярность VB.NET все еще растет» . Журнал Visual Studio . Проверено 28 марта 2023 г.
- ^ Сверски, Дэвид (25 января 2023 г.). «40 самых популярных языков программирования 2023 года: когда и как их использовать» . Рэйган . Проверено 25 марта 2023 г.
- ^ Провен, Лиам (28 марта 2023 г.). «Ностальгия по VB? BASIC совсем не мертв» . Регистр . Проверено 27 сентября 2023 г.
- ^ Босс, Крис (15 ноября 2022 г.). «BASIC не умер. Время развеять мифы о Basic» . Код проекта . Проверено 31 января 2024 г.
- ^ «Высшая математика в Ганновере» . Время . 23 февраля 1959 года.
- ↑ Перейти обратно: Перейти обратно: а б с д и ж Время 2014 года .
- ^ Рэнкин, Джой Лиси (2018), Народная история вычислений в Соединенных Штатах , Кембридж, Массачусетс: издательство Гарвардского университета, ISBN 9780674970977 , с. 23
- ^ "БАЗОВЫЙ" . Файл жаргона . Проверено 13 июня 2017 г.
- ^ «Томас Э. Курц - История языков компьютерного программирования» . cis-alumni.org . Проверено 13 июня 2017 г.
- ^ Альфред, Рэнди (5 января 2008 г.). «1 мая 1964 года: запуск первой базовой программы» . Проводной . Проверено 13 июня 2017 г.
- ^ Брукс, Дэвид (11 июня 2019 г.). «Наконец-то исторический маркер, говорящий о чем-то важном» . Монитор Конкорд . Архивировано из оригинала 11 июня 2019 года . Проверено 11 августа 2019 г.
- ^ Бауэр, В.Ф., Компьютерный дизайн с точки зрения программиста. Архивировано 23 июля 2016 г., на Wayback Machine (Восточная объединенная компьютерная конференция, декабрь 1958 г.). Одно из первых описаний компьютерного разделения времени.
- ^ «IBM против всего мира: вот как оно есть» . Компьютерный мир . 5 декабря 1973 года.
- ^ Борн, Чарльз; Хан, Труди Беллардо (август 2003 г.). История информационных онлайн-сервисов, 1963–1976 гг . МТИ Пресс. п. 387. ИСБН 9780262261753 .
- ^ «Система таймшера 2000 года» .
- ^ «Прохождение 10-летнего рубежа» . Журнал МЕРА . Хьюлетт Паккард. Октябрь 1976 года.
- ^ Маркс, Ширли (декабрь 1971 г.). Годы JOSS: Размышления об эксперименте (PDF) (Технический отчет). Рэнд. Архивировано (PDF) из оригинала 9 октября 2022 г.
- ^ Савец, Кевин (апрель 2013 г.). «Дэйв Ал и Бетси Ал» (Интервью).
- ↑ Перейти обратно: Перейти обратно: а б Ахл, Дэвид Х. (1973). 101 базовая компьютерная игра . Морристаун, Нью-Джерси: Creative Computing Press. OCLC 896774158 .
- ^ Ахл, Дэвид Х. (11 мая 1981 г.). «Компьютерные игры» . Инфомир . Том. 3, нет. 9. с. 44. ISSN 0199-6649 .
- ^ Дейкстра, Эдсгер В. (18 июня 1975 г.). «Как нам говорить правду, которая может ранить» (PDF) . Избранные сочинения о вычислительной технике: личный взгляд . Springer-Verlag (опубликовано в 1982 г.). стр. 129–131 . ISBN 978-0387906522 . OCLC 693424350 . Архивировано (PDF) из оригинала 9 октября 2022 г.
- ^ Джонсон, Фил (21 января 2015 г.). «Обнаружен исходный код Microsoft BASIC для 6502» . Компьютерный мир . Проверено 24 октября 2022 г.
- ^ «У нас есть БЕЙСИК» . Музей естественной истории и науки Нью-Мексико . Архивировано из оригинала 30 ноября 2012 года . Проверено 18 апреля 2007 г.
- ^ Питтман, Том. «Чтобы получить его, нужно было заплатить 5 долларов вперед…» . www.ittybittycomputers.com . Проверено 14 июня 2017 г.
- ^ Ахл, Дэвид Х. (1979). Более простые компьютерные игры . Морристаун: Creative Computing Press. ISBN 978-0894801372 . OCLC 839377789 .
- ^ Ахл, Дэвид Х. (1984). Большие компьютерные игры . Моррис Плейнс, Нью-Джерси: Creative Computing Press. ISBN 978-0916688400 . OCLC 872675092 .
- ^ «Осборн 1» . сайт oldcomputers.net . Проверено 14 июня 2017 г.
- ^ Лиен, Дэвид (1981). БАЗОВЫЙ Справочник (Второе изд.). Сан-Диего, Калифорния: Издательство Compusoft. п. внутренняя крышка. ISBN 0-932760-00-7 .
- ^ «Назад к БЕЙСИКУ» . peyre.sqweebs.com . Архивировано из оригинала 26 октября 2009 года . Проверено 25 февраля 2023 г.
- ^ Перр, Джон (1 января 2003 г.). «БАЗОВОЕ программирование в Unix» . ЛинуксФокус . Проверено 26 сентября 2023 г.
- ^ «bwBASIC: интерпретатор Bywater BASIC» . Блог ОСС . 25 августа 2018 г. Проверено 30 сентября 2023 г.
- ^ Холл, Джим (23 июня 2021 г.). «Программа на FreeDOS с помощью Bywater BASIC» . Opensource.com . Проверено 30 сентября 2023 г.
- ^ Кальдероне, Антония. «Почему nuBASIC» . Проверено 30 сентября 2023 г.
- ^ Сун, Лю Сюэ (12 октября 2003 г.). «MyBasic — интерпретатор языка Custom-BASIC, написанный на C++» . Код проекта . Проверено 30 сентября 2023 г.
- ^ «LOGIC BASIC — Свободный язык программирования» . Проверено 7 октября 2023 г.
- ^ Альбрехт, Кристиан (2 октября 2022 г.). «открытый учебник для начинающих» . BeSly — BeOS, Haiku и Zeta . Перевод Люка Шрийверса (Begasus) . Проверено 25 февраля 2024 г.
- ↑ Перейти обратно: Перейти обратно: а б «Различия между GW-BASIC и QBasic» . 12 мая 2003. Архивировано из оригинала 19 октября 2013 года . Проверено 28 июня 2008 г.
- ^ Правин, Джайн (2011). Класс Java . Пирсон Образовательная Индия. ISBN 9788131755440 .
- ^ «GNE: язык программирования C» . fysh.org . Проверено 14 июня 2017 г.
В 1980-е годы компиляторы C получили широкое распространение, и язык C стал чрезвычайно популярным.
- ^ Танцуй, Майкл. «Легко создавать игры Qbasic» . Техвалла . Проверено 30 сентября 2023 г.
- ^ «Каталог игр QBasic» . Фаткод . Проверено 30 сентября 2023 г.
- ^ «Каталог игр FreeBASIC» . Бесплатный БЕЙСИК . Проверено 30 сентября 2023 г.
- ^ Кочилова, Алекс (16 апреля 2013 г.). «Black Приложение — лучшая игра на QBASIC, которую вы когда-либо видели» . Мир ПК . Проверено 30 сентября 2023 г.
- ^ Серрелс, Марк (24 июня 2013 г.). «Австралиец, создавший видеоигру с использованием QBASIC» . Котаку . Проверено 30 сентября 2023 г.
- ^ «Базовая система суперигр» . ИндиДБ . 21 ноября 2017 года . Проверено 30 сентября 2023 г.
- ^ «ПлейБейсик» . itch.io. Проверено 30 сентября 2023 г.
- ^ «КулБейсик» . ИндиДБ . 6 декабря 2005 года . Проверено 30 сентября 2023 г.
- ^ «Домашняя страница AllegroBASIC» . АллегроБЕЙСИК . Архивировано из оригинала 15 ноября 2018 года . Проверено 7 октября 2023 г.
- ^ «Этос игра базовая 1.3» . поделитесь приложением . Проверено 30 сентября 2023 г.
- ^ «РК Базовый» . МодБДБ . 18 августа 2015 года . Проверено 30 сентября 2023 г.
- ^ Феркало, Андрей (8 августа 2014 г.). "Видеть" . Софтпедия . Проверено 1 октября 2023 г.
- ^ «Более пристальный взгляд на AppGameKit 2» . Игра с нуля . 12 июня 2015 г. Проверено 30 сентября 2023 г.
- ^ «Выпущен Cerberus X 10 августа 2018 г.» . Игра с нуля . 10 августа 2018 г. Проверено 30 сентября 2023 г.
- ^ Кларк, Гэвин (21 февраля 2007 г.). «Прорыв Linux для разработчиков Visual Basic» . Регистр . Проверено 1 октября 2023 г.
- ^ Андерсон, Тим (14 февраля 2020 г.). «25 лет Delphi и никакого Oracle: не убийца Visual Basic, но его трудно убить» . Регистр . Проверено 25 марта 2023 г.
Введите Borland Delphi, который объединил Object Pascal с VB-подобным визуальным конструктором форм. Object Pascal был собственным языком Borland с полной поддержкой наследования. Он нечувствителен к регистру и не намного сложнее, чем VB, для кодирования, если вы привыкнете много вводить начало и конец (что примерно эквивалентно фигурным скобкам в C). В отличие от VB, здесь разумно используются разные операторы присваивания (:=) и сравнения (=).
- ^ Спид, Ричард (6 мая 2022 г.). «RAD Basic — Visual Basic 7, которого никогда не было — выпускает третью альфа-версию» . Регистр . Проверено 26 марта 2023 г.
Альтернативно, можно пережить дни целого соперничества BASIC/Pascal с Delphi-совместимым Lazarus.
- ^ «Рекомендации по жизненному циклу семейства продуктов для Visual Basic 6.0» . Msdn2.microsoft.com. 31 марта 2005 года . Проверено 16 июня 2009 г.
- ^ Рамель, Дэвид (7 июля 2020 г.). «Индекс популярности: классический Visual Basic держится» . Журнал Visual Studio . Проверено 28 марта 2023 г.
- ^ Рамель, Дэвид (28 февраля 2020 г.). «Возрождение Visual Basic? Проект направлен на то, чтобы «перенести VBE в этот век!» " . Журнал Visual Studio . Проверено 28 марта 2023 г.
- ^ Доминго, Майкл (13 июня 2017 г.). «Вива, Visual Basic! Или есть ли будущее у VB?» . Журнал Visual Studio . Проверено 26 марта 2023 г.
- ^ Рамель, Дэвид (12 марта 2020 г.). «Microsoft: «Мы не планируем развивать Visual Basic как язык» » . Журнал Visual Studio . Проверено 26 марта 2023 г.
- ^ Рамель, Дэвид (8 февраля 2023 г.). «Microsoft подтверждает судьбу Visual Basic» . Журнал Visual Studio . Проверено 25 марта 2023 г.
- ^ Рамель, Дэвид (25 августа 2020 г.). «Mercury — это новейшая разработка сторонних разработчиков Visual Basic: «мультиплатформенный VB++» » . Журнал Visual Studio . Проверено 28 марта 2023 г.
- ^ Рамель, Дэвид (18 августа 2015 г.). «B4J сохраняет жизнь классическому Visual Basic» . Журнал Visual Studio . Проверено 26 марта 2023 г.
- ^ Спид, Ричард (6 мая 2021 г.). «Visual Basic 6 возвращается: вы весь год были хорошим разработчиком. Вы соблюдали социальную дистанцию, вы помогли своей маме. Вот ваша награда» . Регистр . Проверено 26 марта 2023 г.
- ^ Минхорст, Андре (1 апреля 2022 г.). «twinBASIC: Visual Basic будущего» . Разработчик баз данных . Проверено 26 марта 2023 г.
- ^ Спид, Ричард (6 мая 2022 г.). «RAD Basic — Visual Basic 7, которого никогда не было — выпускает третью альфа-версию» . Регистр . Проверено 26 марта 2023 г.
RAD Basic — не единственная игра в городе. Альтернативы на разных стадиях разработки включают TwinBASIC, который также стремится обеспечить обратную совместимость с VB6 и VBA; и FreeBASIC, который реализует многое из того, что было в Microsoft QuickBASIC (и имеет изящную IDE в виде VisualFBEditor).
- ^ Рогоз, Иван (7 апреля 2022 г.). «Взрыв из прошлого — QBasic 4.5» . Барн Лаборатория . Проверено 26 сентября 2023 г.
QB64 поставляется с WYSIWYG-редактором IDE под названием InForm, который приближает его к повседневному использованию в качестве быстрого и несложного языка автоматизации для Windows.
- ^ «Современная альтернатива Visual Basic» . Ходзё . 19 мая 2013 года . Проверено 26 марта 2023 г.
- ^ Морган, Р. (29 июня 2014 г.). "Добро пожаловать" . Журнал Гамбас . Архивировано из оригинала 8 апреля 2016 года.
- ^ Провен, Лиам (28 марта 2023 г.). «Ностальгия по VB? BASIC совсем не мертв» . Регистр . Проверено 27 сентября 2023 г.
- ^ Токтосунов, Азим (17 апреля 2013 г.). «Quite BASIC: классическая веб-среда программирования BASIC» . СделатьUseOf . Проверено 25 февраля 2024 г.
- ^ Уильямс, Эл (17 сентября 2018 г.). «По сути, это Интернет» . Хакадей . Проверено 28 сентября 2023 г.
- ^ Ветеану, Мариан (14 февраля 2017 г.). «Компиляторы JavaScript. Часть II: Языки, компилирующиеся в JavaScript» . Код Мститель .
- ^ Флауэр, Дэниел (20 января 2013 г.). «JSBasic — компилятор BASIC для JavaScript» . Код проекта . Проверено 30 сентября 2023 г.
- ^ Шнелл, Стефан (10 февраля 2016 г.). «Язык SpiderBasic (JavaScript) в контексте сервера веб-приложений SAP» . SAP-блоги . Проверено 1 октября 2023 г.
- ^ «Java – какие языки программирования ориентированы на J2ME» . iTecNote . Проверено 30 сентября 2023 г.
Теперь я слышал о других языках, которые предположительно делают возможной разработку без использования Java, таких как CellularBASIC (который немного похож на QBASIC) и Hecl (который, кажется, основан на Tcl).
- ^ Телло, Гийом (15 декабря 2007 г.). «ЛГ КС 360» . Архивировано из оригинала 28 октября 2010 года . Проверено 30 сентября 2023 г.
После некоторых исследований в сети я наткнулся на этот сайт о CellularBASIC. Это полноценный интерпретатор BASIC, написанный на JAVA.
- ^ «Hand BASIC — вкус CBM» . Appsftw . Проверено 1 октября 2023 г.
- ^ «Изучите программирование на BASIC для iOS» . CNET . Проверено 1 октября 2023 г.
- ^ «BASIC: язык программирования Николая Денисламова» . AppAgg . 26 января 2021 г. . Проверено 1 октября 2023 г.
- ^ «Базовое! В App Store» . Apple.com . 5 мая 2019 г. Проверено 1 октября 2023 г.
- ^ «Базовый язык программирования для ПК» . Приложение для Windows . Проверено 1 октября 2023 г.
- ^ Робинсон, Кертис. "О" . Нажмите Базовый . Проверено 30 сентября 2023 г.
- ^ Дарвин, Ян Ф. (10 мая 2017 г.). Поваренная книга Android: проблемы и решения для разработчиков Android . США: O'Reilly Media, Inc. п. 623. ИСБН 9781449374495 .
- ^ Хоффманн, Маркус. «Х11-Базовый» . Ф-Дроид . Проверено 30 сентября 2023 г.
- ^ Миллер, Пол (19 июня 2017 г.). «Fuze Code Studio позволит детям использовать Switch для написания собственных игр для Switch» . Грань . Проверено 30 сентября 2023 г.
- ^ Портер, Мэтт (18 декабря 2015 г.). «Теперь дети могут вернуться к BASIC с помощью Fuze» . Человек-гаджет . Проверено 30 сентября 2023 г.
- ^ Бедфорд, Майк (21 октября 2015 г.). «Обзор FUZE на базе Raspberry Pi V2» . Человек-гаджет . Проверено 30 сентября 2023 г.
- ^ Хибики, Рёга. «Базовая документация Dragon» . Академия.edu . Проверено 30 сентября 2023 г.
- ^ «gotBASIC.com» . Проверено 13 апреля 2024 г.
NEXTBasic: настроенный язык Basic, созданный на основе Visual Basic .NET и предназначенный для Sega Genesis (Mega Drive).
- ^ «БасиЕгаХорз» . Сега Ретро . 10 мая 2012 года . Проверено 13 апреля 2024 г.
- ^ «Второй БЕЙСИК» . получилBASIC.com . Проверено 13 апреля 2024 г.
- ^ Брин, Дэвид (14 сентября 2006 г.). «Почему Джонни не умеет программировать» . Салон . Архивировано из оригинала 18 сентября 2013 года . Проверено 19 июня 2017 г.
- ^ «Маленький базовый» . Сеть разработчиков Microsoft . Архивировано из оригинала 17 марта 2014 года . Проверено 19 июня 2017 г.
- ^ «Домашняя страница BASIC-256» .
Прочтите статью «Почему Джонни не умеет программировать», которая вдохновила BASIC-256.
- ^ Рэтлифф-старший, Гэри Л. (октябрь 2008 г.). «Азбука компьютерных языков: БЕЙСИК» . PCLinuxOS Журнал . Проверено 25 февраля 2024 г.
- ^ Костер, Раф (21 ноября 2006 г.). «Quite BASIC — программирование на Web BASIC» . Проверено 25 февраля 2024 г.
- ^ «Дартмут планирует празднование 50-летия компьютерного языка BASIC» . Лидер профсоюза Нью-Гэмпшира . 28 апреля 2014 года. Архивировано из оригинала 20 июня 2017 года . Проверено 14 июня 2017 г.
- ^ «50-летие BASIC – Поиск в Google» . Google .
- ^ Вуд, Ламонт (23 июня 2011 г.). «Как студенты изучают программирование в мире после Basic?» . Компьютерный мир . Проверено 26 февраля 2024 г.
- ^ «БЕЙСИК в 50 – Расписание мероприятий» . Дартмутский колледж . Проверено 14 июня 2017 г.
- ^ «БЕЙСИК в 50» . Дартмутский колледж . Проверено 14 июня 2017 г.
- ^ «КейПгАсм» . FreeBasic Wiki . Проверено 2 августа 2017 г.
- ^ «Встроенный ASM x86» . Чистый базовый . Проверено 2 августа 2017 г.
- ^ «Использование языка ассемблера в вашем коде» . Мощность базовая . Архивировано из оригинала 2 августа 2017 года . Проверено 2 августа 2017 г.
- ^ Кемени, Джон Г.; Курц, Томас Э. (январь 1968 г.). Basic: руководство по BASIC, элементарному алгебраическому языку, разработанному для использования с Дартмутской системой разделения времени (PDF) (4-е изд.). Ганновер, Нью-Хэмпшир: Вычислительный центр Дартмутского колледжа. п. 53. Архивировано (PDF) из оригинала 3 января 2014 г.
- ^ Джон Гейтвуд Хэм (2014). «Минимальный BASIC-компилятор ECMA-55 для Linux® x86-64» . Компьютеры . 3 (3): 69–116. doi : 10.3390/computers3030069 . S2CID 40383760 .
- ^ angros47 (29 июля 2013 г.). «ANSI Basic: соответствует ли FreeBasic стандарту?» . freebasic.net . Архивировано из оригинала 28 сентября 2023 года.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ Банчев, Бойко (2008). «Настоящий «Настоящий БЕЙСИК» » . Институт математики и информатики . Архивировано из оригинала 13 марта 2011 года.
Общие ссылки [ править ]
- Саммет, Жан Э. (1969). Языки программирования: история и основы . Энглвуд Клиффс, Нью-Джерси: Прентис-Холл. ЛЦН 68-028110 . OCLC 819683527 .
- Курц, Томас Э. (1981). "БАЗОВЫЙ" . В Вексельблате, Ричард (ред.). История языков программирования . История языков программирования I. Нью-Йорк: ACM . стр. 515–537 . дои : 10.1145/800025.1198404 . ISBN 978-0127450407 .
- Кемени, Джон Г.; Курц, Томас Э. (1985). Вернемся к БЕЙСИКУ: История, коррупция и будущее языка . Аддисон-Уэсли. п. 141. ИСБН 9780201134339 . ОСЛК 11399298 .
- Лиен, Дэвид А. (1986). Базовый справочник: Энциклопедия компьютерного языка BASIC (3-е изд.). Издательство Компусофт. ISBN 9780932760333 . OCLC 12548310 .
- «Пятьдесят лет BASIC, языка программирования, сделавшего компьютеры персональными» . Время . 29 апреля 2014 г.
Внешние ссылки [ править ]
- БЕЙСИК в Керли
- «BASIC — универсальный код символьных инструкций для начинающих» . Энциклопедия компьютерных языков . Университет Мердока .
- Рождение Basic на YouTube
- gotBASIC.com — Для всех, кто заинтересован в дальнейшем использовании и развитии языка программирования BASIC.
- Awesome Basic — тщательно подобранный список потрясающих диалектов BASIC, IDE и учебных пособий.
- Страница «Основы» (с 2001 г.) — Полный список диалектов.