Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Un po' di come era la scuola di "informatica" negli anni '90 e perché allora tutti i programmatori erano esclusivamente autodidatti.

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Ciò su cui è stato insegnato ai bambini a programmare

All'inizio degli anni '90, le scuole di Mosca iniziarono ad essere dotate selettivamente di lezioni di informatica. Le stanze furono subito dotate di inferriate alle finestre e di una pesante porta blindata. Da qualche parte è apparso un insegnante di informatica (sembrava il compagno più importante dopo il direttore), il cui compito principale era assicurarsi che nessuno toccasse nulla. Niente di niente. Anche la porta d'ingresso.
Nelle aule si trovano spesso i sistemi BK-0010 (nelle sue varietà) e BK-0011M.

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava
Foto scattata quindi

Ai bambini è stata spiegata la struttura generale e una dozzina di comandi BASIC in modo che potessero disegnare linee e cerchi sullo schermo. Per le classi medie e medie, questo probabilmente era sufficiente.

Ci sono stati alcuni problemi con la conservazione delle proprie creazioni (programmi). Molto spesso, i computer che utilizzavano controller monocanale venivano combinati in una rete con una topologia a "bus comune" e una velocità di trasmissione di 57600 baud. Di norma, c'era solo un'unità disco e spesso le cose andavano storte. A volte funziona, a volte no, a volte la rete è bloccata, a volte il floppy disk è illeggibile.

Ho poi portato con me questa creazione dalla capacità di 360 kB.

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Le probabilità che riuscissi a riprendere il mio programma erano del 50-70%.

Tuttavia, il problema principale di tutte queste storie con i computer BC erano i blocchi infiniti.

Ciò potrebbe accadere in qualsiasi momento, durante la digitazione del codice o l'esecuzione di un programma. Un sistema congelato significava che hai trascorso 45 minuti invano, perché... Ho dovuto rifare tutto da capo, ma il tempo rimanente della lezione non era più sufficiente per questo.

Più vicino al 1993, in alcune scuole e licei apparvero classi normali con 286 auto, e in alcuni luoghi c'erano anche tre rubli. In termini di linguaggi di programmazione, c'erano due opzioni: dove finiva “BASIC”, iniziava “Turbo Pascal”.

Programmazione in "Turbo Pascal" usando l'esempio di "serbatoi"

Utilizzando Pascal, ai bambini è stato insegnato a creare cicli, a disegnare tutti i tipi di funzioni e a lavorare con gli array. Al liceo di fisica e matematica, dove ho “vissuto” per un po', una coppia a settimana veniva assegnata all'informatica. E per due anni c'è stato questo posto noioso. Ovviamente volevo fare qualcosa di più serio che visualizzare sullo schermo i valori di un array o di una sorta di sinusoide.

Carri armati

Battle City è stato uno dei giochi più popolari sulle console clone NES (Dendy, ecc.).

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Nel 1996, la popolarità degli 8 bit era passata, da tempo raccoglievano polvere negli armadi e mi sembrava bello realizzare un clone di "Tanks" per PC come qualcosa di grande. Quello che segue è semplicemente come allora era necessario schivare per scrivere qualcosa con grafica, mouse e suono su Pascal.

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Puoi disegnare solo bastoncini e cerchi

Cominciamo con la grafica.

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Nella sua versione base, Pascal permetteva di disegnare alcune forme, dipingere e determinare i colori dei punti. Le procedure più avanzate del modulo Graph che ci avvicinano agli sprite sono GetImage e PutImage. Con il loro aiuto è stato possibile catturare una sezione dello schermo in un'area di memoria precedentemente riservata e quindi utilizzare questa parte come immagine bitmap. In altre parole, se vuoi riutilizzare alcuni elementi o immagini sullo schermo, devi prima disegnarli, copiarli in memoria, cancellare lo schermo, disegnare quello successivo e così via fino a creare in memoria la libreria desiderata. Poiché tutto avviene rapidamente, l'utente non si accorge di questi trucchi.

Il primo modulo in cui sono stati utilizzati gli sprite è stato l'editor di mappe.

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Aveva un campo da gioco delimitato. Facendo clic con il mouse veniva visualizzato un menu in cui era possibile selezionare una delle quattro opzioni di ostacolo. A proposito del topo...

Il mouse è già la fine degli anni '90

Naturalmente tutti avevano dei mouse, ma fino alla metà degli anni '90 venivano utilizzati solo in Windows 3.11, pacchetti grafici e un numero limitato di giochi. Wolf e Doom venivano suonati solo con la tastiera. E nell'ambiente DOS il mouse non era particolarmente necessario. Pertanto Borland non ha incluso nemmeno il modulo mouse nella confezione standard. Dovevi cercarlo tramite i tuoi conoscenti, che alzavano le mani ed esclamavano in risposta: "A cosa ti serve?"

Tuttavia, trovare un modulo per interrogare il mouse è solo metà dell'opera. Per poter fare clic con il mouse sui pulsanti sullo schermo, era necessario disegnarli. Inoltre in due versioni (pressato e non pressato). Un pulsante che non viene premuto ha una parte superiore chiara e un'ombra sotto. Quando viene premuto, è il contrario. E poi disegnalo sullo schermo tre volte (non premuto, premuto, quindi non premuto di nuovo). Inoltre, non dimenticare di impostare i ritardi per la visualizzazione e di nascondere il cursore.

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Ad esempio, l'elaborazione del menu principale nel codice era simile a questa:

Tanchiki in Pascal: come veniva insegnata la programmazione ai bambini negli anni '90 e cosa c'era che non andava

Suono: solo altoparlante del PC

Una storia separata con il suono. All'inizio degli anni Novanta, i cloni di Sound Blaster si stavano appena preparando per la loro marcia vittoriosa e la maggior parte delle applicazioni funzionava solo con l'altoparlante integrato. Il massimo delle sue capacità è la riproduzione simultanea di un solo tono. Ed è esattamente ciò che Turbo Pascal ti ha permesso di fare. Attraverso la procedura del suono era possibile "squittire" con frequenze diverse, il che è sufficiente per i suoni di spari ed esplosioni, ma per uno screensaver musicale, come era di moda allora, questo non era adatto. Di conseguenza è stata trovata una soluzione molto astuta: nell’archivio del software è stato scoperto un “file exe”, scaricato una volta da alcune BBS. Poteva fare miracoli: riprodurre file WAV non compressi attraverso l'altoparlante del PC, e lo faceva dalla riga di comando e non aveva un'interfaccia vera e propria. Tutto ciò che serviva era richiamarlo tramite la procedura Pascal exec e assicurarsi che questa costruzione non crollasse.

Di conseguenza, la musica assassina è apparsa sullo screensaver, ma è successa una cosa divertente. Nel 1996 avevo un sistema su un Pentium 75, portato fino a 90. Tutto funzionava bene. All'università dove Pascal fu installato per noi nel secondo semestre, in classe c'erano "tre rubli" logori. D'accordo con l'insegnante, ho portato queste vasche alla seconda lezione per fare un test e non tornarci più. E così, dopo il lancio, dall'altoparlante è uscito un forte ruggito misto a gorgoglii gutturali. In generale, la "carta da tre rubli" DX da 33 megahertz si è rivelata incapace di far girare correttamente lo stesso "eseguibile". Ma per il resto andava tutto bene. Ovviamente senza contare il lento polling della tastiera, che ha rovinato l'intero gameplay, indipendentemente dalle prestazioni del PC.

Ma il problema principale non è nel Pascal

A mio avviso, "Tanks" è il massimo che potrebbe essere estratto dal Turbo Pascal senza inserti di assemblaggio. Gli evidenti difetti del prodotto finale sono la lentezza del polling della tastiera e il rendering grafico lento. La situazione è stata aggravata dal numero estremamente ridotto di librerie e moduli di terze parti. Si potevano contare sulle dita di una mano.

Ma quello che più mi ha sconvolto è stato l’approccio all’istruzione scolastica. Nessuno allora parlava ai bambini dei vantaggi e delle possibilità delle altre lingue. In classe, hanno iniziato quasi subito a parlare di Begin, Println e If, ​​che hanno bloccato gli studenti nel paradigma BASIC-Pascal. Entrambe queste lingue possono essere considerate esclusivamente educative. Il loro uso “in combattimento” è un evento raro.

Perché insegnare ai bambini lingue false è per me un mistero. Lascia che siano più visivi. Lasciate che le variazioni del BASIC siano usate qua e là. Ma, in ogni caso, se una persona decide di collegare il suo futuro alla programmazione, dovrà imparare da zero altre lingue. Allora perché ai bambini non dovrebbero essere assegnati gli stessi compiti educativi, ma solo su una piattaforma normale (linguaggio), all’interno della quale potrebbero svilupparsi ulteriormente in modo indipendente?

A proposito di compiti. A scuola e all'università erano sempre astratti: calcolare qualcosa, costruire una funzione, disegnare qualcosa. Ho studiato in tre scuole diverse, in più abbiamo avuto “Pascal” nel primo anno di istituto, e nemmeno una volta gli insegnanti hanno posto veri problemi applicativi. Ad esempio, crea un quaderno o qualcos'altro di utile. Tutto era inverosimile. E quando una persona passa mesi a risolvere problemi vuoti, che poi finiscono nella spazzatura... In generale, le persone escono già dall'istituto esauste.

A proposito, nel terzo anno della stessa università, ci sono stati dati dei "plus" nel programma. Sembrava una buona cosa, ma la gente era stanca, piena di falsità e di compiti di “addestramento”. Nessuno era entusiasta come la prima volta.

PS Ho cercato su Google quali lingue vengono ora insegnate nelle lezioni di informatica nelle scuole. Tutto è uguale a 25 anni fa: Basic, Pascal. Python è disponibile in inclusioni sporadiche.

Fonte: habr.com

Aggiungi un commento