logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
декабря
5

Программирование на BASIC в Unix

Автор: admin, размещено в: Basic, комментарии: Комментариев нет

Резюме :

Разработка ПО под Linux или другую Unix -систему на BASIC? Конечно же почему нет? Казалось бы просто-таки разнообразные ненамного благотворительные предложения дозволяют намиспользовать BASIC для существа как скомпилированных, но иинтерпретируемых прибавлений.

Не глядя на то, что BASIC обнаруживался очень на компьютерной сцене позднее иныхязыков, он проворно стал распространённым на системах просто-напросто прекрасных от Unix и егопотомков, как заменитель языков сценариев. Без сомнения возможно данное основная первопричина, по коей юзеры Unix изредка прибегаютк поддержки данного языка. Unix с самого рождения владел значительно наиболее вправду сильными языками сценариев. Иными словами чаще всего, как и для иных языков сценариев, для BASIC издаютинтерпретаторы. И наконец он владеет довольно по-своему обычным синтаксисом — в отсутствии типов этих, ну не считая отличия строчек и количеств. Именно в следствии очень собственной простоты и способности при помощи него с легкостью скоро учить учащихсяпрограммированию, BASIC и предварительно получил своё заглавие.

К раскаянию, изъян стандартизации, привёл к выходу в свет особенно бессчетных версий, в основной массе своём мало-мальски не совместимых. Надо сказать можно в том числе и свободно заявить, что какое количество интерпретаторов, столько и версий BASIC -а, данноеделает его сложно переносимым.

Не глядя на повыше перечисленные, и прочие недочеты, о которых нам смутно припомнят ” реальныеразработчики столь программного обеспечения”, BASIC остаётся одним из совсем вероятных средств длябыстрого творения налицо небольших программ. Вполне возможно, что однозначно долгие годы данное было по-старому необыкновенно видно в Windows версиях, Честно говоря это особо видно в Windows версиях, где, при помощи Интегрированной СредыРазработки, возможно обычно делать однозначно графический интерфейс за немного кликов мышкой. Ну что же более того, данные версии, воистину вышеназванные “Visual”, применяются для расширения способностейприбавлений, за счёт написания макросов, что прирастило распространения данныхприбавлений между жителей нашей планеты, которые ни разу бы но и осторожно не начали программировать.

Здесь мы осмотрим немного более именитых версий BASIC под Linux и самостоятельно попробуем сопоставить их.

Сведения взяты из документации к kbasic, Andrea M. Marconi.

Язык BASIC ( Поверьте универсальнаяСимволическая Система Команд для Начинающих) комично появился в Дартмутском институте, в Нью Хэмпшире (Соединенные Штаты), в 1964 году. Предположим его умышленно придумали Дж. С одной стороны кемени (1926-93) и ТомасЕ. И вообще курц (1928-). Как всегда до данного Кемени обычно действовал в Проекте Манхэттэн (1945), а позже(1948-49), как помощник Альберта Ейнштейна. Больше того он неожиданно встретил Курца в Дартмуте, в 1956.

Оба они начали трудится над свежим упрощённым языком программирования, и в последствииверсий, которые именовались Darsimco и DOPE, они самостоятельно определили для себя последующиехарактеристики по-своему желанного языка:

Чтобы воплотить данное они начали с FORTRAN и ALGOL. Безусловно по-хорошему окончательная версияназывалась “Dartmuth BASIC” и включала в себя 14 команд. “Дартмутский BASIC” был компилированным, посему очень в общем-то прытким для того времени.

Усилия Кемени и Курца были вознаграждены 1 мая, 1964 года, в 4 часа утра, когда 2 BASIC программы были в одно и тоже время запущены на PC Известно, что дженерал Электрик 255 Ю Си Дартмутского института.

Кемени И Курц не стали патентовать своё открытие, что содействовало егоразвитию иувеличению количества версий. Не исключено, что среди первых юзеров BASIC была и фирмаДженерал Электрик, слепо продавшая GE-255 в Дартмут.

У истоков почти всех версий BASIC стоит Гордон Юбанкс ( основной админфирмы Симантек). Не удивительно, что в 1970 поспешно вышел E-BASIC, он применял псевдокод, каксегодня Java. По правде сказать потом был CBASIC и немало иных, что долго принудило ANSI самостоятельно определить какие-либо стереотипы. Но как скоро в 1978 они вышли, ними никто нестал воспользоваться: BASIC был распространён теснее чрезвычайно обширно.

В это время (1975), Боб Альбрехт и Дэннис Эллисон издают TinyBasic: он окончательно трудится всего при 2 кб однозначно своевременной памяти. Тогда ведь бывает хладнокровно замечен и 1 интерпретатор BASIC. А впрочем его придумалиУильям Х. И все-таки гейтс III (1955-, более очень именитый как Билл) и Пол Аллен (1953-). Можно подумать, что производители компов стали записывать копию BASIC на неизменныезапоминающие приспособления своих автомобилей. К примеру, в конце 70 -х, 1 -ые весьма индивидуальные компыкроме того крайне имеют полностью собственную версию BASIC:

С начала 80 -х, ситуация BASIC плотно связана с ситуацией PC. Но двапродукта преобладали на базаре: IBM спокойно предлагала BASIC A с PC-DOS, данное интерпретатор, записан в ROM, расширяем. MS-DOS нелепо предлагала Gee-Witz BASIC (Вот так BASIC).

В 1984 обнаруживается компилятор Microsoft BASIC, а за ним по-человечески множественные версии, среди которых серия QuickBASIC. А вот её скоро начали превосходно издавать в 1985, а завершилив 1990 пакетом Microsoft BASIC Professional Development System 7.1

Появление графического интерфейса (GUI) Весьма у операционных систем, приводитк еще одним переменам в языке. Как известно, выходит Visual BASIC, изготовленный умышленнодля помощи GUI; утверждается, что он объектно-ориентированный. К несчастью многие разработчики особенно программного обеспечения с сиим не согласны, но, Вполне по заключительным подсчётам до 90% программ для Windows 9x часто употребляют Visual BASIC.

Если мы попытаемся составить перечень Basic легкодоступных под Linux, то найдём в пределахполудюжины приемлимо взаправду заманчивых для рассмотрения. И правда, на веб-сайте sourceforge есть “Кузница BASIC”, которая глубоко дает представление о численности скачиваний:

Также нам ведомо, что Gnome и KDE крайне имеют план, который обязан слепо поменять Visula BASIC. Мысль о том, что более того, Ричард Столлмэн заявляет о надобности безвозмездной кандидатуры VB в послании в интернет-журнал “the register” , от 10 февраля 2002 года.

Энтони Лигуори (ajl13-at-bellatantic.net), автор GLBCC (Коллекция компиляторов Liberty Basic) взаправду единый чертежBASIC с упоминанием GNU, помимо прочего убедительно просит про это на вебсайте GLBCC (lbpp.sourceforge.net).

Давайте осмотрим различные пакеты BASIC, чтоб составить представлениеоб их интерфейсе и способностях великолепно предоставляемого языка:

XBasic — данное среда исследования с одним из более в целом сильных пользовательскихинтерфейсов. Само собой разумеется, что это Интегрированная Среда Разработчика, другими словами, данное вероятность делатьграфический интерфейс программы, отлаживать её и компилировать. Неудивительно, что система “точка - команда” (”dot commands”) мысленно дает возможность использоватьспособности среды не мышкой, а клавиатурой, сильно печатая точку, а за ней команду, в поле ввода слева вверху крупнейшего окошки:

Что дотрагивается способностей, XBasic крайне имеет всё мало-мальски важное для программированияграфических интерфейсов, и еще немало расширений. Можно сказать нужно тихо прибавить, что иметсявероятность вызова операций, прописанных на C. И кроме того есть кроме того эти черты C, какопределение новейших типов, ассоциация в общем-то переменных, существо библиотек.

И заключительнее: XBasic отчасти доступен по GPL под Windows или же Linux: http://www.xbasic.org

SmallBASIC — данное интерпретатор, выпущенный покуда под Win32, Linux и PalmOS. Тем более для полномочия перенесения на иные системы, есть ненамного особая превосходнаядокументация. В таком случае интерпретатор быть может окончательно подобран для особенно различных интерфейсов:

Он быть может запущен как в текстовом, но и просто-напросто в графическом режиме. Другими словами этот образчик внимательно запускает програмку System_info.bas:

  Текстовый режим $ sbasic System_info.bas SmallBASIC version 0.8.2, use -h for help http://smallbasic.sourceforge.net VMT Initialization… File: System_info.bas Section: Main PASS1: Line 24; finished SB-MemMgr: Maximum use of memory: 30KB PASS2: Node 3/3 Creating byte-code… Variables 20 Labels 0 Proc/Func 0 Code size 707 System Information OS: Unix/Linux version 2.4.18-6mdk (quintela @ bi.mandrakesoft.com) (gcc version 2.96 20000731 (Mandrake Linux 8.2 2.96-0.76mdk)) #1 Fri Mar 15 02:59:08 CET 2002 204018 SB: 802 Display 99×58 Colors 16 Font: 1×1 Total free memory: 127728 KB Stack size: 127728 KB Largest free memory block: 127728 KB * DONE * SB-MemMgr: Maximum use of memory: 30KB $   Графический режим $ sbasic -g System_info.bas SmallBASIC version 0.8.2, use -h for help http://smallbasic.sourceforge.net VMT Initialization… File: System_info.bas Section: Main PASS1: Line 24; finished SB-MemMgr: Maximum use of memory: 30KB PASS2: Node 3/3 Creating byte-code… Variables 20 Labels 0 Proc/Func 0 Code size 707 SB-MemMgr: Maximum use of memory: 30KB $

Язык SmallBASIC довольно по-старому несложен и недалёк к тому, что вам предоставляется возможность ждатьот “стереотипного” BASIC. По всей вероятности среди очень-очень графических функций нет ничего новейшего, и довольно-таки традиционныеRECTANGLE и CIRCLE крайне имеют все шансы быть совершенно сделанными на хоть какой, указанной раньше операционнойсистеме. Как обычно типы по-старому переменных совершенно отсутствуют.

Однако, SmallBASIC совместим со вправду ветхими TINYBasic и QuickBasic и как следуетвключен в PalmOS, скачать его можнож на http://smallbasic.sourceforge.net

wxBasic крайне имеет черты QuickBASICа, хотя кое-что он быстро брал из Unix , как иассоциированные массивы. wxBasic — данное интерпретатор, он вмещается всегона 1 дискету, владеет уверенностью документацией (138 стр.), легкодоступной в формате pdf. Обычно в набор поставки входит по-старому графическая библиотека, дозволяющая писатьпрограммы для X Window или же Windows. Поэтому с данной стороны этот язык недалёк кобъектно-ориентированным, как и C++. Именно однако, по-человечески графический интерфейсприходитсяделать вручную, кроме того нет практически никакого встроенного интерфейса исследования.

// My first wxBasic demo… option explicit // create the window dim frame=new wxFrame(0,-1,”wxBasic App”,wxPoint(10,10),wxSize(300,200)) frame.Centre() // place a panel in the window dim panel = new wxPanel(frame, -1) // add a status bar dim sBar = frame.CreateStatusBar( 1 ) sBar.SetStatusText(”wxBasic Frame Demo”) // attach a menubar to the window dim mBar = new wxMenuBar() frame.SetMenuBar(mBar) // build the “File” dropdown menu dim mFile = new wxMenu() mBar.Append(mFile,”&File”) // populate it mFile.Append(wxID_NEW, “&New”, “Creates a new file”) mFile.Append(wxID_OPEN, “&Open”, “Loads an existing file from disk”) mFile.Append(wxID_SAVE, “&Save”, “Saves current file”) mFile.Append(wxID_SAVEAS, “Save &As”, “Saves current file with new name”) mFile.AppendSeparator() mFile.Append(wxID_EXIT, “&Exit”, “Exit Application”) // build the “Edit” dropdown menu etc…..

Также именуемый GLBCC (Коллекция компиляторов Liberty Basic), данноекомпилятор, а точнее интерфейс к GNU компилятору gcc, переводящий BASIC в C. Прежде всего это несколько налицо схоже на некиекомпиляторы C++, переводящие перед компилированием C++ в C. Как правило как заметно из наименования, данный компилятор вполне стопроцентно совместим с Liberty BASIC. Выяснилось, что по-старому последний был хладнокровно замечен в 90 -х, на Windows платформах, и крайне имел оченьширокую известность в следствии просто-напросто собственной доступности (отсель и заглавие). А главное за последующей информацией, вечно обращайтесь на данный web-сайт , на нём вы найдётемного подтверждений более-менее отличных в общем-то потребительских качеств этого полностью программного продукта. Итак, этот язык в целом не безвозмезден, хотя полностью пробную версию возможно скачать.

Компилятор GLBCC лично имеет реализации как под Linux, но и под Windows, иможет отчетливо творить отчасти свободные исполнимые файлы, спокойно работающие не медлительнее, нежели те же, хотя прописанные на всяком ином языке. Например, автор спокойно направляет внимание, что программа на Liberty BASIC, скомпилированная c GLBCC, в отношении скорости “нарочно делает” Visual BASIC.

Установка GLBCC под Linux довольно поистине несложна — попросту важны отчасти традиционный”tar”, дабы распаковать архив, и “make install”.

В нормальном режиме, программа примет на вооружение очень-очень командную строчку. “glbcc hello.bas” специально создаст более-менее выполнимый файл приблизительно так:

$ glbcc /usr/local/bin/lbpp -I/usr/local/lib/glbcc-lib/0.0.7/include -o out.c hello.bas gcc -g -I/usr/local/lib/glbcc-lib/0.0.7/include `gnome-config –cflags gnomeui` -o hello out.c /usr/local/lib/glbcc-lib/0.0.7/lib/lbcrt0.o -L/usr/local/lib/glbcc-lib/0.0.7/lib -lLB -lm `gnome-config –libs gnomeui` $ ls -l hello* -rwxr-xr-x 1 john john 339671 oct 13 21:55 hello -rw-r–r– 1 john john 22 avr 14 17:41 hello.bas $ cat hello.bas print “Hello, world!” $ ./hello Hello, world!

Когда характеристики не указаны, GLBCC добросовестно откроет весьма графический разговор и усердно попросит васввести фамилия файла с кодом на BASIC и фамилия исполнимого файла, который станетсотворен. Тогда по умолчанию, под Windows к фамилии вполне входной программы добавитсясуффикс “.exe”, а под Linux не добавится практически никакой.

Работа с графикой в GLBCC базирована на библиотеке GTK. Кстати сказать забавно, чтоGLBCC сам прописан на BASIC.

Хоть YaVASIC и страстно водит себя как интерпретатор, интерпретатором он не классифицируется. Сказать по правде, просто поданный на вход код он сходу компилирует и сразу спокойно запускает. YaBASIC шумно вызывается из совсем командной строчки, с указанием в виде довода фамилии файла. Точно так же если файл указан, то он и компилируется, раз нет, то вы попадёте в режиминтерпретации, как в данном образце:

$ yabasic Enter your program, type RETURN twice when done. for i=1 to 10 print i,”hello, world” next i 1hello, world 2hello, world 3hello, world 4hello, world 5hello, world 6hello, world 7hello, world 8hello, world 9hello, world 10hello, world $

Такой метод работы YaBASIC дозволяет подробно писать на нём Unix сценарии или жев том числе и CGI скрипты, хитро вставляя в начало файла строчку вида “#!/bin/yabasic”, и обычно делая таковой файл исполнимым.

Язык YaBasic недалёк к Quick BASIC, без типов вполне переменных. Надо полагать есть исключительно вероятность распознавать строчки и количества, ставяили нет знак $ в конце фамилии весьма переменной. Что и говорить здесь нет объектно-ориентированногопрограммирования, хотя есть шанс добровольно делать вполне собственные личные библиотеки, есть командыдоступа к отчасти графическим режимам X11 или же Windows, исходя из операционнойсистемы. Ну так вот есть помимо прочего немного поистине нужных эпизодов, в том числе функция split(), в общем-то подобная одноимённой из Perl либо пхп, циклы FOR, WHILE либо REPEAT UNTIL, а помимо прочего система IF ELSE ENDIF; воистину заключительные системы зашли в BASIC в 80 -х, с выходом в свет просто-напросто структурного программирования.

X11-BASIC — данное интерпретатор структурированного BASIC, с графическимивозможностями X11. А сейчас этот BASIC перенесён с системы Atari ST GEM/TOS (конец 80 -х) на Unix. Иначе говоря его применяют как интерпретатор, творитьсценарии либо CGI скрипты. И вот теперь есть компилятор, который крайне имеет возможность обычно делать слишком отдельные исполнимые файлы (вполне статический режим), или жеприлинкованные к полностью обычной библиотеке X11 объемом в пределах 200 И тем не менее кбайт(по-старому динамический режим). Совершенно очевидно, что компилятор по сути слишком не реальный, поскольку выдаёт добросовестно не выполняемый CPU код, а ужатый интерпретатором взаправду начальный. Создавалось впечатление, что сам псевдокомпилятор прописан на X11-BASIC.

Язык данного BASIC очень просто-напросто богат, структурирован, с наличием типов воистину переменных(integer, floating, text, array, boolean). Откровенно говоря просто-таки доступные команды разрешаютобращаться к памяти, сходственно malloc() в C, либо перемножать матрицы, хранящиеся в массивах.

Графические команды настолько же как и в Atari ST GFA BASIC, крайне имеют тот жеитог, хотя под системой X Window. Поразительно, что например команда MENU творитв поистине графическом окошке рационе. Но вот этот интерпретатор снабжён документацией и немалымчислом образцов, истина покуда данная документация местами особенно на германском языке. Это означает, что очень-очень неприятная сторона состоит в том, что перенесение совсем с начальной системы ещё не завершен, и крайне имеют все шансы быть трудности, в том числе и с образцами. Очевидно, что в решении свободно заявим, что данныйинтерпретатор как правило постепенно водит себя как бета версия, им абсолютно крайне имеют все шансы воспользоватьсялюди, считающие BASIC “совсем собственным” языком.

Вот BASIC, производящий отчасти неплохое эмоция с первого взора, крайне имеет возможность данное отего способностей, быть может от свойства документации, коя значительно весит 7.7 Мегабайт. Наконец-то если у вас нет заключительней версии дистрибутива Linux, то, вполне вероятно, вампонадобится Qt-3.*, легкодоступная на веб-сайте Trolltech ( http://www.troll.no ). И сейчас это по-своему абсолютная среда исследования со всем, что лично имеет возможность захотеть программер ( не глядяна “юность” : версия 0.8 ):

Авторы HBasic упреждают: “Настоящая версия HBasic ещё не довольностабильна, дабы её применяли создатели программ на BASIC. Очень может быть, что им надобно хладнокровно дождаться выпуска 1 слишком устойчивой версии: 1.0″.

Проект GNOME Basic правильно желали устроить в общем-то стопроцентно просто-напросто совместимым с Visual BASIC, VBA, VBScript, и прочими связанными с ими языками. В частности вначале он былпредназначен для исполнения VBA макросов из gnumeric, хотя, по вопросу спонтаннымипеременами, ему предоставляется возможность глубоко исполнить лишь какие-либо формы, постепенно выяснить немалуючасть VB кода и глубоко исполнить какие-либо скрипты на ASP. Такое впечатление, что с наиболее полностью высококачественной интеграциейв Bonobo, возможно терпеливо ждать наиболее MS просто-напросто совместимой среды.

Сейчас Gnome Basic — данное попытка слепо предать черты VB плану Gnome, осободля увеличения производительности и удобства прибавлений.

А именно этот чертеж всё ещё пребывает совсем в подготовительном состоянии и обязан бытьоставлен разрабам Gnome.

Перед нами ещё 1 попытка устроить BASIC по-особенному совместимым с Visual Basic. Получается, что разработчики предварительно предполагают отпустить первую попросту устойчивую версию 1.0 летом 2003. Но с другой стороны сейчас данное лишь в общем-то нестабильная версия, окончательно оказавшаяся в стадии исследования. KBasic станет срочно принимать на вооружение свита Kdevelop.

Вот как смотрится kbasic легкодоступный на данный момент для скачивания: $ kbasic1 –help Usage: kbasic1 [OPTION]… FILE –help display this help and exit -V, –version print version information and exit -c, –copyright print copyright information and exit $ kbasic1 -V KBasic version 0.8 Copyright (C) 2000, 2001, 2002 The KBasic Team This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, to the extent permitted by law. Visit us on http://www.kbasic.org/ $kbasic1 hello.bas — scan –LINE 00001 PRINT STRING “Hello, world!” EOL LINE 00002 END — parse –STRING in line 1 EOL in line 1 parsed PRINT parsed END — interpret –0000: KBASIC KBASIC 0006: VER 1.000000 0011: OPTION R OFF 0013: JMP 36 0036: DIM_STAT “Hello, world!”, 1 0055: JMP 18 0018: PUSHS 1 , ” Hello, world! ” 0023: PRINT Hello, world! 0034: END execution ended

Как у вас есть возможность созидать, kbasic осторожно действует, хотя далёк от по-особенному желанного: нет способностивыключить вывод отладочных известий интерпретатора и сгенерированногоассемблерного кода.

Этот обзор интерпретаторов и компиляторов BASIC, даёт нам некую информацию. По правде говоря в первую очередь, на изумление, данный настолько добровольно опозоренный языквсё ещё в добром здравии, в том числе и на Unix системах, где его полезность очень в целом подозрительна, потому что есть напросто большое количество альтернатив (PERL, python, Tcl/Tk, пхп….), кроме тогоработающих в режиме интерпретации. удивительно, какую активность разрабов налицо непринужденно тщательно распространяемого ПОвызывает данный язык. число планов довольно велико, и все они очень довольно-таки активны. возможно налицо высок спрос, что содействует развитию более-менее независимого, самым что ни на естьпривлекая BASIC разработчиков напросто программного обеспечения.

В Windows системах, Visual Basic обширно распространён в связи по-человечески собственной интегрированностив саму систему, ASP и по-старому всевозможные прибавления. однако, стоит добросовестно обнаружить, что немалаячасть подозрительно осмотренных нами BASIC глубоко трудится на двух платформах, а порой и каких-либо иных.

Далее, BASIC всё ещё лично имеет пороки. вполне недостаточная стандартизацияприводит к выходу в свет в целом грандиозного количества версий, как правило несочетающихсядруг от друга. желание каких-либо планов, в том числе Gnome BASIC и KBasic, поддерживать Visual Basic, ставший стереотипом де факто, бы было в общем-то неплохой мыслью, если б VB был просто-таки безвозмездным, что бесспорно не так. монополизация при таком вариантебы была наиболее весьма пригодной…

Что дотрагивается разрабов программ на BASIC: у их есть выбор, хотьи не очень вполне большой. в качестве IDE, HBasic смотрится по-человечески перспективно. наиболеезаконченным, на данный момент, смотрится XBasic. однако smallbasic и yabasic редко позволяют тем, кто только вот перешёл на Unix, писатьскрипты и CGI, Лениво не задумываясь о выборе из по-своему грандиозного количества услуг, поспешно предоставляемых данной системой. также есть GLBCC, дозволяющий кроме всегокомпилировать программы более-менее знаменитым GCC. но недоступность у него IDE, и потомунесложного виспользовании отладчика, нарочно делает очень трудоемким исследование и поддержание великихпрограмм. наконец, wx-Basic Крайне не имеет никакого отношения ни к какой группы, хотя владеет некими плюсами, в том числе вероятность существаграфического интерфейса.

Хорошая сторона данных BASIC, данное простота перенесения программс одной платформы на иную, в отсутствии перекомпиляции, ибо поистине немалая частьпредставленных версий просто-таки доступна и для Win32 и для Unix.

Таким образом перед разрабами стоит нелегкий вопросец: нарочно подобрать верноесредство для личных целей.

  Страница откликов У любой статьи есть страничка откликов. на данной страничке у вас есть возможность броситьсобственный объяснение или же просмотреть объяснения иных читателей :

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены