Настоящий БЕЙСИК
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2016 г. ) |
![]() | |
Разработано | Джон Дж. Кемени Томас Э. Курц |
---|---|
Разработчик | Истинный БЕЙСИК, Инк. |
Впервые появился | 1983 год |
Веб-сайт | www |
Под влиянием | |
БАЗОВЫЙ |
Настоящий BASIC — это вариант языка программирования BASIC, произошедший от Dartmouth BASIC — оригинального BASIC. Оба были созданы профессорами колледжа Джоном Кемени и Томасом Курцем . [1]
История
[ редактировать ]Настоящий BASIC ведет свою историю от ответвления Dartmouth BASIC, называемого Structured BASIC, или SBASIC сокращенно . Он был выпущен где-то в 1975 или 1976 году, но не был установлен в качестве основной версии BASIC в Дартмутской системе разделения времени (DTSS), которая поддерживала кампус. Вскоре после этого Кемени принял участие в разработке стандарта BASIC ANSI, пытаясь объединить множество небольших вариаций языка, разработанных в конце 1960-х - начале 1970-х годов. Первоначально эти усилия были сосредоточены на системе, известной как Minimal BASIC , которая была похожа на ранние версии Dartmouth BASIC, а более поздние работы были нацелены на Full BASIC , который по сути был SBASIC с различными расширениями.
К началу 1980-х годов десятки миллионов домашних компьютеров использовали тот или иной вариант Microsoft BASIC , который стал фактическим стандартом. Усилия ANSI в конечном итоге стали бессмысленными, поскольку стало ясно, что эти версии не окажут никакого влияния на рынок в мире, где доминирует MS. Обе версии в конечном итоге были ратифицированы, но практически не были приняты, а позже стандарты были отменены. Кемени и Курц, однако, решили продолжить свои усилия по внедрению концепций SBASIC и усилий по стандарту ANSI BASIC. Это стало True BASIC.
Первоначально основанный на Dartmouth BASIC 7, 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
Эта простая программа отображает текст «Добро пожаловать в...» в верхнем левом углу экрана, а затем продолжает бесконечный цикл вывода «Сказочная Arc.Ask3.Ru!» по случайным координатам.
Пример простой анимации может быть таким:
!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 ». ереси [2]
Некоторые пользователи жаловались на то, что их программы и редактор используют 100% ресурсов ЦП (или ядра). [3] [4] [5] [6] Похоже, это вызвано тем, что редактор и пользовательские программы используют цикл, который постоянно опрашивает клавиатуру и мышь на наличие событий. Проблема известна как минимум с конца 2010 года. [3] однако по состоянию на начало 2014 года работа над ним все еще ведется. [6]
Дальнейшее чтение
[ редактировать ]- Кемени, Джон Г.; Курц, Томас Э. (1985). Назад к БЕЙСИКУ: история, коррупция и будущее языка . Addison-Wesley Publishing Company, Inc. 141 стр. ISBN 0-201-13433-0 .
Ссылки
[ редактировать ]- ^ Кемп, Джульетта. «БЕЙСИК: язык, который начал революцию» (PDF) . Проверено 25 июня 2022 г.
- ^ Пурнель, Джерри (сентябрь 1985 г.). «ПК, периферийные устройства, программы и люди» . БАЙТ . п. 347 . Проверено 20 марта 2016 г.
- ^ Jump up to: а б «Загрузка процессора» . Форум поддержки True BASIC, 31 декабря 2010 г. Проверено 26 июля 2014 г.
- ^ «Загрузка процессора 100%» . Форум поддержки True BASIC, 22 августа 2012 г. Проверено 26 июля 2014 г.
- ^ «Использование процессора» . Форум поддержки True BASIC, 24 сентября 2013 г. Проверено 26 июля 2014 г.
- ^ Jump up to: а б «Еще несколько ошибок редактора» . Ответ на форуме поддержки True BASIC от 18 февраля 2014 г. Проверено 26 июля 2014 г.