Ein wenig darüber, wie die "Informatik" der Schule in den 90er Jahren war und warum alle Programmierer damals ausschließlich Autodidakten waren.

Was wurde gelehrt, um Kinder zu programmieren
In den frühen 90er Jahren begannen die Moskauer Schulen, Computer selektiv mit Klassen auszustatten. Die Räume wurden sofort mit Balken an den Fenstern und einer schweren eisernen Tür platziert. Von irgendwoher erschien ein Informatiklehrer (er sah aus wie der wichtigste Kamerad nach dem Regisseur), dessen Hauptaufgabe es war, sicherzustellen, dass niemand etwas berührte. Gar nichts. Sogar die Haustür.
In den Klassen war es am häufigsten möglich, die Systeme BK-0010 (in seinen Varianten) und BK-0011M zu erfüllen.
Foto von hier gemacht.Den Kindern wurden das allgemeine Gerät sowie etwa ein Dutzend BASIC-Befehle mitgeteilt, damit sie Linien und Kreise auf dem Bildschirm zeichnen konnten. Für die Junior- und Mittelschicht war dies wahrscheinlich genug.
Mit der Erhaltung ihrer Kreationen (Programme) gab es dann separate Probleme. Am häufigsten wurden Computer mit Einkanal-Controllern mit einer gemeinsamen Bustopologie und einer Übertragungsgeschwindigkeit von 57.600 Baud vernetzt. Die Fahrt war in der Regel eine und passte oft nicht gut dazu. Es funktioniert, es funktioniert nicht, das Netzwerk hängt, die Diskette ist nicht lesbar.
Ich habe diese 360-kB-Kreation dann mitgenommen.

Die Chancen, dass ich ihr Programm noch einmal von ihr abziehen würde, lagen bei 50-70 Prozent.
Das Hauptproblem all dieser Geschichten mit den BK-Computern war jedoch das endlose Einfrieren.
Dies kann jederzeit geschehen, egal ob es sich um einen Codesatz oder eine Programmausführung handelt. Ein schwebendes System bedeutete, dass Sie 45 Minuten lang vergeblich lebten, weil Ich musste alles noch einmal machen, aber die verbleibende Unterrichtszeit reichte dafür nicht aus.
Näher an 1993, in getrennten Schulen und Lyzeen, erschienen normale Klassen mit 286 Autos, und stellenweise gab es sogar "Treshki". In Bezug auf die Programmiersprachen gab es zwei Möglichkeiten: Wo "Basic" endete, begann "Turbo Pascal".
Programmierung auf "Turbo Pascal" am Beispiel von "Panzern"
In Pascal wurde den Kindern beigebracht, Schleifen zu erstellen, alle möglichen Funktionen zu zeichnen und mit Arrays zu arbeiten. Im Physik- und Physik-Lyzeum, in dem ich einmal "gelebt" habe, haben sie der Informatik ein Paar pro Woche zugewiesen. Und zwei Jahre lang war diese Langeweile da. Natürlich wollte ich etwas Ernsthafteres tun, als die Werte eines Arrays oder einer Sinuskurve auf dem Bildschirm anzuzeigen.
Tanchiki
Battle City war eines der beliebtesten NES-Konsolenspiele (Dendy et al.).

1996 verging die Popularität von 8-Cue-Ballons, sie sammelten lange Zeit Staub in Schränken, und es schien cool, einen Klon von Tanchiki für einen PC als etwas Großes zu erstellen. Außerdem war es fast notwendig, auszuweichen, um etwas mit Grafik, Maus und Sound auf Pascal zu zerstören.

Sie können nur Stöcke und Kreise zeichnen
Beginnen wir mit den Grafiken.

In der Basisversion konnten Sie mit Pascal einige Formen zeichnen, übermalen und die Farben der Punkte definieren. Die fortschrittlichsten Verfahren im Graph-Modul, die uns Sprites näher bringen, sind GetImage und PutImage. Mit ihrer Hilfe war es möglich, einen Teil des Bildschirms in einem zuvor reservierten Speicherbereich zu erfassen und dieses Stück dann als Bitmap-Bild zu verwenden. Mit anderen Worten, wenn Sie einige Elemente oder Bilder auf dem Bildschirm wiederverwenden möchten, zeichnen Sie sie zuerst, kopieren sie in den Speicher, löschen den Bildschirm, zeichnen den nächsten usw., bis Sie die gewünschte Bibliothek im Speicher erstellen. Da alles schnell geht, bemerkt der Benutzer diese Tricks nicht.
Das erste Modul, in dem Sprites verwendet wurden, ist ein Karteneditor.

Es hatte ein ausgeprägtes Spielfeld. Ein Mausklick öffnete ein Menü, in dem man eine von vier Optionen für Hindernisse auswählen konnte. Apropos Maus ...
Die Maus ist bereits Ende der 90er Jahre
Natürlich hatten alle Mäuse, aber bis Mitte der 90er Jahre verwendeten sie sie nur in Windows 3.11, Grafikpaketen und einer kleinen Anzahl von Spielen. In Wolf and Doom wurden nur Tastaturen geschnitten. In der DOS-Umgebung wurde die Maus nicht besonders benötigt. Daher war das Mausmodul in Borland nicht einmal im Standardpaket enthalten. Er hätte von Bekannten gesucht werden sollen, die mit den Schultern zuckten und ausriefen: "Was zum Teufel ist er für dich?"
Ein Modul zum Abfragen einer Maus zu finden, ist jedoch nur die halbe Miete. Um mit der Maus auf die Bildschirmschaltflächen zu klicken, mussten diese gezeichnet werden. Darüber hinaus in zwei Versionen (gedrückt und nicht gedrückt). Ein nicht gedrückter Knopf hat eine helle Oberseite und einen Schatten darunter. Umgekehrt gedrückt. Und dann dreimal auf den Bildschirm zeichnen (nicht gedrückt, gedrückt, dann wieder nicht gedrückt). Vergessen Sie außerdem nicht, Verzögerungen auf dem Display anzuzeigen und den Cursor auszublenden.

Die Verarbeitung des Hauptmenüs im Code sah beispielsweise folgendermaßen aus:

Sound - Nur PC-Lautsprecher
Eine separate Geschichte mit Sound. In den frühen neunziger Jahren bereiteten sich Sound Blaster-Klone gerade auf ihren siegreichen Marsch vor, und die meisten Anwendungen funktionierten nur mit dem eingebauten Lautsprecher. Das Maximum seiner Fähigkeiten ist die gleichzeitige Wiedergabe von nur einem Ton. Und genau das hat Turbo Pascal getan. Durch das Soundverfahren war es möglich, mit verschiedenen Frequenzen zu „quietschen“, was für die Geräusche von Schüssen und Explosionen ausreicht, aber für einen musikalischen Bildschirmschoner, wie es damals in Mode war, passte all dies nicht. Infolgedessen wurde eine sehr knifflige Lösung gefunden: In einem eigenen Softwarearchiv wurde eine "ausführbare Datei" einmal von einem BBS heruntergeladen. Er wusste, wie man Wunder wirkt - unkomprimierte Wellen über PC Speaker abzuspielen, und er tat es über die Kommandozeile und hatte keine tatsächliche Schnittstelle. Alles, was benötigt wurde, war, es über die Pascal-Exec-Prozedur aufzurufen und sicherzustellen, dass diese Konstruktion nicht abstürzte.
Infolgedessen erschien das Bohrloch Mouzon am Stirnband, aber es kam eine lustige Sache heraus. 1996 hatte ich ein Pentium 75-System, das auf 90 geknackt war. Alles hat gut funktioniert. An der Universität, an der uns Pascal für das zweite Semester zugewiesen wurde, gab es im Klassenzimmer erfahrene Schlachten. Nach Absprache mit dem Lehrer habe ich diese Panzer in die zweite Stunde gezogen, um eine Gutschrift zu erhalten und nicht wieder dorthin zu gehen. Und so wurde, nachdem er aus dem Lautsprecher gestartet war, ein lautes Brüllen mit gurgelnden gutturalen Geräuschen verwechselt. Im Allgemeinen war der 33-MHz-DX "Treshka" nicht in der Lage, dieselbe "ausführbare Datei" zu verdrehen. Aber sonst war alles in Ordnung. Natürlich ohne die gesperrte Abfrage der Tastatur, die das gesamte Gameplay beeinträchtigte, unabhängig von der Leistung des PCs.
Das Hauptproblem liegt jedoch nicht in Pascal
Nach meinem Verständnis ist "Tanchiki" das Maximum, das Sie ohne Assembler-Einsätze aus Turbo Pascal herausdrücken können. Zu den offensichtlichen Mängeln des Endprodukts zählen langsame Tastaturabfragen und langsames Grafik-Rendering. Die Situation wurde durch die äußerst geringe Anzahl von Bibliotheken und Modulen von Drittanbietern verschärft. Sie konnten an den Fingern einer Hand gezählt werden.
Vor allem aber hat mich der Ansatz in der Schulbildung verärgert. Niemand erzählte den Kindern dann von den Vorteilen und Möglichkeiten anderer Sprachen. Im Unterricht sprachen sie fast sofort über begin, println und if, was die Schüler in das BASIC-Pascal-Paradigma einschließt. Beide Sprachen können als ausschließlich pädagogisch betrachtet werden. Ihr "Kampf" -Einsatz ist selten.
Warum ich Schülern falsche Sprachen beibringe, ist mir ein Rätsel. Lass sie visueller sein. Lassen Sie die grundlegenden Variationen an einigen Stellen verwendet werden. Wenn sich jemand jedoch entscheidet, seine Zukunft mit dem Programmieren zu verbinden, muss er auf jeden Fall andere Sprachen von Grund auf lernen. Warum sollten Kinder nicht dieselben Bildungsaufgaben stellen, sondern nur auf einer normalen Plattform (Sprache), auf der sie sich selbst weiterentwickeln können?
Apropos Aufgaben. In Schule und Institut waren sie immer abstrakt: etwas zählen, eine Funktion aufbauen, etwas zeichnen. Ich habe an drei verschiedenen Schulen studiert, und wir hatten Pascal im ersten Jahr des Instituts, und die Lehrer haben nie ein wirklich angewandtes Problem gestellt. Machen Sie zum Beispiel ein Notizbuch oder etwas anderes Nützliches. Alles war weit hergeholt. Und wenn eine Person monatelang leere Aufgaben löst, die dann in den Korb gehen ... Im Allgemeinen sind die Leute bereits aus dem Institut ausgebrannt.
Übrigens haben sie im dritten Jahr derselben Universität „Pluspunkte“ in unser Programm aufgenommen. Es scheint eine gute Sache zu sein, aber die Leute waren müde, hatten genug von Fälschungen und "Trainings" -Aufgaben. Begeisterung wurde wie zum ersten Mal bei niemandem beobachtet.
PS Googelte über das Thema, welche Sprachen in Schulen im Informatikunterricht unterrichtet werden. Genau wie vor 25 Jahren: Basic, Pascal. Python ist das einzige, das eingestreut ist.