Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Šiek tiek apie tai, kaip mokyklinis „kompiuteri mokslas“ buvo 90-aisiais ir kodėl visi programuotojai tada buvo tik savamoksliai.

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Ant ko vaikai buvo mokomi programuoti

Dešimtojo dešimtmečio pradžioje Maskvos mokyklose buvo pradėtos selektyviai įrengti kompiuterių klases. Kambariuose iš karto buvo įrengtos grotos ant langų ir sunkios geležinėmis durimis. Iš kažkur atsirado informatikos mokytojas (atrodė kaip svarbiausias bendražygis po direktoriaus), kurio pagrindinė užduotis buvo žiūrėti, kad niekas nieko neliestų. Visiškai nieko. Net priekines duris.
Klasėse dažniausiai buvo galima rasti BK-0010 (jo atmainų) ir BK-0011M sistemų.

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai
Padaryta nuotrauka taigi

Vaikams buvo pasakyta apie bendrą struktūrą, taip pat apie keliolika PAGRINDINIŲ komandų, kad jie galėtų piešti linijas ir apskritimus ekrane. Jaunesniems ir viduriniams klasėms to tikriausiai pakako.

Kilo problemų dėl savo kūrinių (programų) išsaugojimo. Dažniausiai kompiuteriai, naudojantys vieno kanalo valdiklius, buvo sujungti į tinklą su „bendra magistralės“ topologija ir 57600 bodų perdavimo greičiu. Paprastai buvo tik vienas disko įrenginys, ir dažnai su juo viskas nutikdavo ne taip. Kartais tai veikia, kartais ne, kartais tinklas užšąla, kartais diskelis yra neįskaitomas.

Tada nešiojau su savimi šį kūrinį, kurio talpa 360 kB.

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Tikimybė, kad vėl gausiu savo programą, buvo 50–70 procentų.

Tačiau pagrindinė visų šių istorijų, susijusių su BC kompiuteriais, problema buvo nesibaigiantys užšalimai.

Tai gali nutikti bet kuriuo metu, tiek įvedant kodą, tiek vykdant programą. Užšalusi sistema reiškė, kad tuščiai praleidote 45 minutes, nes... Turėjau viską daryti iš naujo, bet likusio pamokos laiko tam nebeužteko.

Arčiau 1993 metų kai kuriose mokyklose ir licėjuose atsirado normalios klasės su 286 automobiliais, o kai kur buvo net trys rubliai. Kalbant apie programavimo kalbas, buvo dvi galimybės: kur baigėsi „BASIC“, prasidėjo „Turbo Pascal“.

Programavimas "Turbo Pascal" naudojant "tankų" pavyzdį

Naudojant Pascal, vaikai buvo mokomi kurti kilpas, braižyti įvairiausias funkcijas ir dirbti su masyvais. Fizikos ir matematikos licėjuje, kur kažkada „gyvenau“, viena pora per savaitę buvo paskirta į informatiką. Ir dvejus metus ten buvo ši nuobodi vieta. Žinoma, norėjau padaryti ką nors rimtesnio, nei rodyti masyvo ar kažkokio sinusoido reikšmes ekrane.

Tankai

„Battle City“ buvo vienas populiariausių žaidimų NES klonų pultuose (Dendy ir kt.).

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

1996 m. 8 bitų populiarumas praėjo, jie jau seniai rinko dulkes spintose, ir man atrodė šaunu padaryti „Tanks“ kloną kompiuteriui kaip kažką didelio masto. Toliau tik apie tai, kaip tada reikėjo išsisukinėti, norint parašyti ką nors su grafika, pele ir garsu Pascal.

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Galite piešti tik pagaliukus ir apskritimus

Pradėkime nuo grafikos.

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Pagrindinėje versijoje Pascal leido piešti kai kurias figūras, dažyti ir nustatyti taškų spalvas. „GetImage“ ir „PutImage“ yra pažangiausios „Graph“ modulio procedūros, kurios priartina mus prie „spraite“. Jų pagalba buvo galima užfiksuoti ekrano dalį į anksčiau rezervuotą atminties sritį ir tada naudoti šią dalį kaip bitmap vaizdą. Kitaip tariant, jei norite pakartotinai panaudoti kai kuriuos elementus ar vaizdus ekrane, pirmiausia juos nupiešite, nukopijuokite į atmintį, ištrinkite ekraną, nupiešite kitą ir taip toliau, kol atmintyje sukursite norimą biblioteką. Kadangi viskas vyksta greitai, vartotojas šių gudrybių nepastebi.

Pirmasis modulis, kuriame buvo naudojami spritai, buvo žemėlapių rengyklė.

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Jame buvo pažymėta žaidimo aikštelė. Spustelėjus pelę pasirodo meniu, kuriame galite pasirinkti vieną iš keturių kliūčių parinkčių. Kalbant apie pelę...

Pelė jau 90-ųjų pabaiga

Žinoma, visi turėjo pelių, tačiau iki 90-ųjų vidurio jos buvo naudojamos tik Windows 3.11, grafikos paketuose ir nedaugelyje žaidimų. Vilkas ir Doom buvo žaidžiami tik su klaviatūra. O DOS aplinkoje pelės ne itin reikėjo. Todėl Borlandas net neįtraukė pelės modulio į standartinį paketą. Reikėjo jo ieškoti per savo pažįstamus, kurie iškėlė rankas ir sušuko atsakydami: „Kam tau jo reikia?

Tačiau rasti modulį, skirtą pelės apklausai, yra tik pusė darbo. Norint spustelėti ekrane esančius mygtukus pele, juos reikėjo nupiešti. Be to, dviem versijomis (presuota ir nespausta). Mygtukas, kuris nėra paspaustas, turi šviesų viršų ir šešėlį po juo. Paspaudus viskas atvirkščiai. Ir tada tris kartus nupieškite jį ekrane (nepaspaustas, paspaustas, tada dar kartą nespaustas). Be to, nepamirškite nustatyti rodymo delsos ir paslėpti žymeklį.

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Pavyzdžiui, pagrindinio meniu apdorojimas kodu atrodė taip:

Tanchiki Paskalyje: kaip vaikai buvo mokomi programavimo 90-aisiais ir kas tai buvo negerai

Garsas – tik kompiuterio garsiakalbis

Atskira istorija su garsu. Dešimtojo dešimtmečio pradžioje Sound Blaster klonai tik ruošėsi pergalingam žygiui, o dauguma programų veikė tik su įmontuotu garsiakalbiu. Didžiausios jo galimybės yra vienu metu atkurti tik vieną toną. Ir būtent tai leido jums padaryti Turbo Pascal. Per garso procedūrą buvo galima „girgždėti“ skirtingais dažniais, ko pakanka šūvių ir sprogimų garsams, tačiau muzikinei ekrano užsklandai, kaip tada buvo madinga, ši netiko. Dėl to buvo rastas labai gudrus sprendimas: pačios programinės įrangos archyve buvo aptiktas „exe failas“, vieną kartą atsisiųstas iš kokio nors BBS. Jis galėjo daryti stebuklus – leisti nesuspaustas bangas per kompiuterio garsiakalbį ir tai padarė iš komandinės eilutės ir neturėjo tikrosios sąsajos. Tereikėjo ją iškviesti per Pascal exec procedūrą ir įsitikinti, kad ši konstrukcija nesugriuvo.

Dėl to ekrano užsklandoje pasirodė žudikiška muzika, tačiau su ja atsitiko juokingas dalykas. 1996 m. turėjau sistemą Pentium 75, susuktą iki 90. Viskas veikė gerai. Universitete, kuriame Paskalis mums buvo įkurdintas antrame semestre, klasėje stovėjo nuvalkioti „trys rubliai“. Susitarus su mokytoja, nunešiau šiuos tankus į antrą pamoką, kad atlikčiau testą ir daugiau ten nevažiuočiau. Taigi, po paleidimo, iš garsiakalbio pasigirdo stiprus riaumojimas, sumaišytas su gurgiančiais garsais. Apskritai pasirodė, kad 33 megahercų DX „trijų rublių kortelė“ negalėjo tinkamai pasukti tos pačios „vykdomosios programos“. Bet šiaip viskas buvo gerai. Žinoma, neskaitant lėtos klaviatūros apklausos, kuri sugadino visą žaidimą, nepaisant kompiuterio našumo.

Tačiau pagrindinė problema yra ne Paskalyje

Mano supratimu, "Tankai" yra maksimumas, kurį galima išspausti iš Turbo Pascal be surinkimo įdėklų. Akivaizdūs galutinio produkto trūkumai yra lėta klaviatūros apklausa ir lėtas grafikos atvaizdavimas. Padėtį apsunkino itin mažas trečiųjų šalių bibliotekų ir modulių skaičius. Juos buvo galima suskaičiuoti ant vienos rankos pirštų.

Tačiau labiausiai mane nuliūdino požiūris į mokyklinį ugdymą. Apie kitų kalbų privalumus ir galimybes tada vaikams niekas nesakė. Klasėje jie beveik iš karto pradėjo kalbėti apie start, println ir if, o tai užrakino mokinius BASIC-Pascal paradigmoje. Abi šios kalbos gali būti laikomos išskirtinai edukacinėmis. Jų „kovinis“ naudojimas yra retas atvejis.

Kodėl mokyti vaikus netikrų kalbų, man yra paslaptis. Tegul jie būna vizualesni. Tegul čia ir ten naudojami BASIC variantai. Tačiau bet kuriuo atveju, jei žmogus nuspręs savo ateitį sieti su programavimu, jis turės mokytis kitų kalbų nuo nulio. Tad kodėl vaikams neturėtų būti skiriamos tos pačios ugdomosios užduotys, o tik įprastoje platformoje (kalboje), kurioje jie galėtų toliau tobulėti savarankiškai?

Kalbant apie užduotis. Mokykloje ir kolegijoje jie visada buvo abstraktūs: ką nors apskaičiuokite, sukonstruokite funkciją, ką nors nupieškite. Mokiausi trijose skirtingose ​​mokyklose, be to, pirmaisiais instituto kurse turėjome „Paskalį“, ir nė karto dėstytojai nekėlė jokių realių taikomųjų problemų. Pavyzdžiui, pasidarykite užrašų knygelę ar ką nors kito naudingo. Viskas buvo toli. O kai žmogus ištisus mėnesius sprendžia tuščias problemas, kurios paskui iškeliauja į šiukšlių dėžę... Apskritai žmonės jau išeina iš instituto perdegę.

Beje, trečiame to paties universiteto kurse programoje mums buvo duoti „pliusai“. Atrodė, kad tai gerai, bet žmonės buvo pavargę, pilni padirbinių ir „treniruočių“ užduočių. Niekas nebuvo toks entuziastingas kaip pirmą kartą.

PS Paieškojau Google, kokių kalbų dabar mokoma informatikos pamokose mokyklose. Viskas taip pat kaip prieš 25 metus: Basic, Pascal. Python yra atsitiktiniais inkliuzais.

Šaltinis: www.habr.com

Добавить комментарий