Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

Lidt om, hvordan skolens "datalogi" var i 90'erne, og hvorfor alle programmører dengang udelukkende var autodidakt.

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

Hvad børn blev lært at programmere på

I begyndelsen af ​​90'erne begyndte Moskva-skoler at blive selektivt udstyret med computerklasser. Værelserne blev straks udstyret med sprosser for vinduerne og en tung jernbeklædt dør. Et sted fra dukkede en datamatikerlærer op (han lignede den vigtigste kammerat efter direktøren), hvis hovedopgave var at sørge for, at ingen rørte ved noget. Ingenting overhovedet. Selv hoveddøren.
I klasseværelser kunne man oftest finde BK-0010 (i dens varianter) og BK-0011M systemerne.

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det
Foto taget dermed

Børnene blev fortalt om den generelle struktur, samt omkring et dusin BASIC kommandoer, så de kunne tegne streger og cirkler på skærmen. For junior- og mellemklasser var det nok nok.

Der var nogle problemer med at bevare ens kreationer (programmer). Oftest blev computere, der bruger mono-kanal controllere, kombineret til et netværk med en "fælles bus" topologi og en transmissionshastighed på 57600 baud. Som regel var der kun et diskdrev, og det gik ofte galt med det. Nogle gange virker det, nogle gange gør det ikke, nogle gange er netværket frosset, nogle gange er disketten ulæselig.

Jeg tog så denne kreation med mig med en kapacitet på 360 kB.

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

Chancerne for, at jeg ville få mit program ud af det igen, var 50-70 procent.

Men det største problem med alle disse historier med BC-computere var endeløse fastfrysninger.

Dette kan ske når som helst, uanset om du skriver kode eller udfører et program. Et frosset system betød, at du brugte 45 minutter forgæves, fordi... Jeg var nødt til at gøre alt igen, men den resterende lektionstid var ikke længere nok til dette.

Tættere på 1993, i nogle skoler og lyceums, dukkede normale klasser op med 286 biler, og nogle steder var der endda tre rubler. Med hensyn til programmeringssprog var der to muligheder: hvor "BASIC" sluttede, begyndte "Turbo Pascal".

Programmering i "Turbo Pascal" ved hjælp af eksemplet med "tanke"

Ved hjælp af Pascal blev børn lært at bygge sløjfer, tegne alle mulige funktioner og arbejde med arrays. På fysik- og matematiklyceumet, hvor jeg "boede" i et stykke tid, blev et par om ugen tildelt datalogi. Og i to år var der dette kedelige sted. Selvfølgelig ville jeg gøre noget mere seriøst end at vise værdierne af et array eller en slags sinusoid på skærmen.

Tanks

Battle City var et af de mest populære spil på NES-klonekonsoller (Dendy osv.).

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

I 1996 var populariteten af ​​8-bit passeret, de havde længe samlet støv i skabene, og det virkede fedt for mig at lave en klon af "Tanks" til pc'en som noget storstilet. Det følgende handler bare om, hvordan det dengang var nødvendigt at undvige for at skrive noget med grafik, mus og lyd på Pascal.

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

Du kan kun tegne pinde og cirkler

Lad os starte med grafik.

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

I sin grundlæggende version tillod Pascal dig at tegne nogle former, male og bestemme farverne på punkter. De mest avancerede procedurer i Graph-modulet, der bringer os tættere på sprites, er GetImage og PutImage. Med deres hjælp var det muligt at fange en del af skærmen i et tidligere reserveret hukommelsesområde og derefter bruge dette stykke som et bitmapbillede. Med andre ord, hvis du vil genbruge nogle elementer eller billeder på skærmen, tegner du dem først, kopierer dem til hukommelsen, sletter skærmen, tegner det næste, og så videre, indtil du opretter det ønskede bibliotek i hukommelsen. Da alt sker hurtigt, bemærker brugeren ikke disse tricks.

Det første modul, hvor sprites blev brugt, var korteditoren.

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

Den havde en markant spilleplads. Ved at klikke med musen åbnes en menu, hvor du kan vælge en af ​​fire forhindringsmuligheder. Apropos musen...

Musen er allerede i slutningen af ​​90'erne

Selvfølgelig havde alle mus, men indtil midten af ​​90'erne blev de kun brugt i Windows 3.11, grafikpakker og et lille antal spil. Wolf og Doom blev kun spillet med keyboardet. Og i DOS-miljøet var musen ikke særlig nødvendig. Derfor inkluderede Borland ikke engang musemodulet i standardpakken. Du var nødt til at lede efter ham gennem dine bekendte, som rakte hænderne op og udbrød som svar: "Hvad har du brug for ham til?"

Men at finde et modul til at polle musen er kun halvdelen af ​​kampen. For at kunne klikke på skærmknapperne med musen, skulle de tegnes. Desuden i to versioner (trykket og ikke trykket). En knap, der ikke trykkes på, har en lys top og en skygge under sig. Når der trykkes, er det omvendt. Og tegn det så på skærmen tre gange (ikke trykket, trykket, så ikke trykket igen). Plus, glem ikke at indstille forsinkelser for visning og skjule markøren.

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

For eksempel så behandlingen af ​​hovedmenuen i kode sådan ud:

Tanchiki i Pascal: hvordan børn blev undervist i programmering i 90'erne, og hvad var der galt med det

Lyd – kun PC-højttaler

En separat historie med lyd. I begyndelsen af ​​halvfemserne var Sound Blaster-kloner netop ved at forberede deres sejrsmarch, og de fleste applikationer fungerede kun med den indbyggede højttaler. Det maksimale af dens muligheder er den samtidige gengivelse af kun én tone. Og det er præcis, hvad Turbo Pascal tillod dig at gøre. Gennem lydproceduren var det muligt at "knive" med forskellige frekvenser, hvilket er nok til lyden af ​​skud og eksplosioner, men til en musikalsk pauseskærm, som det var på mode dengang, var dette ikke egnet. Som et resultat blev der fundet en meget snedig løsning: I softwarens eget arkiv blev en "exe-fil" opdaget, downloadet én gang fra nogle BBS. Han kunne udføre mirakler - spille ukomprimerede wavs gennem en pc-højttaler, og han gjorde det fra kommandolinjen og havde ikke en egentlig grænseflade. Det eneste, der skulle til, var at kalde det gennem Pascal exec-proceduren og sørge for, at denne konstruktion ikke kollapsede.

Som et resultat dukkede den dræbende musik op på pauseskærmen, men der skete en sjov ting med den. I 1996 havde jeg et system på en Pentium 75, skruet op til 90. Alt fungerede fint på det. På universitetet, hvor Pascal blev installeret for os i andet semester, var der slidte "tre rubler" i klasseværelset. Efter aftale med læreren tog jeg disse tanks med til anden lektion for at få en prøve og ikke gå der igen. Og så efter lanceringen kom et højt brøl blandet med gurglende gutturale lyde ud af højttaleren. Generelt viste det sig, at 33-megahertz DX "tre-rubel-kortet" ikke var i stand til at dreje den samme "eksekverbare" korrekt. Men ellers var alt godt. Selvfølgelig ikke medregnet den langsomme tastaturafstemning, som spolerede hele gameplayet, uanset pc-ydelsen.

Men hovedproblemet ligger ikke i Pascal

Efter min forståelse er "Tanks" det maksimale, der kunne presses ud af Turbo Pascal uden samleindsatser. De åbenlyse mangler ved det endelige produkt er langsom tastaturafstemning og langsom grafikgengivelse. Situationen blev forværret af det ekstremt lille antal tredjepartsbiblioteker og -moduler. De kunne tælles på den ene hånds fingre.

Men det, der forstyrrede mig mest, var tilgangen til skoleundervisningen. Ingen fortalte børn dengang om fordelene og mulighederne ved andre sprog. I klassen begyndte de næsten med det samme at tale om start, println og if, hvilket låste eleverne inde i BASIC-Pascal-paradigmet. Begge disse sprog kan betragtes som udelukkende uddannelsesmæssige. Deres "kamp" brug er en sjælden begivenhed.

Hvorfor lære børn falske sprog er et mysterium for mig. Lad dem være mere visuelle. Lad variationer af BASIC bruges her og der. Men under alle omstændigheder, hvis en person beslutter sig for at forbinde sin fremtid med programmering, bliver han nødt til at lære andre sprog fra bunden. Så hvorfor skulle børn ikke have de samme pædagogiske opgaver, men kun på en normal platform (sprog), inden for hvilken de kunne udvikle sig selvstændigt?

Apropos opgaver. I skole og college var de altid abstrakte: beregn noget, konstruer en funktion, tegn noget. Jeg studerede på tre forskellige skoler, plus vi havde "Pascal" i det første år af instituttet, og ikke en eneste gang udgjorde lærerne noget reelt anvendt problem. Lav for eksempel en notesbog eller noget andet nyttigt. Alt var langt ude. Og når en person bruger måneder på at løse tomme problemer, som så går i skraldespanden... Generelt går folk allerede udbrændt fra instituttet.

Forresten, på det tredje år på det samme universitet fik vi "pluser" i programmet. Det virkede som en god ting, men folk var trætte, fulde af forfalskninger og "træningsopgaver". Ingen var så begejstrede som første gang.

PS Jeg googlede om, hvilke sprog der nu undervises i i datalogiske klasser i skolerne. Alt er det samme som for 25 år siden: Basic, Pascal. Python kommer i sporadiske indeslutninger.

Kilde: www.habr.com

Tilføj en kommentar