"Naujovės" Turbo Paskalyje
Apie Paskalį parašyta nemažai knygų. Kartais ir pabosta skaityti įvairiai pateikiamas, bet vis tas pačias tiesas. Situaciją paįvairina trijų autorių - J. Blonskio, A. Vidžiūno ir J. Ziberkienės knyga "Pažintis su Turbo Paskaliu" (Kaunas, Technologija, 1997). Netikėtumai prasideda jau nuo pirmosios temos (knygoje - 12 temų). Programos "Pirmoji" (5 pusl.) paskutinė eilutė yra tokia:
"end. { Pabaigos sakinys }"
Visi iki šiol rašiusieji apie Paskalį teigė, kad žodis "end" atlieka skyrybos ženklo vaidmenį. O čia jam suteiktas sakinio statusas. Gal atsitiktinumas? Matyt, kad ne, nes tolesniuose programų pavyzdžiuose šis žodis skiriamas nuo prieš einančio sakinio kabliataškiu - taip kaip ir priimta skirti sakinius Paskalyje. Be reikalo autoriai nerašytų kabliataškių.
O kabliataškis pasirodo yra ne tik sakinių skyrybos ženklas, bet ir sakinio dalis:
"ReadLn(<Kintamojo vardas>);.
" (11 pusl.)
ir net duomenų šablono dalis:
"<Duomenų elementas>:<Bendras lauko ilgis> ;
" (11 pusl.).
Kabliataškis, žinoma, menkas daiktas. Ypač dažnai kur nereikia jų prirašo ir pradedantieji programuotojai. Šiaip sau, dėl viso ko, kai nelabai žino, kur juos dėti.
Pereikime prie stambesnių konstrukcijų.
Po programos antraštės eina
"<Aprašai>
" (5 pusl.).
Tai sena tiesa. Bet po procedūros antraštės jau:
"<lokalinių struktūrų aprašai>
" (60, 63 pusl.).
Kas tos "struktūros"? Kodėl jas galima naudoti tik procedūroje, bet ne programoje? Pasirodo, kad po ciklo sakinio antraštės gali eiti ne bet koks sakinys, o tik
"<Kreipimosi operatorius>
" (46 pusl.).
Čia ir kitur autoriai operatoriumi vadina sakinį. Yra ir kitų prieš du-tris dešimtmečius vartotų iš rusų kalbos atėjusių žodžių: išraiška (= reiškinys), ciklo parametras (= ciklo kintamasis). Bet į terminiją nesigilinkime.
Paskalis turėjo žymes, sudarytas iš skaitmenų. Turbo Paskalyje žyme gali būti ir vardas. Pasirodo, esama ir loginių (boolean) žymių (34 pusl.).
Apie simbolinių tipų reikšmes rašoma:
"... simbolių reikšmės gali būti nurodomos tiesiogiai, rašant jas
tarp kabučių, arba netiesiogiai, vartojant funkciją Chr...
" (44 pusl.).
Dar neteko girdėti, kad kas būtų išdrįsęs nurodyti reikšmę netiesiogiai, panaudojant funkciją, kurios reikšmė neapibrėžta. Funkcijos "Chr" reikšmės neapibrėžia nei Paskalis, nei Turbo Paskalis - ji priklauso nuo kodų lentelės, kuri tuo metu veikia kompiuteryje.
Pirmose programavimo kalbose (pvz. Algole-60) duomenų tipai buvo nurodomi
baziniais žodžais. Viena svarbiausių Paskalio savybių, padaranti kalbą žymiai
lankstesnę, yra ta, kad jo duomenų tipai nurodomi ne baziniais žodžiais, bet
vardais. Prie to jau buvome įpratę. Perskaičius šią knygą, teks persiorientuoti:
"Kintamųjų tipai nurodomi programavimo kalbos baziniais žodžiais
" (7 pusl.),
"Kintamųjų tipai nurodomi Paskalio kalbos baziniais žodžiais
" (10 pusl.).
Ši nuostata patvirtinama konkretesniais teiginiais:
"... šis kintamasis aprašomas baziniu žodžiu integer
" (23 pusl.);
"... baziniu žodžiu boolean
" (25, 27 pusl.);
"... baziniu žodžiu text
" (28, 31 pusl.);
"... naudojant bazinį žodį char
" (47 pusl.).
Programų pavyzdžiuose, pateiktuose 73 ir 74 pusl., kintamųjų tipai nurodomi žodžiais: "mas", "inf", "sarasas", "dok". Taigi, jeigu tikėsime tuo, kas buvo anksčiau parašyta, programuotojas pats gali kurti bazinius žodžius. O tai jau kvepia rimta revoliucija ne tik Turbo Paskalyje, bet ir programavime.
Netikėtų aiškinimų nagrinėjimą būtų galima ir pratęsti. Tačiau to, kad Paskalio duomenų tipų vardai būtų laikomi baziniais žodžiais, dar neteko girdėti.
Gintautas Grigas
'Vartiklis' siūlo paskaityti ir kitas recencijas kitoms knygoms:
S.Minkevičiaus "Abėcėlei" ir
dar viena apie tą pačią knygą bei
Darbas Microsoft Windows95 terpëje ar
VPU "Informatikos įvadui"
Gūgliška banalybė