Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

Câteva despre cum era „informatica” școlii în anii 90 și de ce toți programatorii de atunci erau exclusiv autodidacți.

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

Pe ce copiii au fost învățați să programeze

La începutul anilor 90, școlile din Moscova au început să fie dotate selectiv cu clase de calculatoare. Camerele au fost imediat dotate cu gratii la ferestre si o usa grea placata cu fier. De undeva a apărut un profesor de informatică (arăta ca cel mai important tovarăș după director), a cărui sarcină principală era să se asigure că nimeni nu atinge nimic. Nimic. Chiar și ușa din față.
În sălile de clasă s-ar putea găsi cel mai adesea sistemele BK-0010 (în soiurile sale) și BK-0011M.

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea
Fotografie făcută prin urmare

Copiilor li s-a spus despre structura generală, precum și despre o duzină de comenzi BASIC pentru a putea desena linii și cercuri pe ecran. Pentru clasele junioare și mijlocie, acest lucru a fost probabil suficient.

Au existat unele probleme cu păstrarea creațiilor (programelor) cuiva. Cel mai adesea, computerele care foloseau controlere monocanal au fost combinate într-o rețea cu o topologie „magistrală comună” și o viteză de transmisie de 57600 baud. De regulă, exista o singură unitate de disc și lucrurile mergeau adesea prost cu ea. Uneori funcționează, alteori nu, uneori rețeaua este înghețată, alteori discheta este ilizibilă.

Am purtat apoi cu mine această creație cu o capacitate de 360 ​​kB.

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

Șansele ca să-mi scot din nou programul au fost de 50-70 la sută.

Cu toate acestea, principala problemă cu toate aceste povești cu computerele BC a fost înghețarea nesfârșită.

Acest lucru s-ar putea întâmpla în orice moment, indiferent dacă introduceți codul sau executați un program. Un sistem înghețat însemna că ai petrecut 45 de minute degeaba, pentru că... A trebuit să fac totul din nou, dar timpul de lecție rămas nu a mai fost suficient pentru asta.

Mai aproape de 1993, în unele școli și licee au apărut clase normale cu 286 de mașini, iar pe alocuri erau chiar și trei ruble. În ceea ce privește limbajele de programare, existau două opțiuni: unde s-a terminat „BASIC”, a început „Turbo Pascal”.

Programare în „Turbo Pascal” folosind exemplul „tanks”

Folosind Pascal, copiii au fost învățați să construiască bucle, să deseneze tot felul de funcții și să lucreze cu matrice. La liceul de fizică și matematică, unde am „locuit” o vreme, un cuplu pe săptămână era repartizat la informatică. Și timp de doi ani a existat acest loc plictisitor. Desigur, am vrut să fac ceva mai serios decât să afișez pe ecran valorile unei matrice sau a unui fel de sinusoid.

Tancuri

Battle City a fost unul dintre cele mai populare jocuri de pe consolele clona NES (Dendy, etc.).

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

În 1996, popularitatea celor 8 biți a trecut, strângeau de mult praf în dulapuri și mi s-a părut cool să fac o clonă de „Tanks” pentru computer ca ceva la scară largă. Următoarele sunt doar despre cum pe atunci era necesar să te eschivezi pentru a scrie ceva cu grafică, mouse și sunet pe Pascal.

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

Puteți desena doar bețe și cercuri

Să începem cu grafica.

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

În versiunea sa de bază, Pascal vă permitea să desenați niște forme, să pictați și să determinați culorile punctelor. Cele mai avansate proceduri din modulul Graph care ne apropie de sprite-uri sunt GetImage și PutImage. Cu ajutorul lor, a fost posibil să capturați o secțiune a ecranului într-o zonă de memorie rezervată anterior și apoi să utilizați această piesă ca imagine bitmap. Cu alte cuvinte, dacă doriți să refolosiți unele elemente sau imagini de pe ecran, mai întâi le desenați, le copiați în memorie, ștergeți ecranul, desenați următorul și așa mai departe până când creați biblioteca dorită în memorie. Deoarece totul se întâmplă rapid, utilizatorul nu observă aceste trucuri.

Primul modul în care s-au folosit sprite-urile a fost editorul de hărți.

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

Avea un teren de joc marcat. Făcând clic cu mouse-ul, a apărut un meniu în care puteți alege una dintre cele patru opțiuni de obstacol. Apropo de mouse...

Mouse-ul este deja la sfârșitul anilor 90

Desigur, toată lumea avea șoareci, dar până la mijlocul anilor 90 aceștia erau folosiți doar în Windows 3.11, pachete grafice și un număr mic de jocuri. Wolf și Doom se jucau doar cu tastatura. Și în mediul DOS mouse-ul nu a fost deosebit de necesar. Prin urmare, Borland nici nu a inclus modulul mouse-ului în pachetul standard. A trebuit să-l cauți prin cunoscuții tăi, care au ridicat mâinile și au exclamat ca răspuns: „Pentru ce ai nevoie de el?”

Cu toate acestea, găsirea unui modul pentru a sonda mouse-ul este doar jumătate din luptă. Pentru a face clic pe butoanele de pe ecran cu mouse-ul, acestea trebuiau desenate. Mai mult, în două versiuni (presat și nu presat). Un buton care nu este apăsat are un vârf de lumină și o umbră dedesubt. Când este apăsat, este invers. Și apoi desenați-l pe ecran de trei ori (ne apăsat, apăsat, apoi nu apăsat din nou). În plus, nu uitați să setați întârzieri pentru afișare și să ascundeți cursorul.

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

De exemplu, procesarea meniului principal în cod arăta astfel:

Tanchiki în Pascal: cum erau învățați copiii să programeze în anii 90 și ce era în neregulă cu ea

Sunet – Doar difuzor pentru PC

O poveste separată cu sunet. La începutul anilor '90, clonele Sound Blaster tocmai se pregăteau pentru marșul lor victorios, iar majoritatea aplicațiilor funcționau doar cu difuzorul încorporat. Maximul capacităților sale este reproducerea simultană a unui singur ton. Și exact asta ți-a permis Turbo Pascal să faci. Prin procedura de sunet a fost posibil să „scârțâi” cu frecvențe diferite, ceea ce este suficient pentru sunetele de împușcături și explozii, dar pentru un screensaver muzical, așa cum era la modă atunci, acest lucru nu era potrivit. Drept urmare, a fost găsită o soluție foarte vicleană: în arhiva proprie a software-ului, a fost descoperit un „fișier exe”, descărcat o singură dată de la unele BBS. Putea să facă minuni - să joace wav-uri necomprimate printr-un difuzor pentru PC și a făcut-o din linia de comandă și nu avea o interfață reală. Tot ce trebuia a fost să-l apelezi prin procedura Pascal exec și să te asiguri că această construcție nu se prăbușește.

Drept urmare, muzica ucigașă a apărut pe screensaver, dar s-a întâmplat un lucru amuzant cu ea. În 1996, aveam un sistem pe un Pentium 75, cu manivelă până la 90. Totul mergea bine pe el. La universitatea în care Pascal a fost instalat pentru noi în al doilea semestru, erau „trei ruble” bine uzate în clasă. De comun acord cu profesorul, am dus aceste tancuri la a doua lecție pentru a da un test și a nu mai merge acolo. Și așa, după lansare, din difuzor a ieșit un vuiet puternic amestecat cu sunete guturale gâlgâite. În general, „cartea de trei ruble” DX de 33 de megaherți s-a dovedit a fi incapabilă să rotească în mod corespunzător același „executable”. Dar în rest, totul era bine. Desigur, fără a lua în calcul sondarea lent de la tastatură, care a stricat întregul joc, indiferent de performanța computerului.

Dar principala problemă nu este în Pascal

După înțelegerea mea, „Tankurile” este maximul care ar putea fi stors din Turbo Pascal fără inserții de asamblare. Deficiențele evidente ale produsului final sunt sondarea lentă a tastaturii și randarea grafică lentă. Situația a fost agravată de numărul extrem de mic de biblioteci și module terțe. Ele puteau fi numărate pe degetele unei mâini.

Dar ceea ce m-a supărat cel mai mult a fost abordarea educației școlare. Nimeni nu le-a spus copiilor atunci despre avantajele și posibilitățile altor limbi. În clasă, aproape imediat au început să vorbească despre begin, println și dacă, care i-a blocat pe elevi în paradigma BASIC-Pascal. Ambele limbi pot fi considerate exclusiv educaționale. Utilizarea lor „de luptă” este o întâmplare rară.

De ce să-i înveți copiilor limbi false este un mister pentru mine. Lasă-le să fie mai vizuale. Lăsați variațiile de BASIC să fie folosite aici și acolo. Dar, în orice caz, dacă o persoană decide să-și conecteze viitorul cu programarea, va trebui să învețe alte limbi de la zero. Așadar, de ce nu ar trebui să li se dea copiilor aceleași sarcini educaționale, dar numai pe o platformă (limbă) obișnuită, în cadrul căreia s-ar putea dezvolta în continuare independent?

Apropo de sarcini. La școală și la facultate erau întotdeauna abstracte: calculați ceva, construiți o funcție, desenați ceva. Am studiat la trei școli diferite, plus că am avut „Pascal” în primul an de institut și nu o dată profesorii au pus vreo problemă aplicativă reală. De exemplu, faceți un caiet sau altceva util. Totul era exagerat. Și când o persoană petrece luni de zile rezolvând probleme goale, care apoi merg la coșul de gunoi... În general, oamenii deja pleacă arse din institut.

Apropo, în anul III al aceleiași universități, ni s-au dat „plusuri” în program. Părea un lucru bun, dar oamenii erau obosiți, plini de falsuri și sarcini de „antrenament”. Nimeni nu a fost la fel de entuziasmat ca prima dată.

PS Am căutat pe google despre ce limbi sunt predate acum la orele de informatică din școli. Totul este la fel ca acum 25 de ani: Basic, Pascal. Python vine în incluziuni sporadice.

Sursa: www.habr.com

Adauga un comentariu