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

Malo o tome kako je školska "informatika" izgledala devedesetih i zašto su svi programeri tada bili isključivo samouki.

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

Na čemu su učili da programiraju djecu

Početkom devedesetih, moskovske škole su počele selektivno opremati učionice računalima. U prostorijama su odmah postavljane rešetke na prozore i teška vrata obložena željezom. Odnekud se pojavio učitelj informatike ( izgledao je kao najvažniji čovjek nakon direktora) čija je glavna zadaća bila paziti da nitko ništa ne dira. Uopće ništa. Čak ni ulazna vrata.
U učionicama se najčešće mogla sresti računala BK-0010 (u njegovim varijantama) i BK-0011M.

Tanki na Pascalu: kako su učili djecu programiranju 90-ih i što nije bilo u redu s tim.
Slika preuzeta odavde

Djeca su učila o općoj konstrukciji, kao i desetak naredbi "Baisika", kako bi mogli nacrtati linije i krugove na ekranu. Za niže i srednje razrede, vjerojatno je to bilo dovoljno.

S spremanjem svojih kreacija (programa) tada su bili posebni problemi. Najčešće su se računala pomoću kontrolera monokanalne mreže povezivala u mrežu s topologijom "zajednička sabirnica" i brzinom prijenosa od 57600 bita. Disketa je obično bila jedna i često je bilo problema s njom. Ponekad radi, ponekad ne, ponekad se mreža sruši, a disketa se ne može pročitati.

Tada sam nosio sa sobom ovo djelo kapaciteta 360 kB.

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

Šanse da ću opet izvući svoj program s nje bile su između 50 i 70 posto.

Međutim, glavni problem svih ovih priča o računalima "BK" bili su beskonačni zastoji.

To se moglo dogoditi u bilo kojem trenutku, bio to unos koda ili izvršavanje programa. Zastajanje sustava značilo je da si 45 minuta vremena potrošio uzalud, jer si morao sve raditi ispočetka, a preostalo vrijeme lekcije nije bilo dovoljno za to.

Krajem 1993. godine u nekim školama i licejima počeli su se pojavljivati normalni razredi s 286 računalima, a nekad su bile čak i "trice". Što se tiče programskih jezika, bila su dva izbora: tamo gdje je završavao "Baisik", počinjao je "Turbo Pascal".

Programiranje na "Turbo Pascalu" na primjeru "tenkova"

Na 'Pascalu' djeca su učila kako graditi petlje, crtati razne funkcije, raditi s nizovima. U fizičko-matematičkoj gimnaziji, gdje sam neko vrijeme 'boravio', informatica je imala jedan sat tjedno. Dvije godine su se tu odvijale ovakve dosadne stvari. Naravno, želio sam napraviti nešto ozbiljnije od ispisivanja vrijednosti niza ili neke sinusoidne funkcije.

Tanjurići

Battle City bila je jedna od najpopularnijih igara na konzolama klonovima NES (Dendy i dr.).

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

Godine 1996. popularnost 8-bitnih konzola je prošla, godinama su stajale u ormarima, i činilo mi se zabavno napraviti baš klon 'Tanjurića' za PC. Dalje je priča o tome kako se tada trebalo snaći kako bi se na 'Pascalu' izradila nešto s grafikom, mišem i zvukom.

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

Možete crtati samo štapiće i kružiće

Započnimo s grafikom.

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

U osnovnoj verziji 'Pascal' je omogućavao crtanje nekih figura, bojenje i određivanje boja pikselima. Najnaprednije procedure u Graph modu, koje su nas približile spritovima, su GetImage i PutImage. Pomoću njih mogli smo hvatanje unaprijed rezerviranog dijela memorije ekrana, a potom koristiti taj dio kao rasteriziranu sliku. Drugim riječima, ako želite višekratno koristiti neke elemente ili slike na ekranu, prvo ih nacrtate, kopirate u memoriju, brišete ekran, crtate sljedeće i tako do trenutka dok ne stvorite potrebnu biblioteku u memoriji. Budući da se sve odvija brzo, korisnik tih trikova ne primjećuje.

Prvi modul u kojem su korišteni spritovi – urednik karata.

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

Imalo je označeno igralište. Klik na miš pozivao je izbornik u kojem ste mogli odabrati jednu od četiri vrste prepreka. Usput o mišu...

Miš – to je već kraj 90-ih

Miševi su, naravno, imali svi, ali do sredine 90-ih koristili su se uglavnom samo u Windows 3.11, grafičkim paketima i još nekolicini igara. U Wolfu i Doomu se igralo samo s tipkovnicom. Čak ni u DOS okruženju miš nije bio posebno potreban. Stoga u Borlandu modul za rad s mišem nije bio uključен u standardnu ponudu. Trebalo ga je tražiti od poznanika koji su slegli ramenima i odgovorili: 'Zašto ti to treba?'.

Međutim, pronaći modul za anketu miša je samo pola posla. Da bi se mišem kliknulo na ikone na ekranu, trebali su ih nacrtati. Osim toga, u dvije verzije (pritisnuta i nepritisnuta). Nepritisnuta tipka ima svijetlu površinu, dok ispod nje postoji sjena. Pritisnuta tipka je obrnuta. I zatim ih nacrtati na ekranu tri puta (nepritisnuta, pritisnuta, pa opet nepritisnuta). Plus, ne zaboravite postaviti kašnjenja za prikaz, pa i sakriti kursor.

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

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

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

Zvuk – samo sirena PC zvučnika

Odvojena priča je sa zvukom. Na početku devedesetih klonovi Sound Blastera tek su se pripremali za svoje pobjedničko kretanje, a većina aplikacija radila je samo sa ugrađenim zvučnikom. Maksimalne mogućnosti ovog zvučnika - simultano reprodukovanje samo jednog tona. I upravo je to omogućavao Turbo Pascal. Putem procedure sound moglo se 'zvrcniti' raznim frekvencijama, što je bilo dovoljno za zvukove pucanja i eksplozija, ali to nije odgovaralo za muzičku špicu, što je tada bilo popularno. Na kraju su našli vrlo pametno rješenje: u vlastitom arhivu softvera otkriven je 'ekzesh', preuzet nekada s neke BBS-a. Mogao je činiti čuda – reprodukovati nekomprimirane wav datoteke preko PC zvučnika, pri čemu je to radio iz komandne linije i nije imao vlastiti interfejs. Sve što je trebalo bilo je pozvati ga putem Pascalove procedure exec i paziti da ta konstrukcija ne propadne.

Na kraju se glasna muzika na špici pojavila, ali s njom je došla zanimljiva stvar. 1996. godine imao sam sistem na Pentium 75, overclockiran na 90. Na tom je sve radilo savršeno. Međutim, na fakultetu, gdje su nam u drugom semestru postavili Pascal, u učionici su bile stare 'trojke'. Po dogovoru s profesorom, ponio sam na drugo predavanje te tenkove, kako bih dobio certifikat i više ne išao tamo. I tako, nakon pokretanja, iz zvučnika se čuo glasan režanje pomiješan s gurgavi zvukovima. Ukratko, 33-megahercna 'trojka' nije mogla normalno vrtjeti onaj 'ekzesh'. Ali sve ostalo je bilo u redu. Naravno, ne računajući usporeno ispitivanje tipkovnice, koje je kvarilo cijelo igranje neovisno o performansama PC-a.

Pogledajte video

Ali glavni problem nije bio u 'Paskalu'

Prema mojemu mišljenju, "Tanki" predstavljaju maksimum onoga što se moglo izvući iz Turbo Pascala bez sastavljanja u assembleru. Među očitim nedostacima konačnog proizvoda su spora registracija tipkovnice i sporo prikazivanje grafike. Situaciju je dodatno pogoršavalo jako malo dostupnih vanjskih biblioteka i modula. Njih se moglo prebrojati na prste jedne ruke.

No, najviše me razočarala taktika u školskom obrazovanju. Djeca nisu bila upoznata s prednostima i mogućnostima drugih jezika. Na satovima se gotovo odmah počelo govoriti o begin, println i if, što je zatvorilo učenike unutar temelja basic-pascal paradigme. Ova dva jezika mogu se smatrati isključivo nastavnim. Njihova 'borbena' primjena rijetka je pojava.

Zašto učiti djecu lažnim jezicima, meni je zagonetka. Neka su vizualno privlačniji. Neka se različite varijante 'Baisca' koriste na nekim mjestima. No, u svakom slučaju, ako netko odluči posvetiti svoju budućnost programiranju, morat će učiti druge jezike od nule. Zašto djeci ne postaviti iste akademske izazove, ali na pravoj platformi (jeziku) koja će im omogućiti daljnji samostalni razvoj?

Usput o izazovima. U školi i na fakultetu, oni su uvijek bili apstraktni: izračunati to, izgraditi funkciju, nacrtati nešto. Pohađao sam tri različite škole, a na prvom semestru fakulteta imali smo 'Pascal', i nijednom nisu postavljali ni približno stvarne praktične zadatke. Primjerice, izraditi bilježnicu ili nešto korisno. Sve je to bilo izmišljeno. A kada čovjek mjesecima rješava prazne zadatke koji kasnije idu u smeće... Ukratko, iz fakulteta ljudi izlaze iscrpljeni.

Usput, na trećem semestru istog fakulteta dodali su nam 'plusove' u program. Iako se činilo da je to dobra stvar, ljudi su bili umorni, siti lažnih izazova i 'nastavnih' zadataka. Entuzijazam, poput onog prvog puta, kod nikoga nije bio prisutan.

P.S. Potražio sam informacije o tome koji se jezici trenutno podučavaju u školama na predmetima informatike. Sve je kao prije 25 godina: Basic, Pascal. S neznatnim dodacima dolazi Python.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster