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

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



Lo que se les enseñó a programar a los niños.


A principios de los años 90, las escuelas de Moscú comenzaron a equipar selectivamente las computadoras con clases. Las habitaciones se colocaron inmediatamente con rejas en las ventanas y una pesada puerta con tachuelas de hierro. Un profesor de informática apareció de alguna parte (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 clases con mayor frecuencia fue posible cumplir con los sistemas BK-0010 (en sus variedades) y BK-0011M.


Foto tomada desde aquí.

Se les informó a los niños sobre el dispositivo general, así como sobre una docena de comandos BÁSICOS, para que pudieran dibujar líneas y círculos en la pantalla. Para las clases junior y media, probablemente esto fue suficiente.

Con la preservación de sus creaciones (programas), hubo problemas por separado. Muy a menudo, las computadoras que utilizan controladores monocanal se conectan en red con una topología de bus común y una velocidad de transmisión de 57.600 baudios. La unidad, por regla general, era una, y a menudo no iba bien con ella. Funciona, no funciona, la red se cuelga, el disquete no es legible.

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



Las posibilidades de que una vez más le quitara mi programa eran del 50-70 por ciento.
Sin embargo, el principal problema de todas estas historias con las computadoras BK fueron las congelaciones sin fin.
Esto podría suceder en cualquier momento, ya sea un conjunto de código o la ejecución de un programa. Un sistema flotante significaba que vivías en vano durante 45 minutos, porque Tuve que hacerlo de nuevo, pero el tiempo restante de la lección no fue suficiente para esto.

Más cerca de 1993, en escuelas y liceos separados, aparecieron clases normales con 286 automóviles, y en algunos lugares incluso hubo "treshki". En términos de lenguajes de programación, había dos opciones: donde terminó "Básico", comenzó "Turbo Pascal".

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


En 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 Física, donde "viví" alguna vez, asignaron un par por semana a la informática. Y durante dos años este aburrimiento estuvo allí. Por supuesto, quería hacer algo más serio que mostrar los valores de una matriz o alguna sinusoide en la pantalla.

Tanchiki


Battle City fue uno de los juegos de consolas NES más populares (Dendy et al.).



En 1996, la popularidad de los globos de 8 señales pasó, estaban acumulando polvo en los gabinetes durante mucho tiempo, y parecía genial hacer un clon de Tanchiki para PC como algo a gran escala. Además, sobre cómo era necesario esquivar para cortar algo con gráficos, mouse y sonido en Pascal.



Solo puedes dibujar palos y círculos


Comencemos con los gráficos.



En la versión básica, Pascal le permitía dibujar algunas formas, pintar y definir los colores de los puntos. Los procedimientos más avanzados en el módulo Graph que nos acercan a los sprites son GetImage y PutImage. Con su ayuda, fue posible capturar una parte de la pantalla en un área de memoria previamente reservada y luego usar esta pieza 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 se da cuenta de estos trucos.

El primer módulo, donde se usaron sprites, es un editor de mapas.



Tenía un campo de juego marcado. Un clic del mouse mostró un menú donde se podía elegir una de las cuatro opciones para los obstáculos. Hablando del ratón ...

El mouse ya es finales de los 90


Por supuesto, todos tenían ratones, pero hasta mediados de los 90 solo los usaban en Windows 3.11, paquetes de gráficos y una pequeña cantidad de juegos. En Wolf and Doom, solo se cortaron teclados. Y en el entorno DOS, el mouse no era particularmente necesario. Por lo tanto, en Borland, el módulo del mouse ni siquiera se incluyó en el paquete estándar. Debería haber sido buscado por conocidos que se encogieron de hombros y exclamaron: "¿Qué demonios es él para ti?"

Sin embargo, encontrar un módulo para sondear un mouse es solo la mitad de la batalla. Para hacer clic en los botones de la pantalla con el mouse, tenían que dibujarlos. Además, en dos versiones (prensado y no presionado). Un botón no presionado tiene una parte superior clara y una sombra debajo. Presionado al revés. Y luego dibuje en la pantalla tres veces (no presionado, presionado, luego nuevamente no presionado). Además, no olvide poner retrasos en la pantalla, bueno, y ocultar el cursor.



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



Sonido: solo PC Speaker


Una historia separada con sonido. A principios de los noventa, los clones de Sound Blaster se estaban preparando para su marcha victoriosa, y la mayoría de las aplicaciones solo funcionaban con el altavoz incorporado. El máximo de sus capacidades es la reproducción simultánea de un solo tono. Y eso es exactamente lo que hizo Turbo Pascal. A través del procedimiento de sonido, fue posible "chirriar" con diferentes frecuencias, lo cual es suficiente para los sonidos de disparos y explosiones, pero para un protector de pantalla musical, ya que estaba de moda entonces, todo esto no encajaba. Como resultado, se encontró una solución muy complicada: en su propio archivo de software, había un "ejecutable" descargado una vez desde algunos BBS. Sabía cómo hacer milagros: reproducir wav sin comprimir a través de PC Speaker, y lo hizo 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 se bloqueara.

Como resultado, el fondo del pozo Mouzon apareció en la diadema, pero salió algo gracioso. En 1996, tenía un sistema Pentium 75, quebrado a 90. Todo funcionó bien en él. En la universidad, donde nos asignaron Pascal para el segundo semestre, en el aula hubo batallas experimentadas. De acuerdo con el maestro, arrastré estos tanques a la segunda lección para obtener un crédito y no volver allí. Y así, después de comenzar desde el altavoz, un fuerte rugido se mezcló con guturales sonidos guturales. En general, el DX "treshka" de 33MHz no podía girar normalmente el mismo "ejecutable". Pero por lo demás todo estaba bien. Por supuesto, sin contar el sondeo inhibido del teclado, que estropeó todo el juego, independientemente del rendimiento de la PC.


Pero el problema principal no está en Pascal


Según tengo entendido, "Tanchiki" es el máximo que puedes sacar de Turbo Pascal sin insertos de ensamblador. Una de las deficiencias obvias del producto final son las encuestas de teclado lentas y la representación gráfica lenta. 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 sobre todo me molestó el enfoque en la educación escolar. Nadie les contó a los niños sobre las ventajas y posibilidades de otros idiomas. En las lecciones, casi de inmediato comenzaron a hablar acerca de begin, println y if, lo que encerró a los estudiantes dentro del paradigma BASIC-Pascal. Ambos idiomas pueden considerarse exclusivamente educativos. Su uso de "combate" es una ocurrencia rara.

Por qué enseñar idiomas falsos a los estudiantes de secundaria es un misterio para mí. Deja que sean más visuales. Deje que las variaciones básicas se utilicen en algunos lugares. Pero, en cualquier caso, si una persona decide conectar su futuro con la programación, tendrá que aprender otros idiomas desde cero. Entonces, ¿por qué los niños no deberían establecer las mismas tareas educativas, sino solo en una plataforma normal (lenguaje), dentro de la cual podrían desarrollarse más por su cuenta?

Hablando de tareas. En la escuela y el instituto, siempre eran abstractos: contar 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 nunca los maestros plantearon ningún problema real aplicado. Por ejemplo, haga un cuaderno u otra cosa útil. Todo era descabellado. Y cuando una persona resuelve tareas vacías durante meses, que luego van a la canasta ... En general, la gente ya está quemada del instituto.

Por cierto, en el tercer año de la misma universidad, pusieron "ventajas" en nuestro programa. Parece algo bueno, pero la gente estaba cansada, harta de falsificaciones y tareas de "entrenamiento". El entusiasmo, como por primera vez, no se observó en nadie.

PD: busqué en Google el tema de qué idiomas se enseñan en las escuelas en las clases de informática. Como hace 25 años: básico, Pascal. Python es el único intercalado.

Source: https://habr.com/ru/post/464237/


All Articles