Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

Lite om hur skolans "datavetenskap" var på 90-talet, och varför alla programmerare då var uteslutande självlärda.

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

Vad barn fick lära sig att programmera på

I början av 90-talet började Moskvaskolorna selektivt utrustas med datorklasser. Rummen försågs genast med galler på fönstren och en tung järnklädd dörr. Någonstans ifrån dök det upp en lärare i datavetenskap (han såg ut som den viktigaste kamraten efter regissören), vars huvuduppgift var att se till att ingen rörde någonting. Ingenting alls. Till och med ytterdörren.
I klassrum kan man oftast hitta systemen BK-0010 (i dess varianter) och BK-0011M.

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det
Foto taget hence

Barnen fick veta om den allmänna strukturen, samt ett dussin GRUNDLÄGGANDE kommandon så att de kunde rita linjer och cirklar på skärmen. För junior- och mellanklasserna räckte nog detta.

Det fanns vissa problem med att bevara sina skapelser (program). Oftast kombinerades datorer som använder enkanalskontroller till ett nätverk med en "gemensam buss" -topologi och en överföringshastighet på 57600 baud. Som regel fanns det bara en diskenhet, och det gick ofta fel med den. Ibland fungerar det, ibland inte, ibland är nätverket fruset, ibland är disketten oläslig.

Jag bar sedan med mig denna skapelse med en kapacitet på 360 kB.

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

Chansen att jag skulle få ut mitt program ur det igen var 50-70 procent.

Men det största problemet med alla dessa historier med BC-datorer var oändliga frysningar.

Detta kan hända när som helst, oavsett om du skriver kod eller kör ett program. Ett fruset system innebar att du spenderade 45 minuter förgäves, eftersom... Jag var tvungen att göra allt om igen, men den återstående lektionstiden räckte inte längre till detta.

Närmare 1993, i vissa skolor och lyceum, dök det upp normala klasser med 286 bilar, och på vissa ställen fanns det till och med tre rubel. När det gäller programmeringsspråk fanns det två alternativ: där "BASIC" slutade började "Turbo Pascal".

Programmering i "Turbo Pascal" med exemplet "tankar"

Med hjälp av Pascal fick barnen lära sig att bygga slingor, rita alla möjliga funktioner och arbeta med arrayer. På fysik- och matematiklyceum, där jag "bott" ett tag, anlades ett par i veckan till datavetenskap. Och i två år fanns den här tråkiga platsen. Naturligtvis ville jag göra något mer seriöst än att visa värdena för en array eller någon form av sinus på skärmen.

Tankar

Battle City var ett av de mest populära spelen på NES-klonkonsoler (Dendy, etc.).

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

1996 hade populariteten för 8-bitar passerat, de hade länge samlat damm i garderober, och det verkade coolt för mig att göra en klon av "Tanks" för PC som något storskaligt. Följande handlar bara om hur det då var nödvändigt att smita för att skriva något med grafik, mus och ljud på Pascal.

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

Du kan bara rita pinnar och cirklar

Låt oss börja med grafik.

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

I sin grundläggande version tillät Pascal dig att rita några former, måla och bestämma färgerna på punkter. De mest avancerade procedurerna i Graph-modulen som för oss närmare sprites är GetImage och PutImage. Med deras hjälp var det möjligt att fånga en del av skärmen till ett tidigare reserverat minnesområde och sedan använda denna bit som en bitmappsbild. Med andra ord, om du vill återanvända vissa element eller bilder på skärmen, ritar du dem först, kopierar dem till minnet, raderar skärmen, ritar nästa, och så vidare tills du skapar önskat bibliotek i minnet. Eftersom allt händer snabbt märker inte användaren dessa knep.

Den första modulen där sprites användes var kartredigeraren.

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

Den hade en markerad spelplan. Genom att klicka med musen visas en meny där du kan välja ett av fyra hinderalternativ. På tal om musen...

Musen är redan i slutet av 90-talet

Naturligtvis hade alla möss, men fram till mitten av 90-talet användes de bara i Windows 3.11, grafikpaket och ett litet antal spel. Wolf and Doom spelades endast med klaviaturen. Och i DOS-miljön behövdes inte musen särskilt. Därför inkluderade Borland inte ens musmodulen i standardpaketet. Du var tvungen att leta efter honom genom dina bekanta, som räckte upp händerna och utbrast som svar: "Vad behöver du honom till?"

Men att hitta en modul för att polla musen är bara halva striden. För att kunna klicka på knapparna på skärmen med musen måste de ritas. Dessutom i två versioner (tryckt och inte tryckt). En knapp som inte trycks in har en ljus topp och en skugga under sig. När den trycks ned är det tvärtom. Och sedan rita det på skärmen tre gånger (inte tryckt, tryckt, sedan inte tryckt igen). Dessutom, glöm inte att ställa in fördröjningar för visning och dölja markören.

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

Till exempel, att bearbeta huvudmenyn i kod såg ut så här:

Tanchiki i Pascal: hur barn lärde sig programmering på 90-talet och vad som var fel med det

Ljud – endast PC-högtalare

En separat berättelse med ljud. I början av nittiotalet förberedde Sound Blaster-kloner precis för sin segerrika marsch, och de flesta applikationer fungerade bara med den inbyggda högtalaren. Det maximala av dess kapacitet är den samtidiga reproduktionen av endast en ton. Och det är precis vad Turbo Pascal tillät dig att göra. Genom ljudproceduren var det möjligt att "gnisa" med olika frekvenser, vilket räcker för ljudet av skott och explosioner, men för en musikalisk skärmsläckare, som var på modet då, var detta inte lämpligt. Som ett resultat hittades en mycket listig lösning: i programvarans eget arkiv upptäcktes en "exe-fil" som laddades ner en gång från någon BBS. Han kunde göra mirakel - spela okomprimerade wavs genom en PC-högtalare, och han gjorde det från kommandoraden och hade inte ett riktigt gränssnitt. Allt som behövdes var att kalla det genom Pascal exec-proceduren och se till att denna konstruktion inte kollapsade.

Som ett resultat dök den mördande musiken upp på skärmsläckaren, men en rolig sak hände med den. 1996 hade jag ett system på en Pentium 75, skruvad upp till 90. Allt fungerade bra på det. På universitetet där Pascal installerades för oss under andra terminen, fanns det slitna "tre rubel" i klassrummet. Efter överenskommelse med läraren tog jag dessa tankar till den andra lektionen för att få ett prov och inte gå dit igen. Och så, efter lanseringen, kom ett högt vrål blandat med gurglande gutturala ljud ur högtalaren. I allmänhet visade det sig att 33-megahertz DX-kortet med tre rubel inte kunde snurra samma "körbara fil". Men annars var allt bra. Naturligtvis, utan att räkna med den långsamma tangentbordsundersökningen, som förstörde hela spelet, oavsett PC-prestanda.

Men huvudproblemet finns inte i Pascal

Enligt min uppfattning är "Tanks" det maximala som skulle kunna pressas ut ur Turbo Pascal utan monteringsinsatser. De uppenbara bristerna med slutprodukten är långsam tangentbordsundersökning och långsam grafikåtergivning. Situationen förvärrades av det extremt få antalet tredjepartsbibliotek och moduler. De kunde räknas på ena handens fingrar.

Men det som upprörde mig mest var inställningen till skolundervisning. Ingen berättade då för barn om fördelarna och möjligheterna med andra språk. I klassen började de nästan direkt prata om start, println och if, vilket låste eleverna inne i BASIC-Pascal-paradigmet. Båda dessa språk kan betraktas som uteslutande pedagogiska. Deras "strids" användning är en sällsynt händelse.

Varför lära barn falska språk är ett mysterium för mig. Låt dem vara mer visuella. Låt varianter av BASIC användas här och där. Men i alla fall, om en person bestämmer sig för att koppla sin framtid med programmering, måste han lära sig andra språk från grunden. Så varför skulle inte barn få samma pedagogiska uppgifter, utan bara på en normal plattform (språk), inom vilken de skulle kunna utvecklas självständigt?

På tal om arbetsuppgifter. I skolan och på högskolan var de alltid abstrakta: beräkna något, konstruera en funktion, rita något. Jag studerade på tre olika skolor, plus att vi hade "Pascal" under det första året på institutet, och inte en enda gång ställde lärarna upp något verkligt tillämpat problem. Gör till exempel en anteckningsbok eller något annat användbart. Allt var långsökt. Och när en person ägnar månader åt att lösa tomma problem, som sedan hamnar i papperskorgen... I allmänhet lämnar folk redan institutet utbrända.

Förresten, under det tredje året på samma universitet fick vi "plus" i programmet. Det verkade som en bra sak, men folket var trötta, fulla av förfalskningar och "träningsuppgifter". Ingen var så entusiastisk som första gången.

PS Jag googlade om vilka språk som nu lärs ut i datavetenskapsklasser i skolor. Allt är detsamma som för 25 år sedan: Basic, Pascal. Python kommer i sporadiska inneslutningar.

Källa: will.com

Lägg en kommentar