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

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

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

Na čemu su djeca učena da programiraju

Početkom 90-ih moskovske škole počele su selektivno da se opremaju računarskim časovima. Sobe su odmah bile opremljene rešetkama na prozorima i teškim željeznim vratima. Odnekud se pojavi profesor informatike (izgledao je kao najvažniji drug nakon direktora), čiji je glavni zadatak bio da pazi da niko ništa ne dira. Ništa. Čak i ulazna vrata.
U učionicama se najčešće mogu naći sistemi BK-0010 (u svojim varijantama) i BK-0011M.

Tanchiki u Pascalu: kako su djecu učili programiranju 90-ih i šta nije u redu s tim
Fotografija snimljena odavde

Djeci je rečeno o opštoj strukturi, kao i o desetak OSNOVNIH komandi kako bi mogli crtati linije i krugove na ekranu. Za mlađe i srednje razrede ovo je vjerovatno bilo dovoljno.

Bilo je problema sa očuvanjem nečijih kreacija (programa). Najčešće su računari koji koriste jednokanalne kontrolere kombinovani u mrežu sa topologijom „zajedničke magistrale“ i brzinom prenosa od 57600 bauda. U pravilu je postojao samo jedan disk i s njim su stvari često išle po zlu. 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 šta nije u redu s tim

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

Međutim, glavni problem sa svim ovim pričama sa BC kompjuterima bila su beskrajna zamrzavanja.

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

Bliže 1993. u nekim školama i licejima pojavila su se normalna odeljenja sa 286 automobila, a ponegde je bilo i tri rublje. Što se tiče programskih jezika, postojale su dvije opcije: gdje je završio “BASIC”, počeo je “Turbo Pascal”.

Programiranje u "Turbo Pascalu" na primjeru "tankova"

Koristeći Pascal, djeca su učena da grade petlje, crtaju sve vrste funkcija i rade s nizovima. Na Fizičko-matematičkom liceju, gde sam jedno vreme „živeo“, jedan par nedeljno je bio raspoređen na informatike. I dvije godine je postojalo ovo dosadno mjesto. Naravno, htio sam učiniti nešto ozbiljnije od prikazivanja vrijednosti niza ili neke vrste sinusoida na ekranu.

Tenkovi

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

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

Godine 1996. popularnost 8-bita je prošla, oni su dugo skupljali prašinu po ormarima i činilo mi se kul da napravim klon “Tenkova” za PC kao nešto veliko. U nastavku se govori samo o tome kako je tada bilo potrebno izmicati da bi se nešto napisalo sa grafikom, mišem i zvukom na Pascalu.

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

Možete crtati samo štapiće i krugove

Počnimo sa grafikom.

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

U svojoj osnovnoj verziji Pascal vam je omogućio da nacrtate neke oblike, bojite i odredite boje tačaka. Najnaprednije procedure u modulu Graph koje nas približavaju spriteovima su GetImage i PutImage. Uz njihovu pomoć, bilo je moguće snimiti dio ekrana u prethodno rezervirano memorijsko područje, a zatim koristiti ovaj dio kao bitmap sliku. Drugim riječima, ako želite ponovo koristiti neke elemente ili slike na ekranu, prvo ih nacrtate, kopirate u memoriju, izbrišete ekran, nacrtate sljedeći i tako sve dok ne kreirate željenu biblioteku u memoriji. Pošto se sve dešava brzo, korisnik ne primjećuje ove trikove.

Prvi modul u kojem su korišteni sprijtovi bio je editor mapa.

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

Imao je označeno igralište. Klikom mišem otvara se meni u kojem možete odabrati jednu od četiri opcije za prepreke. Kad smo 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 Windows 3.11, grafičkim paketima i malom broju igrica. Wolf i Doom igrali su se samo sa klavijaturom. A u DOS okruženju miš nije bio posebno potreban. Stoga Borland nije čak ni uključio modul miša u standardni paket. Morali ste da ga tražite preko svojih poznanika, koji su digli ruke i uzviknuli u odgovoru: „Zašto ti je potreban?“

Međutim, pronalaženje modula za ispitivanje miša je samo pola bitke. Da bismo kliknuli mišem na dugmad na ekranu, oni su morali biti nacrtani. Štaviše, u dvije verzije (pritisnuta i ne pritisnuta). Dugme koje nije pritisnuto ima svijetli vrh i sjenu ispod njega. Kada se pritisne, obrnuto je. I onda ga nacrtajte na ekranu tri puta (nije pritisnuto, pritisnuto, pa ne pritisnuto ponovo). Osim toga, ne zaboravite postaviti odgode za prikaz i sakriti kursor.

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

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

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

Zvuk – samo PC zvučnik

Zasebna priča sa zvukom. Početkom devedesetih, klonovi Sound Blastera su se upravo pripremali za svoj pobjednički marš, a većina aplikacija radila je samo sa ugrađenim zvučnikom. Maksimum njegovih mogućnosti je istovremena reprodukcija samo jednog tona. A to je upravo ono što vam je Turbo Pascal dozvolio. Kroz zvučnu proceduru bilo je moguće „škripati“ različitim frekvencijama, što je dovoljno za zvukove pucnjave i eksplozije, ali za muzički screensaver, kako je tada bilo moderno, to nije odgovaralo. Kao rezultat toga, pronađeno je vrlo lukavo rješenje: u vlastitoj arhivi softvera otkrivena je "exe datoteka", preuzeta jednom sa nekog BBS-a. Mogao je činiti čuda - puštati nekompresovane wav-ove preko PC zvučnika, i to je radio iz komandne linije i nije imao stvarni interfejs. Sve što je bilo potrebno bilo je prozvati ga kroz Pascal exec proceduru i osigurati da se ova konstrukcija ne sruši.

Kao rezultat toga, ubilačka muzika se pojavila na screensaveru, ali se s njom dogodila smiješna stvar. Godine 1996. imao sam sistem na Pentiumu 75, koji je bio podigao do 90. Na njemu je sve dobro funkcionisalo. Na univerzitetu gdje nam je Pascal instaliran u drugom semestru, u učionici su bile pohabane „tri rublje“. Po dogovoru sa učiteljicom, ove tenkove sam odneo na drugu lekciju da uradim test i ne idem više tamo. I tako, nakon lansiranja, iz zvučnika se čula glasna rika pomiješana sa grkljanjem grlenih zvukova. Općenito, pokazalo se da 33-megaherca DX "kartica od tri rublje" nije u stanju da pravilno okreće tu istu "izvršnu datoteku". Ali inače je sve bilo u redu. Naravno, ne računajući sporo ispitivanje tastature, koje je pokvarilo čitav gameplay, bez obzira na performanse računara.

Ali glavni problem nije u Pascalu

Po mom shvaćanju, “Tenkovi” su maksimum koji se može istisnuti iz Turbo Pascal-a bez montažnih umetaka. Očigledni nedostaci finalnog proizvoda su sporo ispitivanje tastature i sporo renderovanje grafike. Situaciju je pogoršao izuzetno mali broj biblioteka i modula trećih strana. Mogli su se izbrojati na prste jedne ruke.

Ali ono što me najviše uznemirilo je pristup školskom obrazovanju. Tada djeci niko nije govorio o prednostima i mogućnostima drugih jezika. Na času su skoro odmah počeli pričati o start, println i if, što je učenike zaključalo unutar BASIC-Pascal paradigme. Oba ova jezika mogu se smatrati isključivo obrazovnim. Njihova "borbena" upotreba je rijetka pojava.

Zašto djecu učiti lažnim jezicima za mene je misterija. Neka budu vizuelnije. 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 naučiti druge jezike ispočetka. Pa zašto se djeci ne bi zadavali isti obrazovni zadaci, ali samo na normalnoj platformi (jeziku), u okviru koje bi se mogli dalje samostalno razvijati?

Govoreći o zadacima. U školi i na fakultetu su uvijek bili apstraktni: izračunati nešto, konstruirati funkciju, nacrtati nešto. Učio sam u tri različite škole, plus imali smo "Paskala" na prvoj godini instituta, i ni jednom nastavnici nisu predstavljali pravi 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 iz instituta već izlaze pregorjeli.

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

PS Guglao sam koji se jezici sada uče na časovima informatike u školama. Sve je isto kao prije 25 godina: Basic, Pascal. Python dolazi u sporadičnim inkluzijama.

izvor: www.habr.com

Dodajte komentar