Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Malo o tome kakva je bila školska “informatika” 90-ih i zašto su tada svi programeri bili isključivo samouki.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Na čemu su djecu učili programirati

Početkom 90-ih moskovske škole počele su selektivno opremati računalnim razredima. Sobe su odmah opremljene rešetkama na prozorima i teškim željeznim vratima. Odnekud se pojavio profesor informatike (izgledao je kao najvažniji drug nakon direktora), čija je glavna zadaća bila paziti da nitko ništa ne dira. Baš ništa. Čak i ulazna vrata.
U učionicama se najčešće mogu naći sustavi BK-0010 (u svojim varijantama) i BK-0011M.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim
Slika snimljena stoga

Djeci je rečeno o općoj strukturi, kao io desetak BASIC naredbi kako bi mogli crtati linije i krugove na ekranu. Za mlađe i srednje razrede ovo je vjerojatno bilo dovoljno.

Bilo je problema sa očuvanjem nečijih kreacija (programa). Najčešće su računala koja koriste jednokanalne kontrolere kombinirana u mrežu s topologijom "zajedničke sabirnice" i brzinom prijenosa od 57600 bauda. U pravilu je postojao samo jedan diskovni pogon i s njim je često bilo loše. Ponekad radi, ponekad ne, ponekad je mreža zamrznuta, ponekad je disketa nečitljiva.

Tada sam sa sobom nosio ovu kreaciju kapaciteta 360 kB.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Šanse da ću ponovno izvući svoj program iz toga bile su 50-70 posto.

No, glavni problem svih tih priča s BC računalima bila su beskrajna zamrzavanja.

To se može dogoditi u bilo kojem trenutku, bilo da se upisuje kod ili izvršava program. Zamrznut sustav značio je da ste uzalud potrošili 45 minuta, jer... Morao sam sve ponoviti, ali preostalo vrijeme više nije bilo dovoljno za to.

Bliže 1993., u nekim školama i licejima pojavili su se normalni razredi s 286 automobila, a na nekim mjestima čak i tri rublja. Što se tiče programskih jezika, postojale su dvije opcije: tamo gdje je završavao “BASIC” počinjao je “Turbo Pascal”.

Programiranje u "Turbo Pascalu" na primjeru "tenkova"

Koristeći Pascal, djecu su učili graditi petlje, crtati sve vrste funkcija i raditi s nizovima. U fizikalno-matematičkom liceju, gdje sam neko vrijeme “živjela”, jedan par tjedno bio je raspoređen na informatiku. I dvije godine postojalo je ovo dosadno mjesto. Naravno, želio sam učiniti nešto ozbiljnije od prikazivanja vrijednosti niza ili neke vrste sinusoide na ekranu.

Spremnici

Battle City je bila jedna od najpopularnijih igara na NES klon konzolama (Dendy, itd.).

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Godine 1996. popularnost 8-bitnih je prošla, dugo su skupljali prašinu u ormarima, i činilo mi se cool napraviti klon "Tanks" za PC kao nešto veliko. Slijedi upravo o tome kako je tada bilo potrebno ciknuti da bi se nešto napisalo grafikom, mišem i zvukom na Pascalu.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Možete crtati samo štapiće i krugove

Počnimo s grafikom.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

U svojoj osnovnoj verziji, Pascal vam je omogućio crtanje nekih oblika, bojanje i određivanje boja točaka. Najnaprednije procedure u Graph modulu koje nas približavaju spriteovima su GetImage i PutImage. Uz njihovu pomoć, bilo je moguće snimiti dio zaslona u prethodno rezervirano memorijsko područje i zatim koristiti taj dio kao bitmap sliku. Drugim riječima, ako želite ponovno upotrijebiti neke elemente ili slike na ekranu, prvo ih nacrtajte, kopirajte u memoriju, izbrišite ekran, nacrtajte sljedeću i tako dalje dok ne stvorite željenu biblioteku u memoriji. Budući da se sve događa brzo, korisnik ne primjećuje ove trikove.

Prvi modul u kojem su korišteni spriteovi bio je uređivač karte.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Imao je označeno igralište. Klikom miša otvara se izbornik u kojem možete odabrati jednu od četiri opcije prepreka. Kad smo već kod miša...

Miš je već kraj 90-ih

Naravno, svi su imali miševe, ali do sredine 90-ih koristili su se samo u Windowsima 3.11, grafičkim paketima i malom broju igara. Wolf i Doom su igrani samo s tipkovnicom. A u DOS okruženju miš nije bio osobito potreban. Stoga Borland nije niti uključio modul miša u standardni paket. Morali ste ga tražiti preko svojih poznanika, koji su digli ruke i uzviknuli: "Što će vam on?"

Međutim, pronaći modul za ispitivanje miša samo je pola bitke. Kako bi mišem kliknuli gumbe na ekranu, morali su ih nacrtati. Štoviše, u dvije verzije (prešana i neprešana). Gumb koji nije pritisnut ima svijetli vrh i sjenu ispod njega. Kad se pritisne, obrnuto je. Zatim ga nacrtajte na ekranu tri puta (ne pritisnuti, pritisnuti, pa opet ne pritisnuti). Osim toga, ne zaboravite postaviti odgode za prikaz i sakriti kursor.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Na primjer, obrada glavnog izbornika u kodu izgledala je ovako:

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i što nije bilo u redu s tim

Zvuk – samo PC zvučnik

Posebna priča sa zvukom. Početkom devedesetih klonovi Sound Blastera tek su se pripremali za svoj pobjednički pohod, a većina aplikacija radila je samo s ugrađenim zvučnikom. Maksimum njegovih mogućnosti je istovremena reprodukcija samo jednog tona. I to je upravo ono što vam je Turbo Pascal omogućio. Kroz zvučnu proceduru bilo je moguće "škripati" različitim frekvencijama, što je dovoljno za zvukove pucnjeva i eksplozija, ali za glazbeni screensaver, kako je tada bilo moderno, to nije bilo prikladno. Kao rezultat toga, pronađeno je vrlo lukavo rješenje: u vlastitoj arhivi softvera otkrivena je "exe datoteka", preuzeta jednom s nekog BBS-a. Mogao je činiti čuda - reproducirati nekomprimirane wavove preko PC zvučnika, a radio je to iz naredbenog retka i nije imao stvarno sučelje. Sve što je bilo potrebno je pozvati ga kroz Pascal exec proceduru i osigurati da se ova konstrukcija ne sruši.

Kao rezultat toga, ubojita glazba pojavila se na screensaveru, ali s njom se dogodila smiješna stvar. Godine 1996. imao sam sustav na Pentiumu 75, dignut na 90. Sve je na njemu radilo dobro. Na sveučilištu gdje su nam u drugom semestru instalirali Pascal, u učionici su bile izlizane “tri rublje”. Po dogovoru s učiteljicom, ove tenkove sam odnio na drugi sat kako bih dobio test i više tamo ne išao. I tako, nakon lansiranja, iz zvučnika se začuo glasan urlik pomiješan s grgljajućim grlenim zvukovima. Općenito, pokazalo se da DX "kartica od tri rublje" od 33 megaherca nije u stanju ispravno vrtjeti tu istu "izvršnu datoteku". Ali inače je sve bilo u redu. Naravno, ne računajući sporo prozivanje tipkovnice, koje je kvarilo cijeli gameplay, bez obzira na performanse računala.

Ali glavni problem nije u Pascalu

Po mom razumijevanju, "Spremnici" su maksimum koji bi se mogao izvući iz Turbo Pascala bez montažnih umetaka. Očigledni nedostaci konačnog proizvoda su sporo prozivanje tipkovnice i sporo renderiranje grafike. Situaciju je pogoršao izuzetno mali broj biblioteka i modula trećih strana. Mogli su se nabrojati na prste jedne ruke.

Ali najviše me uzrujao pristup školskom obrazovanju. Djeci tada nitko nije govorio o prednostima i mogućnostima drugih jezika. U razredu su gotovo odmah počeli razgovarati o begin, println i if, što je učenike zatvorilo unutar paradigme BASIC-Pascal. Oba ova jezika mogu se smatrati isključivo obrazovnim. Njihova "borbena" uporaba je rijetka pojava.

Zašto učiti djecu lažnim jezicima za mene je misterij. Neka budu vizualniji. Neka se tu i tamo koriste varijacije BASIC-a. Ali, u svakom slučaju, ako osoba odluči svoju budućnost povezati s programiranjem, morat će učiti druge jezike od nule. Pa zašto onda djeci ne bi davali iste obrazovne zadatke, ali samo na normalnoj platformi (jeziku), unutar koje bi se mogli dalje samostalno razvijati?

Kad smo već kod zadataka. U školi i na fakultetu uvijek su bili apstraktni: izračunaj nešto, konstruiraj funkciju, nacrtaj nešto. Studirao sam u tri različite škole, a imali smo i “Pascal” na prvoj godini instituta, a nastavnici niti jednom nisu postavili nikakav pravi primijenjeni problem. Na primjer, napravite bilježnicu ili nešto drugo korisno. Sve je bilo nategnuto. A kad čovjek mjesecima rješava prazne probleme, koji onda odu u smeće... Uglavnom, ljudi već izađu s instituta izgorjeli.

Inače, na trećoj godini istog sveučilišta dobili smo “plusove” u programu. Činilo se kao dobra stvar, ali ljudi su bili umorni, puni lažnjaka i “trening” zadataka. Nitko nije bio toliko oduševljen kao prvi put.

PS Guglao sam o tome koji se jezici sada uče na satovima informatike u školama. Sve je isto kao prije 25 godina: Bašić, Pascal. Python dolazi u sporadičnim inkluzijama.

Izvor: www.habr.com

Dodajte komentar