Истинный БЕЙСИК - True BASIC

Истинный БАЗОВЫЙ
True BASIC logo.svg
Разработано Джон Г. Кемени
Томас Э. Курц
Разработчик True BASIC, Inc.
Впервые появился 1983 ; 38 лет назад  ( 1983 )
Интернет сайт www .truebasic .com
Под влиянием
БАЗОВЫЙ

True BASIC - это вариант языка программирования BASIC, произошедший от Dartmouth BASIC - оригинального BASIC. Оба были созданы профессорами колледжа Джоном Г. Кемени и Томасом Э. Куртцем .

История

True BASIC ведет свою историю от ответвления Dartmouth BASIC под названием Structured BASIC, или сокращенно SBASIC. Он был выпущен где-то в 1975 или 1976 году, но не был установлен в качестве основной версии BASIC в Dartmouth Time Sharing System (DTSS), которая поддерживала кампус. Вскоре после этого Кемени стал участвовать в разработке стандарта ANSI BASIC, пытаясь объединить множество небольших вариаций языка, разработанных в конце 1960-х - начале 1970-х годов. Первоначально эти усилия были сосредоточены на системе, известной как «Minimal BASIC», которая была похожа на ранний Dartmouth BASIC, но с добавленными строковыми переменными, в то время как более поздняя работа была направлена ​​на «Standard BASIC», который по сути был SBASIC.

К началу 1980-х годов десятки миллионов домашних компьютеров работали под управлением некоторых разновидностей Microsoft BASIC , которые стали стандартом де-факто . Усилия ANSI в конечном итоге стали бессмысленными, поскольку стало ясно, что эти версии не будут иметь никакого влияния на рынок в мире, где доминирует MS. Обе версии были в конечном итоге ратифицированы, но практически не были приняты, и стандарты были позже отозваны. Кемени и Курц, однако, решили продолжить свои усилия по внедрению концепций SBASIC и усилий по стандарту ANSI BASIC. Это стало True BASIC.

Первоначально основанный на Dartmouth BASIC 7, также известном как ANSI BASIC, True BASIC был представлен в 1985 году. Существуют версии компилятора True BASIC для MS-DOS , Microsoft Windows и Classic Mac OS . В свое время предлагались версии для компьютеров TRS-80 Color Computer , Amiga и Atari ST , а также компилятор командной строки UNIX .

Функции

Будучи реализацией языка структурированного программирования , он не требует номеров строк и операторов GOTO , хотя их можно использовать.

True BASIC предоставляет операторы для матричной арифметики, функции, которая присутствовала в Dartmouth BASIC с ранних времен, но была исключена почти во всех микрокомпьютерных версиях интерпретаторов BASIC. Он поддерживает глобальные и локальные переменные, что позволяет писать рекурсивные функции и подпрограммы .

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

При использовании более новых версий True BASIC некоторые из старых функций заблокированы. Пример недавнего кода выглядел бы примерно так:

RANDOMIZE
SET WINDOW 0,20,0,20
SET COLOR 5 !Set the pen and text colour to 5 as true basic has 0-15 colours
PRINT "Welcome To ..." !Print "Welcome To ..." on the user's screen.

DO !Begin the loop
    LET x=rnd*20 !Let the value 'x' equal a random number between '0' and '20'
    LET y=rnd*20 !Let the value 'y' equal a random number between '0' and '20'
    Pause .1 !Waits 1/10 of a second
    PLOT TEXT, at x, y: "Fabulous Wikipedia!" !Plot 'Fabulous Wikipedia!' at coordinates 'x' and 'y'
LOOP !End the loop

END !End the program

Эта простая программа отображает текст «Добро пожаловать в ...» в верхнем левом углу экрана, а затем продолжает бесконечный цикл, отображающий «Невероятная Википедия!». по случайным координатам.

Пример простой анимации может быть таким:

!Draw the Car
SET WINDOW 0,20,0,20
SET COLOR 5
BOX AREA 2,6,2,3
BOX AREA 9,13,2,3
BOX AREA 16,20,2,3
SET COLOR 249
PLOT LINES :0,5;20,5
FLOOD 10,1
BOX KEEP 0,20,0,5 IN road$
BOX CIRCLE 2,3,5,6
FLOOD 2.5,5.5
BOX CIRCLE 5,6,5,6
FLOOD 5.5,5.5
SET COLOR 35
PLOT LINES :2.5,6;5.5,6
PLOT LINES :5,6;8,6;8,8;6,8;6,10;2,10;2,8;0,8;0,6;3,6
FLOOD 4,8
SET COLOR 248
BOX AREA 4,5,8,9

BOX KEEP 0,8,5,10 IN car$ !Save the car in 'car$'
 
FOR x=1 TO 20 STEP 1 !Create a 'for' loop
    BOX SHOW road$ AT 0,0
    BOX SHOW car$ AT x,5  
    PAUSE .1
    CLEAR
NEXT x !End the 'for' loop

END !End the programs

Прием

Джерри Пурнел в 1985 году спросил: «Зачем нам вообще нужен True BASIC? [Он], похоже, не делает того, чего не делает обычный BASIC, и то, что он делает, не подвергается логической или интуитивной атаке». Он раскритиковал отсутствие вывода при обнаружении ошибки, предотвращение интерактивной отладки путем « вставки операторов печати в качестве диагностики ». Пурнель заключил: «Я думаю, что упущу возможность стать возрожденным истинным приверженцем BASIC. Мне понравятся мои ереси Microsoft и CBASIC ».

Некоторые пользователи жаловались на то, что их программы и редактор используют 100% их процессора (или ядра). Это, по-видимому, вызвано тем, что редактор и пользовательские программы используют цикл, который постоянно опрашивает клавиатуру и мышь на предмет событий. Проблема известна как минимум с конца 2010 года, но по состоянию на начало 2014 года работа над ней продолжается.

дальнейшее чтение

  • Кемени, Джон Дж .; Курц, Томас Э. (1985). Назад к BASIC: история, коррупция и будущее языка . Addison-Wesley Publishing Company, Inc. 141 стр.  ISBN   0-201-13433-0 .

Рекомендации

внешняя ссылка