Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

Un poco sobre cómo era la “informática” escolar en los años 90 y por qué todos los programadores eran exclusivamente autodidactas.

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

En qué se les enseñó a programar a los niños

A principios de los años 90, las escuelas de Moscú comenzaron a equiparse selectivamente con clases de informática. Las habitaciones fueron inmediatamente equipadas con rejas en las ventanas y una pesada puerta revestida de hierro. De alguna parte apareció un profesor de informática (parecía el compañero más importante después del director), cuya tarea principal era asegurarse de que nadie tocara nada. Nada en absoluto. Incluso la puerta de entrada.
En las aulas se pueden encontrar con mayor frecuencia los sistemas BK-0010 (en sus variantes) y BK-0011M.

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo
Foto tomada por lo tanto

A los niños se les explicó la estructura general, así como una docena de comandos BÁSICOS para que pudieran dibujar líneas y círculos en la pantalla. Para los grados junior y middle, esto probablemente fue suficiente.

Hubo algunos problemas con la preservación de las creaciones (programas). La mayoría de las veces, las computadoras que usaban controladores monocanal se combinaron en una red con una topología de "bus común" y una velocidad de transmisión de 57600 baudios. Por regla general, sólo había una unidad de disco y a menudo las cosas salían mal. A veces funciona, a veces no, a veces la red se congela, a veces el disquete es ilegible.

Luego llevé conmigo esta creación con una capacidad de 360 ​​kB.

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

Las posibilidades de que volviera a salir de mi programa eran del 50 al 70 por ciento.

Sin embargo, el principal problema de todas estas historias sobre ordenadores de BC fueron los congelamientos interminables.

Esto podría suceder en cualquier momento, ya sea escribiendo código o ejecutando un programa. Un sistema congelado significaba que pasabas 45 minutos en vano, porque... Tuve que hacerlo todo de nuevo, pero el tiempo restante de la lección ya no era suficiente para ello.

Más cerca de 1993, en algunas escuelas y liceos aparecieron clases normales con 286 coches, y en algunos lugares incluso tres rublos. En cuanto a lenguajes de programación, había dos opciones: donde terminaba “BASIC”, comenzaba “Turbo Pascal”.

Programación en "Turbo Pascal" usando el ejemplo de "tanques"

Usando Pascal, a los niños se les enseñó a construir bucles, dibujar todo tipo de funciones y trabajar con matrices. En el Liceo de Física y Matemáticas, donde “viví” durante un tiempo, se asignaba una pareja por semana a informática. Y durante dos años existió este lugar aburrido. Por supuesto, quería hacer algo más serio que mostrar los valores de una matriz o algún tipo de sinusoide en la pantalla.

Tanques

Battle City fue uno de los juegos más populares en las consolas clonadas de NES (Dendy, etc.).

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

En 1996, la popularidad de los 8 bits había pasado, llevaban mucho tiempo acumulando polvo en los armarios y me pareció genial hacer un clon de "Tanks" para PC a gran escala. Lo que sigue es cómo en aquel entonces era necesario esquivar para poder escribir algo con gráficos, un mouse y sonido en Pascal.

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

Solo puedes dibujar palos y círculos.

Comencemos con los gráficos.

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

En su versión básica, Pascal te permitía dibujar algunas formas, pintar y determinar los colores de los puntos. Los procedimientos más avanzados del módulo Graph que nos acercan a los sprites son GetImage y PutImage. Con su ayuda, fue posible capturar una sección de la pantalla en un área de memoria previamente reservada y luego usar esta parte como una imagen de mapa de bits. En otras palabras, si desea reutilizar algunos elementos o imágenes en la pantalla, primero los dibuja, los copia en la memoria, borra la pantalla, dibuja el siguiente, y así sucesivamente hasta crear la biblioteca deseada en la memoria. Como todo sucede rápidamente, el usuario no nota estos trucos.

El primer módulo donde se utilizaron sprites fue el editor de mapas.

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

Tenía un campo de juego señalizado. Al hacer clic con el mouse, apareció un menú donde podía seleccionar una de las cuatro opciones de obstáculos. Hablando del ratón...

El ratón ya es el final de los 90.

Por supuesto, todos tenían ratones, pero hasta mediados de los 90 se usaban solo en Windows 3.11, paquetes de gráficos y una pequeña cantidad de juegos. Wolf y Doom se jugaron sólo con el teclado. Y en el entorno DOS el ratón no era especialmente necesario. Por lo tanto, Borland ni siquiera incluyó el módulo de mouse en el paquete estándar. Tuviste que buscarlo a través de tus conocidos, quienes alzaron las manos y exclamaron: “¿Para qué lo necesitas?”.

Sin embargo, encontrar un módulo para sondear el mouse es sólo la mitad de la batalla. Para hacer clic en los botones de la pantalla con el mouse, era necesario dibujarlos. Además, en dos versiones (prensada y no prensada). Un botón que no se presiona tiene una parte superior clara y una sombra debajo. Cuando se presiona, es al revés. Y luego dibújelo en la pantalla tres veces (sin presionar, presionado y luego sin presionar nuevamente). Además, no olvide establecer retrasos para la visualización y ocultar el cursor.

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

Por ejemplo, procesar el menú principal en código se veía así:

Tanchiki en Pascal: cómo se enseñaba programación a los niños en los años 90 y qué tenía de malo

Sonido: solo altavoz de PC

Una historia aparte con sonido. A principios de los noventa, los clones de Sound Blaster apenas se estaban preparando para su marcha victoriosa y la mayoría de las aplicaciones solo funcionaban con el altavoz incorporado. La máxima de sus capacidades es la reproducción simultánea de un solo tono. Y eso es exactamente lo que Turbo Pascal te permitió hacer. Mediante el procedimiento de sonido era posible "chirriar" con diferentes frecuencias, lo cual es suficiente para los sonidos de disparos y explosiones, pero para un protector de pantalla musical, como estaba de moda entonces, esto no era adecuado. Como resultado, se encontró una solución muy astuta: en el propio archivo del software se descubrió un "archivo exe", descargado una vez desde algún BBS. Podía hacer milagros: reproducir wavs sin comprimir a través de un altavoz de PC, y lo hacía desde la línea de comandos y no tenía una interfaz real. Todo lo que se necesitaba era llamarlo a través del procedimiento ejecutivo de Pascal y asegurarse de que esta construcción no colapsara.

Como resultado, la música asesina apareció en el protector de pantalla, pero sucedió algo gracioso con ella. En 1996, tenía un sistema en un Pentium 75, puesto a 90. Todo funcionó bien. En la universidad donde nos instalaron Pascal en el segundo semestre, había “tres rublos” muy gastados en el aula. De acuerdo con el profesor, llevé estos tanques a la segunda lección para hacerme una prueba y no volver a ir allí. Y así, después del lanzamiento, del altavoz salió un fuerte rugido mezclado con gorgoteos guturales. En general, la “tarjeta de tres rublos” DX de 33 megahercios resultó incapaz de hacer girar correctamente ese mismo “ejecutable”. Pero por lo demás todo estuvo bien. Por supuesto, sin contar el lento sondeo del teclado, que estropeó todo el juego, independientemente del rendimiento del PC.

Pero el principal problema no está en Pascal.

Según tengo entendido, "Tanques" es lo máximo que se puede extraer del Turbo Pascal sin inserciones de montaje. Las deficiencias obvias del producto final son la lentitud en el sondeo del teclado y la lentitud en la representación de gráficos. La situación se vio agravada por el número extremadamente pequeño de bibliotecas y módulos de terceros. Se podían contar con los dedos de una mano.

Pero lo que más me molestó fue el enfoque de la educación escolar. Entonces nadie hablaba a los niños de las ventajas y posibilidades de otros idiomas. En clase, casi de inmediato comenzaron a hablar sobre comenzar, imprimir y si, lo que encerró a los estudiantes dentro del paradigma BASIC-Pascal. Ambos idiomas pueden considerarse exclusivamente educativos. Su uso en “combate” es poco común.

Por qué enseñar a los niños idiomas falsos es un misterio para mí. Que sean más visuales. Dejemos que se utilicen variaciones de BASIC aquí y allá. Pero, en cualquier caso, si una persona decide vincular su futuro con la programación, tendrá que aprender otros lenguajes desde cero. Entonces, ¿por qué no deberían asignarse a los niños las mismas tareas educativas, pero sólo en una plataforma normal (el lenguaje), dentro de la cual pudieran desarrollarse de forma independiente?

Hablando de tareas. En la escuela y en la universidad siempre eran abstractos: calcular algo, construir una función, dibujar algo. Estudié en tres escuelas diferentes, además teníamos a “Pascal” en el primer año del instituto, y ni una sola vez los profesores plantearon ningún problema aplicado real. Por ejemplo, haz un cuaderno o algo más útil. Todo fue descabellado. Y cuando una persona pasa meses resolviendo problemas vacíos, que luego van a la basura... En general, la gente ya sale del instituto quemada.

Por cierto, en el tercer año de la misma universidad nos dieron "plus" en el programa. Parecía algo bueno, pero la gente estaba cansada, llena de falsificaciones y tareas de “entrenamiento”. Nadie se mostró tan entusiasmado como la primera vez.

PD: Busqué en Google qué idiomas se enseñan ahora en las clases de informática en las escuelas. Todo sigue igual que hace 25 años: Basic, Pascal. Python viene en inclusiones esporádicas.

Fuente: habr.com

Añadir un comentario