Trochu o tom, čo si predstavovala školská 'informatika' v 90. rokoch a prečo všetci programátori boli vtedy výhradne samoukovia.

Na čom sa deti učili programovať
Na začiatku 90. rokov začali moskovské školy selektívne vybavovať triedy počítačmi. V priestoroch sa zrazu objavili mreže na oknách a ťažké železné dvere. Odtiaľ sa vynoril učiteľ informatiky (vyzeral ako najdôležitejší kamarát po riaditeľovi), ktorého hlavnou úlohou bolo dohliadať, aby nikto nič nedotýkal. Naozaj nič. Ani vchodové dvere.
V triedach sa najčastejšie dali stretnúť systémy BK-0010 (v jeho variantoch) a BK-0011M.

Foto prevzaté
Deťom hovorili o základnej konštrukcii, ako aj o desiatich príkazoch 'Baiska', aby mohli nakresliť na obrazovke čiary a kruhy. Pre mladšie a stredné triedy to asi bolo dostatočné.
S ukladaním svojich výtvorov (programov) vtedy boli osobitné problémy. Najčastejšie sa počítače pomocou monokanálových ovládačov spájali do siete s topológiou 'spoločná zbernica' a rýchlosťou prenosu 57600 bodov. Disketa bola zvyčajne jedna a často s ňou bolo problém. Niekedy fungovala, niekedy nie, raz sa sieť zasekla, inokedy disketa nebola čitateľná.
Vtedy som so sebou nosil toto dielo s kapacitou 360 kB.

Šance, že z nej znovu vytiahnem svoj program, boli asi 50-70%.
Hlavným problémom všetkých týchto príbehov s počítačmi 'BK' však boli nekonečné zadržiavania.
To sa mohlo stať v akomkoľvek okamihu, či už pri písaní kódu alebo vykonávaní programu. Zadrhnutý systém znamenal, že 45 minút času si strávil zbytočne, pretože si musel robiť všetko odznova, ale čas zostávajúcej lekcie už na to nestačil.
Kým sa blížil rok 1993, v niektorých školách a gymnáziách sa objavili normálne triedy s 286-ckami, a na niektorých miestach stáli aj 'trojky'. Čo sa týka programovacích jazykov, mali sme dva varianty: tam, kde končil 'Baisk', začínal 'Turbo Pascal'.
Programovanie v 'Turbo Pascale' na príklade 'tankov'
Na „Pascal“ sa deti učili stavať cykly, vykresľovať rôzne funkcie a pracovať s poľami. V fyzicko-matematickej triede, kde som nejaký čas „prežíval“, sa na informatiku vyčlenila jedna hodina týždenne. A dva roky tam bola táto nuda. Samozrejme, chceli sme robiť niečo serióznejšie, ako len vypisovať na obrazovku hodnoty poľa alebo nejaké sínusoidy.
Tanky
Battle City bola jednou z najpopulárnejších hier na konzolách klonoch NES (Dendy a iné).

V 1996 bola popularita 8-bitových hier na ústupe, dávno sa povaľovali v skriniach, a zdalo sa mi zaujímavé urobiť presne klon „Tankov“ pre PC. Ďalej sa bude hovoriť o tom, ako bolo treba vtedy improvizovať, aby sa na „Pascale“ vytvorilo niečo s grafikou, myšou a zvukom.

Rysovať sa dajú len paličky a krúžky
Začneme s grafikou.

V základnej verzii „Pascal“ umožňoval vykresľovať niektoré tvary, farbiť a určovať farby bodov. Najpokročilejšie procedúry v module Graph, približujúce nás k spritom, sú GetImage a PutImage. S ich pomocou sa dal zachytiť do vopred rezervovanej oblasti pamäte úsek obrazovky a potom ho použiť ako rastrový obrázok. Inými slovami, ak chcete viackrát použiť na obrazovke nejaké prvky alebo obrázky, najprv ich vykreslíte, skopírujete do pamäte, vymažete obrazovku, vykreslíte nasledujúci a tak ďalej, kým nevytvoríte v pamäti potrebnú knižnicu. Keďže všetko prebieha rýchlo, používateľ týchto trikov si ich nevšimne.
Prvý modul, kde sa použili sprity – editor máp.

V ňom bolo vyznačené herné pole. Kliknutie myšou vyvolalo menu, kde si mohol vybrať jednu zo štyroch možností prekážok. Mimochodom, o myši…
Myš – to už je koniec 90-tych rokov
Myši, samozrejme, mali všetci, ale do polovice 90-tych rokov sa s nimi pracovalo len vo Windows 3.11, grafických balíkoch a ešte v malom počte hier. V Wolfovi a Doome sa hralo len s klávesnicou. A v DOS prostredí myš ani veľmi potrebná nebola. Preto v Borland už modul práce s myšou nebol zahrnutý v štandardnej ponuke. Muselo sa hľadať medzi známymi, ktorí len krčili plecami a v odpovedi hovorili „a načo ti je?“.
Nájsť modul na sledovanie myši je len polovica úspechu. Aby mohla myš kliknúť na tlačidlá na obrazovke, museli sa nakresliť. A to v dvoch variantoch (stlačené a nestlačené). Svetlý vrch je pri nestlačenom tlačidle, zatiaľ čo pod ním je tiene. Pri stlačenom je to naopak. A nakresliť to následne na obrazovke trikrát (nestlačené, stlačené, potom znova nestlačené). Plus nezabudnúť pridať oneskorenia na zobrazenie a skryť kurzor.

Spracovanie hlavného menu v kóde vyzeralo takto:

Zvuk – iba pískanie PC reproduktora
Samostatný príbeh je so zvukom. Na začiatku deväťdesiatych rokov sa klony Sound Blaster len pripravovali na svoje víťazné ťaženie a väčšina aplikácií fungovala iba so zabudovaným reproduktorom. Maximálne možnosti jeho využitia – je súbežné prehrávanie iba jedného tónu. A práve to umožňoval Turbo Pascal. Prostredníctvom procedúry sound sa dalo „pískať“ rôznymi frekvenciami, čo stačilo na zvuky výstrelov a explózií, ale pre hudobnú znelku, čo bolo vtedy populárne, to vôbec nevyhovovalo. Nakoniec sa našlo veľmi prefíkané riešenie: v vlastnom archíve softvéru sa objavil „exe súbor“, niekedy stiahnutý z nejakej BBS. Vedel robiť zázraky – prehrávať nekomprimované wav súbory cez PC reproduktor, pričom to robil z príkazového riadku a nemal žiadne rozhranie. Všetko, čo bolo potrebné, bolo zavolať ho cez Pascalovu procedúru exec a dbať na to, aby táto konštrukcia neskolabovala.
Nakoniec sa na úvodnej obrazovke objavila chytľavá hudba, ale vznikol s tým vtipný problém. V roku 1996 som mal systém na Pentium 75, prehnanom na 90. Na ňom všetko fungovalo výborne. Na vysokých školách však, kde nám na druhý semester povolili Pascal, malo vzdelávacie triedy videli lepšie „trojky“. Na dohodu s učiteľom som si vzal na druhú hodinu tieto tanky, aby som dostal zápočet a už tam nechodil. A keď som to spustil, z reproduktora sa ozval hlasný rev v zmiešaní s burácajúcimi hltanovými zvukmi. V skratke, 33-megahertzová „trojka“ DX to nedokázala normálne prehrať ten „exe súbor“. Ale inak bolo všetko v poriadku. Samozrejme, bez spomaleného sledovania klávesnice, ktoré kazilo celý herný zážitok bez ohľadu na výkon PC.

Ale hlavný problém nie je v „Pascale“
Podľa môjho názoru sú „Tanky“ maximom, čo sa dalo vytiahnuť z Turbo Pascal bez assemblerových prídavkov. Z jasných nevýhod finálneho produktu - pomalé dotazovanie klávesnice a pomalé vykresľovanie grafiky. Situáciu zhoršovalo extrémne nízke číslo externých knižníc a modulov. Tých sa dalo spočítať na prstoch jednej ruky.
Najviac ma však znepokojoval prístup v školskom vzdelávaní. Deťom vtedy nikto nehovoril o výhodách a možnostiach iných jazykov. Na hodinách sa prakticky okamžite začalo hovoriť o begin, println a if, čo uzamklo študentov vo vnútri paradigmy BASIC-Pascal. Obe tieto jazyky sa dajú považovať výlučne za vzdelávacie. Ich „bojové“ uplatnenie - zriedkavý jav.
Prečo učiť deti falošným jazykovým formám – to je pre mňa záhada. Nech sú aj viac názorné. Nech sa niektoré varianty „Baisca“ používajú na niektorých miestach. Ale v každom prípade, ak sa človek rozhodne spojiť svoje budúce zamestnanie s programovaním, bude musieť odzačiatku študovať iné jazyky. Tak prečo by deťom nemali dávať tie isté vzdelávacie úlohy, ale už na normálnej platforme (jazyku), v rámci ktorej by sa mohli ďalej samostatne rozvíjať?
Mimochodom, o úlohách. V škole a na inštitúte boli vždy abstraktné: vypočítať to-ono, postaviť funkciu, nakresliť niečo. Navštevoval som tri rôzne školy, navyše sme mali „Pascal“ na prvom ročníku inštitútu, a ani raz nám učitelia nedali žiadnu skutočne praktickú úlohu. Napríklad vytvoriť zápisník alebo niečo užitočné. Všetko bolo vymyslené. A keď človek mesiace rieši prázdne úlohy, ktoré idú potom do koša… Skrátka, z inštitútu už ľudia vychádzajú vyčerpaní.
Mimochodom, na tretom ročníku toho istého vysokého školy nám do programu zaradili „plusy“. Zdalo sa, že ide o dobrú vec, ale ľudia boli unavení, presýtení falošnými a „vzdelávacími“ úlohami. Nadšenie, ako pri prvom pokuse, už nikto nepozoroval.
P.S. Hľadal som informácie o tom, aké jazyky sa teraz učia v školách na hodinách informatiky. Všetko je ako pred 25 rokmi: Basic, Pascal. Jednotlivé výnimky predstavuje Python.
Zdroj: habr.com
