Кіріспе
Microsoft BASIC – Microsoft компаниясының негізгі бағдарламалық өнімі және көптеген микрокомпьютерлерге бейімделген BASIC интерпретаторлары мен компиляторларының желісіне дамыды. Ол алғаш рет 1975 жылы Altair BASIC ретінде пайда болды, бұл Microsoft басып шығарған BASIC-тің алғашқы нұсқасы, сондай-ақ Altair 8800 микрокомпьютері үшін қолжетімді алғашқы жоғары деңгейдегі бағдарламалау тілі болды. 1970-ші жылдардың соңы мен 1980-ші жылдардың басында үй компьютерлері кең таралған кезде BASIC көптеген үй компьютерлерінің конструкциясына көшіріліп, олармен бірге жеткізілді. Машинаға тән функцияларды, әсіресе графиканы қолдау үшін енгізілген шағын өзгерістер Commodore BASIC және Atari Microsoft BASIC сияқты көптеген ұқсас конструкциялардың пайда болуына әкелді. Ертедегі үй компьютерлері IBM Personal Computer және Macintosh сияқты жаңа конструкцияларға ұшырағанда BASIC енді бұрынғыдай кеңінен қолданылмады, бірақ ол өзінің адал жанкүйерлерін сақтап қалды. Visual Basic-тің шығарылуы оның танымалдылығын қайта жаңғыртты және ол Microsoft Windows платформаларында ең соңғы нұсқасы – Visual Basic NET түрінде кеңінен қолданылады.
Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first version of BASIC published by Microsoft as well as the first high level programming language available for the Altair 8800 microcomputer. During the home computer craze during the late 1970s and early 1980s, BASIC was ported to and supplied with many home computer designs. Slight variations to add support for machine specific functions, especially graphics, led to a profusion of related designs like Commodore BASIC and Atari Microsoft BASIC. As the early home computers gave way to newer designs like the IBM Personal Computer and Macintosh, BASIC was no longer as widely used, although it retained a strong following. The release of Visual Basic reboosted its popularity and it remains in wide use on Microsoft Windows platforms in its most recent incarnation, Visual Basic NET.
Altair BASIC және алғашқы микрокомпьютерлер
Altair BASIC интерпретаторы Microsoft негізін қалаушылар Пол Аллен мен Билл Гейтс PDP 10 миникомпьютерінде жұмыс істейтін Intel 8080 эмуляторының өздігінен жазылған нұсқасын пайдаланып жасады. MS диалектісі Гейтс орта мектепте қолданған PDP 11 компьютерінде Digital Equipment Corporation BASIC PLUS бағдарламасына негізделген. Алғашқы нұсқалар тек бүтін санды математиканы қолдады, бірақ Монте Дэвидофф оларды қозғалатын нүктелік арифметиканың мүмкін екендігіне көндірді және Microsoft бинарлық форматына айналған кітапхананы жазды. Altair BASIC қағаз лентада жеткізілді және оның бастапқы нұсқасында 4 КБ жад болды. Келесі функциялар мен операторлар қол жетімді болды: LIST, NEW, PRINT, INPUT, IF THEN, FOR NEXT, SQR, RND, SIN, LET, USR, DATA, READ, REM, CLEAR, STOP, TAB, RESTORE, ABS, END, INT, RETURN, STEP, GOTO және GOSUB. 4K BASIC-те жол айнымалылары болған жоқ және жалғыз нақтылықтағы 32 биттік қозғалатын нүкте – қолданылатын жалғыз сандық тип болды. Айтмалы атаулары бір әріптен (A–Z) немесе бір әріптен кейін бір саннан (0–9) тұратындықтан, 286 сандық айнымалыға дейін рұхсат етілді. Көбірек жады бар машиналар үшін 8 КБ нұсқасы 31 қосымша оператор мен жол айнымалыларын және оларға қатысты MID$ және жолдарды біріктіру сияқты операцияларды қолдауды қосты. Жол айнымалылары $ символымен белгіленді, ол тілдің кейінгі нұсқаларында сақталды. Кейіннен Microsoft 12K Extended BASIC-ті шығарды, ол 64 биттік екі есе нақтылықтағы айнымалыларды, IF THEN ELSE конструкцияларын, пайдаланушы анықтаған функцияларды, бағдарламаны өңдеудің кеңейтілген командаларын және қателік нөмірлерінің орнына түсіндірмелі қателік хабарламаларын қамтыды. Сандық айнымалылардың үш негізгі түрі болды: % – 16 биттік бүтін сандарды, # – 64 биттік қос сандарды, ал ! – 32 биттік бірліктерді білдірді, бірақ бұл әдепкі формат болғандықтан, ! бағдарламаларда сирек кездеседі. 8 КБ кеңейтілген нұсқа BASIC 80 (8080/85, Z80) болып жалпыландырылды және BASIC 68 (6800), BASIC 69 (6809) және 6502 BASIC-ке аударылды. 6502 құрастырушы кодын тығыздығы біршама төмен болды және жалғыз нақтылықтағы нұсқасы үшін 8К-тан аспайтын немесе бастапқы 32 биттік нұсқаның орнына аралық 40 биттік қозғалатын нүкте форматын қолданатын нұсқасы үшін 9К-қа дейін ұлғайтылды. Бұл жаңа 40 биттік формат ең көп таралған болып табылады, өйткені ол сол дәуірдегі көптеген 6502 негізіндегі машиналарда қолданылды. Ол сондай-ақ 16 биттік BASIC 86 (8086/88) жүйесіне аударылды. BASIC 80-нің соңғы маңызды нұсқасы 5.x болды, ол 1981 жылы пайда болды және 40 таңбалы айнымалы атауларын, WHILE WEND циклдарын, динамикалық жол бөлуді және басқа да бірнеше мүмкіндіктерді қосты. BASIC 5.x бағдарламалық жолдарды қысқарту мүмкіндігін жойды. Microsoft BASIC-тің барлық нұсқаларындағы негізгі командалар жиынтығы мен синтаксисі бірдей және, әдетте, бағдарламаны кез келген нұсқада орындауға болады, егер ол аппараттық ерекшеліктерді немесе екі есе нақтылықтағы сандарды қолданбаса (кейбір нұсқаларда қолдау көрсетілмейді).
LIST, NEW, PRINT, INPUT, IF THEN, FOR NEXT, SQR, RND, SIN, LET, USR, DATA, READ, REM, CLEAR, STOP, TAB, RESTORE, ABS, END, INT, RETURN, STEP, GOTO, and GOSUB. There were no string variables in 4K BASIC and single precision 32 bit floating point was the only numeric type supported. Variable names consisted of one letter (A–Z) or one letter followed by one digit (0–9), thus allowing up to 286 numeric variables. For machines with more memory, the 8 KB version added 31 additional statements and support for string variables and their related operations like MID$ and string concatenation. String variables were denoted with a $ suffix, which remained in later versions of the language. Later on, Microsoft released the 12K Extended BASIC, which included double precision 64 bit variables, IF THEN ELSE structures, user defined functions, more advanced program editing commands, and descriptive error messages as opposed to error numbers. Numeric variables now had three basic types, % denoted 16 bit integers, # denoted 64 bit doubles, and ! denoted 32 bit singles, but this was the default format so the ! is rarely seen in programs. The extended 8 KB version was then generalized into BASIC 80 (8080/85, Z80), and ported into BASIC 68 (6800), BASIC 69 (6809), and 6502 BASIC. The 6502 had somewhat less dense assembler code and expanded in size to just under 8K for the single precision version, or 9K for a version using an intermediate 40 bit floating point format in place of the original 32 bit version. This new 40 bit format became the most common as it was used on most 6502 based machines of the era. It was also ported to the 16 bit BASIC 86 (8086/88). The final major release of BASIC 80 was version 5. x, which appeared in 1981 and added support for 40 character variable names, WHILE WEND loops, dynamic string allocation, and several other features. BASIC 5. x removed the ability to crunch program lines. The core command set and syntax are the same in all implementations of Microsoft BASIC and, generally speaking, a program can be run on any version if it does not use hardware specific features or double precision numbers (not supported in some implementations).
Үй компьютерлерін өндірушілерге лицензиялар
Altair BASIC-тің бастапқы сәттілігінен кейін Microsoft BASIC бағдарламалық қамтамасты лицензиялаудан табыс көтеру бизнесінің негізіне айналды. Ол 1970-ші жылдардағы, әсіресе 1980-ші жылдардағы көптеген үй және басқа да жеке компьютерлерге көшірілді және осы процесте кеңейтілді. Алғашқы Altair BASIC-тен өзгеше, көптеген үй компьютерлерінің BASIC нұсқалары ROM-да орналасқандықтан, машинаны қосқанда "READY" деген хабар түрінде қолжетімді болады. Сондықтан Microsoft және BASIC-тің басқа да нұсқалары көптеген үй компьютерлерінің қарапайым операциялық жүйелерінің пайдаланушы интерфейсінің маңызды және көзге көрінетін бөлігін құрайды. 1981 жылға қарай Microsoft BASIC соншалықты танымал болды ki, тіпті өздерінің BASIC-і бар компаниялар да оған лицензия алды, мысалы IBM өзінің жеке компьютері үшін, ал Atari – Atari Microsoft BASIC және өзінің Atari BASIC-ін сатты. IBM-нің Дон Эстриджі: «Microsoft BASIC-тің бүкіл әлемде жүздеген мың пайдаланушысы болды. Мұндай жағдайға қалай қарсы тұра аласыз?» Microsoft бір-бірімен бәсекелесетін компанияларға ұқсас нұсқаларды лицензиялады. Мысалы, IBM Advanced BASIC (BASICA) лицензиясын IBM-ге бергеннен кейін, Microsoft үйлесімді GW BASIC-ті PC клондарының өндірушілеріне лицензиялады және оның көшірмелерін бөлшек саудаға сатты. Компания VTech компаниясына оның Laser 128 клоны үшін Applesoft-қа үйлесімді BASIC лицензиясын да берді.
BASIC-80 дискісі
MBASIC CP/M 80 және ISIS II үшін қолжетімді. TEKDOS үшін де қолжетімді. MBASIC – аппараттық ерекшеліктеріне байланыссыз функциялары ғана бар BASIC 80-нің қысқартылған нұсқасы. Дегенмен, CP/M-нің кең таралғанына байланысты, Z80 машиналарының көп бөлігі нақты аппараттық құрылғыға арналған нұсқаның орнына MBASIC-ті пайдаланды (TRS 80 BASIC – сирек ерекшеліктердің бірі). Apple II үшін Microsoft CP/M картасы Applesoft BASIC-тен HPLOT сияқты графикалық командаларды қамтитын MBASIC-тің өңделген нұсқасын қамтыды, бірақ толық командалар жиынтығы қолдау көрсетілмеді.
TRS-80 II/III деңгейі BASIC
TRS-80 компьютері бастапқыда Ли Чен Вангтың Tiny BASIC (Level I BASIC) адаптациясымен ұсынылды; бірнеше айдан кейін ол Level I BASIC командалар жиынтығының бір бөлігін, әсіресе графикалық символдарды орнату командаларын қамтитын BASIC 80 портымен ауыстырылды. Level II BASIC кеңейтілген BASIC мүмкіндіктерінің бір бөлігін қамтыды, бірақ SET және PSET сияқты Level I командаларын қосу қажеттілігіне байланысты, егжей-тегжейлі қате хабарламалары сияқты басқа мүмкіндіктерді қосу мүмкін болмады; олар кейіннен TRS-80 Disk BASIC-ке қосылды. TRS-80 Model 4 BASIC 80 5.x ядросын пайдаланған жаңа дискілік BASIC-ке ие болды, ол 40 символдан тұратын айнымалы атауларды қолдады. Осылайша, кілт сөздер мен аргументтер арасында бос орындарсыз бағдарлама жолдарының қысқартылуы Level II-де болғандай енді мүмкін емес еді. Строкалар үшін орын резервтеудің қажеті болмады. Жаңа мүмкіндіктерге пайдаланушы анықтаған функциялар (DEF FN) және SYSTEM кілт сөзі арқылы TRSDOS 6 жүйелік функцияларына қол жеткізу кірді. Кейінірек операциялық жүйе провайдері Logical Systems шығарған өңделген нұсқа, LS DOS 6.3 жаңартуында BASIC басқару функцияларына (LIST және EDIT сияқты) бір әріппен қол жеткізу және LS DOS супервайзерлік шақыруларына тікелей қол жеткізу мүмкіндігі қосылды. Бағдарламаны өңдеу ортасы әлі де жолға бағдарланған күйде қалды. Level II-дегі массивтерді сұрыптау (CMD"O") мүмкіндігі болмады; бағдарламашылар мен пайдаланушылар өздерінің шешімдерін табуға мәжбүр болды.
BASIC-86 тілінде
Бірінші дербес дискідегі тіл жүйесі ретінде іске асырылған нұсқаулы машина 1979 жылы Seattle Computer Products компаниясының S 100 шинасымен үйлесімді 8086 процессорының картасы үшін жасалды. Ол 8 биттік FAT файлдық жүйені қолданды. Microsoft 1980 жылы Intel 8086 Single Board Computer платформасы үшін SBC 86/12 жиынтығына арналған Standalone BASIC 86 нұсқасын да ұсынды.
Texas Instruments BASIC компаниясының
Бұл TI 99/4A үй компьютерінде қолданылатын BASIC нұсқасы. Microsoft BASIC-ке өте ұқсас болғанымен, оны Microsoft жазған жоқ, бұл туралы көп айтылды. TI инженері Х. Шурманның сөзінше, "Олар (Microsoft компаниясының Боб Гринберг арқылы) SR 70 (кейде 99/7 деп те аталады) үшін BASIC әзірлеуге шарт жасасқан, бірақ 99/4 компьютері үшін BASIC компания ішінде жасалған". TI 99/4 BASIC Дартмут BASIC-ке негізделген және минималды BASIC (ANSI X3.60 1978) американдық ұлттық стандартына сәйкес келеді.
BASIC-68 және BASIC-69
Microsoft-тың 1980-ші жылдардағы каталогтарында FLEX операциялық жүйелерін қолдайтын Motorola 6800 және 6809 микропроцессорлары үшін BASIC 68 және BASIC 69 қолжетімді екені көрсетілген, сондай-ақ Perkin Elmer, Ohio Nuclear, Pertec және Societe Occitane d'Electronique жүйелеріне арналған OEM нұсқалары да аталып өткен. Бұл, екі Hitachi 6301 процессоры бар Epson HX 20 портативті компьютеріндегі Microsoft/Epson BASIC-тің негізі болған сияқты, олар негізінен "күшейтілген" 6801 процессорлары. BASIC 68 және BASIC 69-дың көптеген негізгі мүмкіндіктері BASIC 80-нен тікелей алынған. BASIC 69 сонымен қатар Tandy компаниясына лицензияланды, онда ол TRS 80 Color Computer-дегі Color BASIC-тің ядросын құрады. Оны Microware компаниясының OS 9 операциялық жүйесі үшін жасаған BASIC09-мен шатастырмау керек, ол Color Computer-де қолжетімді тағы бір операциялық жүйе (Microware сондай-ақ Microsoft бас тартқан кезде Extended Color BASIC 2.0 нұсқасын жазды). Microsoft BASIC сонымен қатар Уэльсте құрастырылған Dragon 32 / 64 компьютерлеріне де енгізілді және 1980-ші жылдардың басында Ұлыбританиядағы үй компьютерлері нарығында белгілі бір сәттілікке қол жеткізді. Dragon компьютерлері Tandy TRS 80 компьютерлерімен салыстырмалы түрде үйлесімді болды, себебі олар өте ұқсас аппараттық құралдармен жасалған.
MSX
Microsoft Z80 процессорын қолданатын MSX үй компьютерлері үшін MSX BASIC негізіндегі ROM шығарды. Бұл нұсқа MSX компьютерлерінің графикалық және дыбыстық жүйелерін қолдады; кейбір түрлері дискілік жетектерді де қолдаған.
Қазіргі ұрпақтары
Microsoft BASIC (BASICA, GW BASIC, QuickBasic, QBasic) нұсқалары қазіргі уақытта Microsoft Windows немесе DOS жүйесімен бірге таралмайды. Дегенмен, қазіргі заманғы компьютерлерде жұмыс істейтін нұсқаларын түрлі интернет сайттарынан жүктеуге болады немесе ескі DOS дискілерінде табуға болады. Microsoft BASIC-тің соңғы нұсқасы – Visual Basic NET, ол C++ және C# тілдерінің кейбір мүмкіндіктерін қамтиды және веб-формаларды, Windows формаларын, консольдік және серверлік қосымшаларды жасау үшін қолданылады. Көптеген NET код үлгілері VB.NET және C# тілдерінде ұсынылады, ал VB.NET бұрынғы Visual Basic бағдарламашылары арасында әлі де танымал. 2008 жылдың қазан айында Microsoft Small Basic бағдарламасын жариялады. Бұл тілде бар болғаны 14 түйін сөз бар. Small Basic 1.0 нұсқасы (2011 жылдың 12 маусымы) жаңартылған Microsoft MSDN веб-сайтымен бірге, толық оқыту бағдарламасын, бастауға арналған нұсқаулықты және бірнеше электрондық кітаптарды қамтыды. Small Basic сегіз жастан бастап оқушыларға компьютерлік бағдарламалау негіздерін үйренуге көмектеседі, содан кейін Visual Studio Express бағдарламалық қамтамасы арқылы Visual Basic-ке өтуге мүмкіндік береді, онда олар Visual C#, VB.NET және Visual C++ тілдерін үйреніп, алған білімдерін дамыта алады.