Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia durnapedija! Nusišnekėjimų šventovė!
Subskraibink Pipediją ant FB: |
Vilnius Basic
Vilnius Basic, dar vadintas kaip BASIC-86 arba Vilniaus Beisikas - toksai lietuviškas Basic variantas, sukurtas sovietmečiu, kuris išties tai buvo kažkodėl tai vien kvadratinėmis raidėmis, nes tiktai taip viską leisdavo su kompiuteriais daryti, nes kažkodėl sovietiniai kompiuteriai lietuvių kalbos ir netgi šiaip lotyniškų raidžių nepalaikė.
Tasai lietuviškas Vilniaus Beisikas buvo iš esmės MSX Basic klonas, nors ir su modifikacijomis. Sukurtas buvo 1985 metais VU, skirtas PDP-11 tipo architektūroms, tokioms kaip BK-0010, DVK ir panašiai. Įvairios Vilnius Basic versijos leistos iki 1988 metų ir buvo visuose BK kompiuteriuose, kurie tik buvo pagaminti SSRS - viso gerokai virš 100 tūkstančių mašinų, kas sudarė maždaug 2/3 visų kompiuterių, kiek išvis SSRS pagamino per visą savo istoriją.
Taip kad čia įdomiai gaunasi: lietuviškas Basic tapo absoliučiai populiariausia programavimo kalba iš visų, kokios tik buvo naudojamos Sovietų Sąjungoje.
Kaip ir visi kiti beisikai, taip ir šitas Vilnius Basic kažkaip panašus kaip kokia dibilų kalba, tiktai daug mažiau suprantamas. Kita vertus, jis lengvai suprantamas visiems tiems, kas naudojo kokį nors GW-Basic ar kokią nors panašią kalbą ant DOS, nes ten panašiai buvo viskas.
Turinys
Visokios neįdomios techninės detalės apie Vilniaus Basic
Vilnius Basic buvo sukurtas Vilniaus Universiteto skaičiavimo centre, 1985 metais, aiškiai klonuojant MSX Basic. Skirtas visokiems 16 bitų kompiuteriams, turintiems PDP-11 architektūrą, taip kad kaip kad DVK, BK-0010, BK-0011, UKNC, Nemiga ir panašūs.
Su MSX Basic sutampa absoliuti dauguma operatorių ir funkcijų, o taip pat pranešimų kodai, tačiau Vilnius Basic yra kiek bukesnis: jame nesigauna parašyti kelių operatorių vienoje eilutėje, nėra PLAY operatoriaus ir dar ten kažko. O be to, kaip ir įprasta visiems sovietiniams kompiuteriams ir programoms, dolerio ženklas yra uždraustas ir pašalintas, taip kad vietoje imperialistinio $ yra neaišku ką vaizduojantis simbolis ¤. Taip vat visokie kintamieji ir string tipo funkcijos rašomos su tuo simboliu.
Paleidžiant Basic programą (su komanda RUN), programos tekstas būdavo kompiliuojamas į pseudokodą. Pseudokodas buvo kraštutinai primityvus - tiesiog Basic funkcijų adresai, kuriais interpretatorius darydavo tų funkcijų iškvietimus, perduodamas už tų pat adresų esančius parametrus. Gaudavosi kaip ir greičiau, nei šiaip interpretatoriumi viską daryti, bet visvien kažkaip nelabai aiškiai. Gal vienintelis privalumas tebuvo toksai, kad šitaip perdirbta programa užimdavo mažiau vietos, nes tuose kompiuteriuose atminties tebūdavo keli kilobaitai.
Pats Vilnius Basic užimdinėjo atmintyje cielus 24 kilobaitus ir būdavo įrašomas hardvariškai į ROM, esantį pačiame kompe, taip kad labai tenai vietą visi taupė, tai vietoje pranešimų apie klaidas būdavo parašomi kodai tiesiog. Ir aišku, viskas kvadratinėmis raidėmis, pvz., "Ошибка 2 в строке 54".
Kita vertus, be tos į ROM įrašomos versijos, buvo dar ir mokykliniam kompiuterių tinklui skirtas variantas, kuris užimdavo 28 kilobaitus ir diskeliams skirta versija, kuri užimdavo 30 kilobaitų. Tai šitose versijose visgi pranešimai apie klaidas būdavo normalūs.
Hello World ant Vilnius Basic
Visas Hello World atrodo panašiai, kaip ir su kitomis Basic versijomis:
10 CLS 20 PRINT "Вильнюс Бейсик" 30 END
Šiaip kažkokia Basic sintaksė
Vilnius Basic reikalavo eilučių numeracijos, vienai eilutei leidžiamas būdavo tik vienas operatorius. Visi operatoriai suvedami komandinėje eilutėje. Įvedimo operatorių sąrašas pridedamas:
- RUN - programos vykdymas
- CONT - programos pratęsimas po sustabdymo
- CSAVE - išsaugoti programą magnetofono kasetėje
- CLOAD - įkelti programą iš magnetofono kasetės
- FIND - rasti programą kasetėje
- LIST - programos teksto išvedimas į ekraną
- . - programos eilutės iškvietimas redagavimui
- DELETE - programos eilutės pašalinimas
- NEW - pašalinama visa programa ir pradedama nauja
- RENUM - perskaičiuojamos programos eilutės
- AUTO - programos teksto įvedimas su automatine eilučių numeracija
- BSAVE - atminties bloko įrašymas į kasetę
- BLOAD - atminties bloko pakrovimas iš kasetės
- MONIT arba SYSTEM - išėjimas iš Basic į operacinę sistemą
Kalbos operatoriai (kableliais atskirti skirtingi tinkami to pat operatoriaus variantai), o jau ką reiškia anie, tai čia jau patys gal atsirinksite, o jei ir neatsirinksite, tai gal ir nereikia:
- BEEP, BEE
- CALL, CAL
- CIRCLE, CIR
- CLEAR, CLE
- CLOSE, CLO
- CLS
- COLOR, COL
- DATA, DAT
- DEF
- DEF FN
- DEF USR
- DIM
- DRAW, DRA
- END
- FOR
- GOSUB, GOS
- GOTO, GOT
- IF
- INPUT, INP
- KEY
- LET
- LINE, LIN
- LOCATE, LOC
- LPRINT, LPR
- ON
- OPEN, OPE
- OUT
- NEXT, NEX
- PAINT, PAI
- POKE, POK, PO
- PRESET, PRE
- PRINT, ?
- PSET, PSE
- READ, REA
- REM
- RESTORE, RES
- RETURN, RET
- SCREEN, SCR
- STOP, STO
- TROFF
- TRON
Kad būtų greičiau, tai buvo dar pagreitintas šiek tiek įvedimas visokių dalykų, pvz., įvedant operatorius, nebūtina įvesti visus, o pakanka įvesti pirmas tris raides, o jei operatorius skiriasi labai nuo kitų - tai ir dvi raides, o PRINT - išvis pakeisti į klaustuką. Taip pat numatyta konstrukcija "IF x THEN y ELSE z", taip pat ELSE IF. Maksimalus vienos teksto eilutės ilgis - 254 baitai.
Taip pat realizuotos funkcijos:
- SQR, SIN, COS, TAN, ATN, PI, EXP, LOG
- ABS, FIX, INT, SGN, RND, FRE
- CINT, CSNG, CDBL
- PEEK, INP
- BIN¤, OCT¤, HEX¤, CHR¤, ASC, LEN, STRING¤, INKEY¤
- STR¤, VAL, MID¤
- CSRLIN, POS, LPOS, EOF
- POINT
Taip pat buvo numatytas išorinių (mašininių) funkcijų iškvietimas, perskaitant per BLOAD arba tiesiogiai formuojant per POKE operatorių.
Dar reikia pasakyti, kad tenai buvo bugovas random generatorius, tai RND duodavo išties pseudorandomą, nes naudojo legendinį RANDU algoritmą, kuris labai greitas ir paprastas, bet su atsitiktiniais skaičiais išties nieko bendro neturintis, taip kad visiems tekdavo patiems rašytis kokį nors nuosavą randominį generatorių vietoje to, kad naudot būtų galima kokį nors standartinį.
Dar žr.
Čia visokių jums priešistorinių atliekų suradom iš internetų, tai jei esate hakeriai, tai gal ką nors suprasite, tik kad viskas rusiškai, tai gal ir nesuprasite:
- Kažkokia knyga apie Vilniaus Beisiką Elektronika MS-0202 ompams
- Kažkokia VU knyga apie Vilniaus Beisiką BK-0010 kompams, UTF-8
- 1985 metų sorcai BK kompui ant PDP-11 makroasemblerio (Macro-11)
- 1987 metų sorcai BK kompui ant PDP-11 makroasemblerio (Macro-11)
- Čia galit rasti kažkokį Aleksejaus Saveljevo BK emuliatorių, kur yra ir Vilnius Basic