Un peu sur ce à quoi ressemblait «l'informatique» scolaire dans les années 90, et pourquoi tous les programmeurs étaient alors exclusivement autodidactes.

Ce qui a été enseigné pour programmer les enfants
Au début des années 90, les écoles de Moscou ont commencé à équiper sélectivement les ordinateurs de classes. Les pièces ont été immédiatement placées avec des barreaux aux fenêtres et une lourde porte cloutée de fer. Un professeur d'informatique est apparu de quelque part (il ressemblait au camarade le plus important après le directeur), dont la tâche principale était de s'assurer que personne ne touche à rien. Rien du tout. Même la porte d'entrée.
Dans les classes, il était le plus souvent possible de rencontrer les systèmes BK-0010 (dans ses variétés) et BK-0011M.
Photo prise d'ici.Les enfants ont été informés de l'appareil général, ainsi que d'une douzaine de commandes BASIC, afin qu'ils puissent dessiner des lignes et des cercles sur l'écran. Pour les classes juniors et moyennes, c'était probablement suffisant.
Avec la préservation de leurs créations (programmes), il y a eu des problèmes distincts. Le plus souvent, les ordinateurs utilisant des contrôleurs monocanaux étaient mis en réseau avec une topologie de bus commune et une vitesse de transmission de 57 600 bauds. Le lecteur, en règle générale, en était un, et souvent il ne allait pas bien avec. Cela fonctionne, cela ne fonctionne pas, le réseau se bloque, la disquette n'est pas lisible.
J'ai ensuite emporté cette création à 360 kB avec moi.

Les chances que je retire de nouveau mon programme d'elle étaient de 50 à 70%.
Cependant, le problème principal de toutes ces histoires avec les ordinateurs BK était le gel sans fin.
Cela peut arriver à tout moment, que ce soit un ensemble de code ou une exécution de programme. Un système en vol stationnaire signifiait que vous avez vécu en vain pendant 45 minutes, car J'ai dû tout recommencer, mais le temps de cours restant n'était pas suffisant pour cela.
Plus près de 1993, dans des écoles et des lycées séparés, des classes normales avec 286 voitures sont apparues, et dans certains endroits il y avait même des "treshki". En termes de langages de programmation, il y avait deux options: où se terminait "Basic", "Turbo Pascal" commençait.
Programmation sur "Turbo Pascal" sur l'exemple des "réservoirs"
Chez Pascal, les enfants ont appris à créer des boucles, à dessiner toutes sortes de fonctions et à travailler avec des tableaux. Au lycée de physique et de physique, où j'ai "vécu" à une certaine époque, ils ont affecté une paire par semaine à l'informatique. Et pendant deux ans, cet ennui était là. Bien sûr, je voulais faire quelque chose de plus sérieux que d'afficher les valeurs d'un tableau ou d'une sinusoïde à l'écran.
Tanchiki
Battle City était l'un des jeux de consoles NES les plus populaires (Dendy et al.).

En 1996, la popularité des bits à 8 queues est passée, ils accumulaient de la poussière dans les armoires depuis longtemps, et il m'a semblé cool de faire un clone Tanchik pour PC comme quelque chose à grande échelle. De plus, à peu près comment il était alors nécessaire d'esquiver pour entailler quelque chose avec des graphiques, de la souris et du son sur Pascal.

Vous ne pouvez dessiner que des bâtons et des cercles
Commençons par les graphiques.

Dans la version de base, Pascal vous permettait de dessiner des formes, de peindre et de définir les couleurs des points. Les procédures les plus avancées du module Graph qui nous rapprochent des sprites sont GetImage et PutImage. Avec leur aide, il a été possible de capturer une partie de l'écran dans une zone de mémoire précédemment réservée, puis d'utiliser cette pièce comme image bitmap. En d'autres termes, si vous souhaitez réutiliser certains éléments ou images à l'écran, vous devez d'abord les dessiner, les copier dans la mémoire, effacer l'écran, dessiner le suivant et ainsi de suite jusqu'à ce que vous créiez la bibliothèque souhaitée en mémoire. Comme tout se passe rapidement, l'utilisateur ne remarque pas ces astuces.
Le premier module, où les sprites ont été utilisés, est un éditeur de carte.

Il avait un terrain de jeu marqué. Un clic de souris fait apparaître un menu où l'on peut choisir l'une des quatre options d'obstacles. En parlant de la souris ...
La souris est déjà la fin des années 90
Bien sûr, tout le monde avait des souris, mais jusqu'au milieu des années 90, ils ne les utilisaient que dans Windows 3.11, les packages graphiques et un petit nombre de jeux. Dans Wolf and Doom, seuls les claviers ont été coupés. Et dans l'environnement DOS, la souris n'était pas particulièrement nécessaire. Par conséquent, à Borland, le module de souris n'était même pas inclus dans le package standard. Il aurait dû être recherché par des connaissances qui ont haussé les épaules et se sont exclamé: «Qu'est-ce qu'il est pour toi?»
Cependant, trouver un module pour interroger une souris ne représente que la moitié de la bataille. Pour cliquer sur les boutons d'écran avec la souris, il fallait les dessiner. De plus, en deux versions (pressé et non pressé). Un bouton non pressé a un dessus clair et une ombre en dessous. Pressé dans l'autre sens. Et puis dessinez sur l'écran trois fois (pas pressé, pressé, puis encore non pressé). De plus, n'oubliez pas de mettre des retards à l'écran, enfin, et de cacher le curseur.

Par exemple, le traitement du menu principal dans le code ressemblait à ceci:

Son - Haut-parleur PC uniquement
Une histoire séparée avec du son. Au début des années 90, les clones de Sound Blaster se préparaient à peine pour leur marche victorieuse, et la plupart des applications ne fonctionnaient qu'avec le haut-parleur intégré. Le maximum de ses capacités est la reproduction simultanée d'une seule tonalité. Et c'est exactement ce qu'a fait Turbo Pascal. Grâce à la procédure sonore, il a été possible de "grincer" avec des fréquences différentes, ce qui est suffisant pour les sons de coups de feu et d'explosions, mais pour un économiseur d'écran musical, comme c'était à la mode à l'époque, tout cela ne convenait pas. En conséquence, une solution très délicate a été trouvée: dans sa propre archive de logiciels, il y avait un "exécutable" téléchargé une fois à partir de certains BBS. Il savait comment faire des miracles - pour jouer des wav non compressés via PC Speaker, et il l'a fait à partir de la ligne de commande et n'avait pas d'interface réelle. Il suffisait de l'appeler via la procédure d'exécution Pascal et de s'assurer que cette construction ne plantait pas.
En conséquence, le fond de trou Mouzon est apparu sur le bandeau, mais une chose amusante en est sortie. En 1996, j'avais un système Pentium 75, fissuré à 90. Tout fonctionnait bien. À l'université, où nous avons été affectés Pascal pour le deuxième semestre, dans la salle de classe il y avait des batailles éprouvées. En accord avec le professeur, j'ai traîné ces chars à la deuxième leçon afin d'obtenir un crédit et de ne plus y retourner. Et donc, après être parti du haut-parleur, un rugissement fort a été mélangé avec des sons gutturaux gargouillants. En général, le DX "treshka" à 33 MHz n'était pas capable de tordre normalement le même "exécutable". Mais sinon tout allait bien. Bien sûr, sans compter l'interrogation inhibée du clavier, qui a gâché tout le gameplay, quelles que soient les performances du PC.
Mais le problème principal n'est pas en Pascal
À ma connaissance, "Tanchiki" est le maximum que vous pouvez extraire de Turbo Pascal sans insertions d'assembleur. Les lacunes évidentes du produit final sont les sondages au clavier lents et le rendu graphique lent. La situation a été aggravée par le très petit nombre de bibliothèques et de modules tiers. On pouvait les compter sur les doigts d'une main.
Mais surtout, j'ai été bouleversé par l'approche de l'enseignement scolaire. Personne n'a alors parlé aux enfants des avantages et des possibilités des autres langues. Dans les leçons, presque immédiatement, ils ont commencé à parler de début, d'impression et si, qui enfermaient les étudiants dans le paradigme BASIC-Pascal. Ces deux langues peuvent être considérées comme exclusivement éducatives. Leur utilisation en «combat» est rare.
Pourquoi enseigner aux élèves du secondaire de fausses langues est un mystère pour moi. Qu'ils soient plus visuels. Laissez les variations de base être utilisées à certains endroits. Mais, dans tous les cas, si une personne décide de connecter son avenir à la programmation, elle devra apprendre d'autres langues à partir de zéro. Alors pourquoi les enfants ne devraient-ils pas définir les mêmes tâches éducatives, mais uniquement sur une plate-forme normale (langue), au sein de laquelle ils pourraient se développer eux-mêmes?
En parlant de tâches. À l'école et à l'institut, ils étaient toujours abstraits: compter quelque chose, construire une fonction, dessiner quelque chose. J'ai étudié dans trois écoles différentes, en plus nous avons eu Pascal dans ma première année à l'institut, et jamais les professeurs n'ont posé de vrai problème appliqué. Par exemple, créez un cahier ou autre chose utile. Tout était tiré par les cheveux. Et quand une personne résout des tâches vides pendant des mois, qui vont ensuite au panier ... En général, les gens sont déjà épuisés par l'institut.
Soit dit en passant, en troisième année de la même université, ils ont ajouté des «plus» à notre programme. Cela semble être une bonne chose, mais les gens étaient fatigués, marre des contrefaçons et des tâches "d'entraînement". L'enthousiasme, comme pour la première fois, n'a été observé chez personne.
PS Googlé sur le thème des langues enseignées dans les écoles lors des cours d'informatique. Tout comme il y a 25 ans: Basic, Pascal. Python est le seul entrecoupé.