Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Amiga компьютерлері үшін BASIC бағдарламалау тілінің іске асырылуы
BASIC programming language implementation for Amiga computers
Amiga Basic – Amiga компьютерлері үшін BASIC бағдарламалау тілінің интерпретацияланған нұсқасы. Ол Microsoft компаниясымен жобаланып, жазылған. Amiga Basic AmigaOS 1.1-ден 1.3 нұсқаларына дейін бірге келді. Ол AmigaOS 1.0 және 1.1 нұсқаларында болған MetaComCo-ның ABasiC бағдарламасын ығыстырып, AmigaOS 2.0 нұсқасынан бастап REXX стиліндегі скрипт тілі – ARexx бағдарламасымен алмастырылды.
Amiga Basic is an interpreted implementation of the BASIC programming language for the Amiga. It was designed and written by Microsoft. Amiga Basic shipped with AmigaOS versions 1.1 to 1.3. It succeeded MetaComCo's ABasiC included in AmigaOS 1.0 and 1.1 and was superseded by ARexx, a REXX style scripting language, from AmigaOS version 2.0 onwards.
Тарих және сипаттама
Amiga Basic жалпы BASIC тілін ғана емес, сонымен қатар Amiga-ның ерекше графикалық және дыбыстық мүмкіндіктері үшін пайдалануға оңай API-ді ұсынуға тырысты. Мысалы, OBJECT командалары AmigaBASIC-пен бірге келген сыртқы сурет салу бағдарламасы, Object редакторы арқылы жасалған қозғалатын объектілер – спрайттар мен бобтарды құруды жеңілдетті. Тілдің ерекшелігі – ол теориялық тұрғыдан қолмен жазылған ассемблерлік тілдің кіші бағдарламаларын шақыруға мүмкіндік берді; алайда, бұл мүмкіндік жұмыс істемеді, себебі ассемблерлік тілдің нұсқауларын сөз шекарасында дұрыс туралауға қате жіберілді, ал Amiga-ның MC68000 процессоры осыны талап еткен. Amiga Basic әлі де шығарылып жатқан кезде танымал болған Compute! журналы өз мақалаларында көптеген AmigaBASIC бағдарламаларын жариялады. Бұл әдетте қарапайым бағдарламалардың, мысалы, қарапайым ойындардың, жүйелік және файлдық утилиталардың, сондай-ақ аналогтық сағаттар мен адрес кітаптары сияқты қосымша құралдардың іске асырылуы болды. Amiga Basic өзі AmigaOS 2.0 және Motorola 68000 процессорының жаңа нұсқаларымен үйлесімсіздік тудырғандықтан қолданыстан шықты. Кейбір үйлесімсіздіктер Commodore компаниясы белгілеген бағдарламалау ережелерін сақтамаудан туындады. Дегенмен, Amiga үшін Amiga Basic бағдарламаларын минималды өзгерістермен жинақтай алатын A/C BASIC немесе Cursor сияқты үшінші тараптан шыққан жинақталған BASIC тілдері болды (төменде қараңыз). Осы жинақталған BASIC-тердің кейбіреулері AmigaOS 2.0-мен де жұмыс істеді, және интерпретацияланбағандықтан, жинақталғандықтан, олар әдетте түпнұсқасына қарағанда әлдеқайда жылдам жұмыс істеді. AmigaOS 2.0-де Amiga Basic ARexx-пен алмастырылғанымен, екі тілдің де функциялары мен мүмкіндіктері өте ерекше болды. AmigaOS 2.0 шыққан кезде хобби бағдарламашылар өзгерді және жаңа бағдарламаларды бастан-аяқ жазуға қарағанда, бар болған үшінші тараптың қолданбаларын жазуға көбірек қызығушылық танытты. ARexx олардың қажеттіліктеріне BASIC-ке қарағанда жақсы сай келеді деп есептелді. Microsoft-тың Macintosh үшін жасаған ұқсас BASIC тілімен бірге Amiga Basic Microsoft-тың жол нөмірін қажет етпейтін алғашқы BASIC интерпретаторы болды, оның орнына кодтың жолдарын орындау үшін жоғарыдан төменге қарай тәсілді және GOTO нұсқаулығы қай жерге секіру керектігін көрсету үшін белгілерді пайдаланды. Алайда, жол нөмірі бар бағдарламалар да жұмыс істей алды; жол нөмірлері ағынды басқару үшін белгілер ретінде қарастырылды. Бұл сонымен қатар LIBRARY командасы арқылы операциялық жүйе функцияларын және динамикалық кітапханаларды шақыра алатын алғашқы Microsoft интерпретацияланған тілі болды. Мысалы: LIBRARY Graphics. library командасы стандартты Amiga Graphics кітапханасын шақырады, одан функцияларды шақыруға болады.
Amiga Basic provided not only the common BASIC language, but also attempted to provide an easy to use API for the Amiga's unique graphics and sound capabilities. OBJECT commands, for example, made it easy to create moving objects – sprites and bobs that could be drawn with an external drawing program, Object editor, that was supplied with AmigaBASIC. An unusual feature of the language is that it theoretically allowed the calling of handwritten assembly language subprograms; however, this feature never worked because of a bug that failed to align the assembly language instructions correctly on a word boundary, as required by the Amiga's native MC68000 processor. Compute!, a popular computer magazine published while Amiga Basic was still being shipped, included many AmigaBASIC type in programs in their articles. These were typically implementations of simple programs such as rudimentary games, system and file utilities and desk accessories such as analog clocks and address books. Amiga Basic itself was rendered obsolete because of incompatibilities with AmigaOS 2.0 and the hardware successors to the Motorola 68000 CPU. Some incompatibilities were due to the disregard of programming guidelines set forth by Commodore. However, there were a number of third party compiled BASIC languages released for the Amiga that could compile Amiga Basic programs with minimal changes, like A/C BASIC or Cursor (see below). Some of these compiled BASICs continued to work with AmigaOS 2.0, and as they were compiled rather than interpreted, they generally ran much faster than the original. Although Amiga Basic was superseded by ARexx in AmigaOS 2.0, the two languages had very different functions and capabilities. Hobbyist programmers had changed by the time of AmigaOS 2.0's release and were more likely to be interested in scripting existing third party applications than in writing new programs entirely from scratch. ARexx was seen as better fitting their needs than BASIC. Along with Microsoft's very similar BASIC for the Macintosh, Amiga Basic was the first BASIC interpreter from Microsoft to not require line numbers, adopting instead a top down approach to executing the lines of code, and labels to indicate the GOTO instruction where to jump. However programs that contained line numbers were able to run; the line numbers were simply treated as labels for the purpose of flow control. It was also the first Microsoft interpreted language capable of calling OS functions and dynamic libraries through the command LIBRARY. For example: LIBRARY Graphics. library command invokes the standard Amiga Graphics. library from which to call functions.