Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

Litt om hvordan skolens "informatikk" var på 90-tallet, og hvorfor alle programmerere da utelukkende var selvlærte.

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

Hva barna ble lært opp til å programmere på

På begynnelsen av 90-tallet begynte Moskva-skoler å bli selektivt utstyrt med dataklasser. Rommene ble umiddelbart utstyrt med sprosser på vinduene og en tung jernkledd dør. Fra et sted dukket det opp en informatikklærer (han så ut som den viktigste kameraten etter regissøren), hvis hovedoppgave var å sørge for at ingen rørte noe. Ingenting i det hele tatt. Til og med inngangsdøren.
I klasserom kunne man oftest finne systemene BK-0010 (i sine varianter) og BK-0011M.

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det
Bildet er tatt derav

Barna ble fortalt om den generelle strukturen, samt et titalls GRUNNLEGGENDE kommandoer slik at de kunne tegne linjer og sirkler på skjermen. For ungdoms- og mellomtrinn var nok dette nok.

Det var noen problemer med å bevare ens kreasjoner (programmer). Oftest ble datamaskiner som bruker monokanalkontrollere kombinert til et nettverk med en "felles buss" -topologi og en overføringshastighet på 57600 baud. Som regel var det bare én diskstasjon, og det gikk ofte galt med den. Noen ganger fungerer det, noen ganger ikke, noen ganger er nettverket frosset, noen ganger er disketten uleselig.

Jeg hadde da med meg denne kreasjonen med en kapasitet på 360 kB.

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

Sjansen for at jeg skulle få programmet mitt ut av det igjen var 50-70 prosent.

Hovedproblemet med alle disse historiene med BC-datamaskiner var imidlertid endeløse fryser.

Dette kan skje når som helst, enten du skriver kode eller kjører et program. Et frossent system gjorde at du brukte 45 minutter forgjeves, fordi... Jeg måtte gjøre alt på nytt, men den gjenværende timetiden var ikke lenger nok til dette.

Nærmere 1993, i noen skoler og lyceums, dukket det opp vanlige klasser med 286 biler, og noen steder var det til og med tre rubler. Når det gjelder programmeringsspråk, var det to alternativer: der "BASIC" sluttet, begynte "Turbo Pascal".

Programmering i "Turbo Pascal" ved å bruke eksempelet "tanks"

Ved hjelp av Pascal ble barn lært opp til å bygge løkker, tegne alle slags funksjoner og arbeide med matriser. På fysikk- og matematikklyceumet, hvor jeg "bodde" en stund, ble ett par per uke tildelt informatikk. Og i to år var det dette kjedelige stedet. Selvfølgelig ønsket jeg å gjøre noe mer seriøst enn å vise verdiene til en matrise eller en slags sinusoid på skjermen.

Tanker

Battle City var et av de mest populære spillene på NES-klonekonsoller (Dendy, etc.).

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

I 1996 hadde populariteten til 8-bit passert, de hadde lenge samlet støv i skap, og det virket kult for meg å lage en klone av "Tanks" for PC-en som noe storstilt. Det følgende handler bare om hvordan det den gang var nødvendig å unnvike for å skrive noe med grafikk, mus og lyd på Pascal.

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

Du kan bare tegne pinner og sirkler

La oss starte med grafikk.

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

I sin grunnleggende versjon tillot Pascal deg å tegne noen former, male og bestemme fargene på punktene. De mest avanserte prosedyrene i Graph-modulen som bringer oss nærmere sprites er GetImage og PutImage. Med deres hjelp var det mulig å fange en del av skjermen inn i et tidligere reservert minneområde og deretter bruke dette stykket som et punktgrafikkbilde. Med andre ord, hvis du vil gjenbruke noen elementer eller bilder på skjermen, tegner du dem først, kopierer dem til minnet, sletter skjermen, tegner det neste, og så videre til du lager ønsket bibliotek i minnet. Siden alt skjer raskt, legger ikke brukeren merke til disse triksene.

Den første modulen der sprites ble brukt var kartredigereren.

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

Den hadde et markert spillefelt. Ved å klikke med musen får du opp en meny der du kan velge ett av fire hindringer. Apropos mus...

Musen er allerede slutten av 90-tallet

Selvfølgelig hadde alle mus, men frem til midten av 90-tallet ble de kun brukt i Windows 3.11, grafikkpakker og et lite antall spill. Wolf og Doom ble bare spilt med tastaturet. Og i DOS-miljøet var musen ikke spesielt nødvendig. Derfor inkluderte ikke Borland engang musemodulen i standardpakken. Du måtte lete etter ham gjennom dine bekjente, som løftet hendene og utbrøt som svar: "Hva trenger du ham til?"

Men å finne en modul for å spørre musen er bare halve kampen. For å klikke på knappene på skjermen med musen, måtte de tegnes. Dessuten i to versjoner (trykket og ikke trykket). En knapp som ikke trykkes inn har en lys topp og en skygge under seg. Når den trykkes, er det omvendt. Og tegn det så på skjermen tre ganger (ikke trykket, trykket, så ikke trykket igjen). I tillegg, ikke glem å angi forsinkelser for visning, og skjule markøren.

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

For eksempel så behandlingen av hovedmenyen i kode slik ut:

Tanchiki i Pascal: hvordan barn ble lært programmering på 90-tallet og hva som var galt med det

Lyd – kun PC-høyttaler

En egen historie med lyd. På begynnelsen av nittitallet forberedte Sound Blaster-kloner seg nettopp på sin seirende marsj, og de fleste applikasjonene fungerte bare med den innebygde høyttaleren. Det maksimale av dens evner er samtidig gjengivelse av bare én tone. Og det er akkurat det Turbo Pascal tillot deg å gjøre. Gjennom lydprosedyren var det mulig å "knirke" med forskjellige frekvenser, noe som er nok for lyden av skudd og eksplosjoner, men for en musikalsk skjermsparer, som var på moten da, var dette ikke egnet. Som et resultat ble en veldig utspekulert løsning funnet: i programvarens eget arkiv ble en "exe-fil" oppdaget, lastet ned en gang fra noen BBS. Han kunne gjøre mirakler - spille ukomprimerte wavs gjennom en PC-høyttaler, og han gjorde det fra kommandolinjen og hadde ikke et faktisk grensesnitt. Alt som var nødvendig var å ringe det gjennom Pascal exec-prosedyren og sørge for at denne konstruksjonen ikke kollapset.

Som et resultat dukket mordermusikken opp på skjermspareren, men det skjedde en morsom ting med den. I 1996 hadde jeg et system på en Pentium 75, skrudd opp til 90. Alt fungerte bra på den. På universitetet der Pascal ble installert for oss i andre semester, var det godt slitte "tre rubler" i klasserommet. Etter avtale med læreren tok jeg disse tankene til den andre leksjonen for å ta en prøve og ikke gå dit igjen. Og så, etter lanseringen, kom et høyt brøl blandet med gurglende gutturale lyder ut av høyttaleren. Generelt viste det seg at 33-megahertz DX-kortet med tre rubler ikke kunne snurre den samme "kjørbare filen". Men ellers var alt bra. Selvfølgelig, ikke medregnet den langsomme tastaturavstemningen, som ødela hele spillingen, uavhengig av PC-ytelse.

Men hovedproblemet ligger ikke i Pascal

Etter min forståelse er "Tanks" det maksimale som kan presses ut av Turbo Pascal uten monteringsinnsatser. De åpenbare manglene ved sluttproduktet er treg tastaturavstemning og treg grafikkgjengivelse. Situasjonen ble forverret av det ekstremt få antallet tredjepartsbiblioteker og -moduler. De kunne telles på fingrene på én hånd.

Men det som gjorde meg mest opprørt var tilnærmingen til skoleutdanning. Ingen fortalte barna da om fordelene og mulighetene ved andre språk. I timen begynte de nesten umiddelbart å snakke om start, println og if, som låste elevene inne i BASIC-Pascal-paradigmet. Begge disse språkene kan betraktes som utelukkende pedagogiske. Deres "kamp"-bruk er en sjelden forekomst.

Hvorfor lære barn falske språk er et mysterium for meg. La dem være mer visuelle. La varianter av BASIC brukes her og der. Men i alle fall, hvis en person bestemmer seg for å koble fremtiden sin med programmering, må han lære andre språk fra bunnen av. Så hvorfor skulle ikke barn få de samme pedagogiske oppgavene, men bare på en vanlig plattform (språk), der de kunne videreutvikle seg selvstendig?

Apropos oppgaver. På skolen og høgskolen var de alltid abstrakte: regne ut noe, konstruere en funksjon, tegne noe. Jeg studerte på tre forskjellige skoler, pluss at vi hadde "Pascal" i det første året på instituttet, og ikke en eneste gang stilte lærerne noen reelt anvendt problem. Lag for eksempel en notatbok eller noe annet nyttig. Alt var fjernt. Og når en person bruker måneder på å løse tomme problemer, som deretter går i søpla... Generelt forlater folk allerede instituttet utbrent.

Forresten, i det tredje året på samme universitet fikk vi "plusser" i programmet. Det virket som en god ting, men folket var slitne, fulle av forfalskninger og «treningsoppgaver». Ingen var så entusiastiske som første gang.

PS Jeg googlet om hvilke språk som nå undervises i informatikktimer på skolene. Alt er det samme som for 25 år siden: Basic, Pascal. Python kommer i sporadiske inneslutninger.

Kilde: www.habr.com

Legg til en kommentar