Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

Um pouco sobre como era a “ciência da computação” escolar nos anos 90 e por que todos os programadores eram exclusivamente autodidatas.

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

O que as crianças foram ensinadas a programar

No início dos anos 90, as escolas de Moscou começaram a ser equipadas seletivamente com aulas de informática. Os quartos foram imediatamente equipados com grades nas janelas e uma pesada porta revestida de ferro. De algum lugar apareceu um professor de informática (parecia o camarada mais importante depois do diretor), cuja principal tarefa era garantir que ninguém tocasse em nada. Nada mesmo. Até a porta da frente.
Nas salas de aula é mais comum encontrar os sistemas BK-0010 (em suas variedades) e BK-0011M.

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso
Foto tirada por isso

As crianças foram informadas sobre a estrutura geral, bem como sobre uma dezena de comandos BASIC para que pudessem desenhar linhas e círculos na tela. Para as séries júnior e média, isso provavelmente foi suficiente.

Houve alguns problemas com a preservação das próprias criações (programas). Na maioria das vezes, os computadores que usam controladores monocanal foram combinados em uma rede com uma topologia de “barramento comum” e uma velocidade de transmissão de 57600 baud. Via de regra, havia apenas uma unidade de disco e muitas vezes as coisas davam errado com ela. Às vezes funciona, às vezes não, às vezes a rede está congelada, às vezes o disquete fica ilegível.

Levei então comigo esta criação com capacidade de 360 ​​kB.

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

As chances de eu conseguir tirar meu programa novamente eram de 50 a 70 por cento.

No entanto, o principal problema com todas essas histórias com computadores BC foram os congelamentos intermináveis.

Isso pode acontecer a qualquer momento, seja digitando um código ou executando um programa. Um sistema congelado significava que você gastava 45 minutos em vão, porque... Tive que fazer tudo de novo, mas o tempo restante da aula não dava mais para isso.

Mais perto de 1993, em algumas escolas e liceus, surgiram aulas normais com 286 carros, e em alguns lugares havia até três rublos. Em termos de linguagens de programação, havia duas opções: onde terminava “BASIC”, começava “Turbo Pascal”.

Programação em "Turbo Pascal" usando o exemplo de "tanques"

Usando Pascal, as crianças foram ensinadas a construir loops, desenhar todos os tipos de funções e trabalhar com arrays. No liceu de física e matemática, onde “vivi” por um tempo, um casal por semana era designado para ciência da computação. E por dois anos existiu esse lugar chato. Claro, eu queria fazer algo mais sério do que exibir os valores de um array ou algum tipo de senóide na tela.

Tanques

Battle City foi um dos jogos mais populares em consoles clones NES (Dendy, etc.).

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

Em 1996, a popularidade dos 8 bits havia passado, eles já acumulavam poeira nos armários há muito tempo e me pareceu legal fazer um clone de “Tanks” para PC como algo em grande escala. O que se segue é como naquela época era necessário esquivar-se para escrever algo com gráficos, mouse e som em Pascal.

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

Você só pode desenhar palitos e círculos

Vamos começar com gráficos.

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

Em sua versão básica, Pascal permitia desenhar algumas formas, pintar e determinar as cores dos pontos. Os procedimentos mais avançados do módulo Graph que nos aproximam dos sprites são GetImage e PutImage. Com a ajuda deles, foi possível capturar uma seção da tela em uma área de memória previamente reservada e depois utilizar esse pedaço como uma imagem bitmap. Ou seja, se quiser reaproveitar alguns elementos ou imagens da tela, primeiro você os desenha, copia para a memória, apaga a tela, desenha o próximo e assim sucessivamente até criar a biblioteca desejada na memória. Como tudo acontece rapidamente, o usuário não percebe esses truques.

O primeiro módulo onde os sprites foram utilizados foi o editor de mapas.

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

Tinha um campo de jogo marcado. Clicar com o mouse abriu um menu onde você pode selecionar uma das quatro opções de obstáculos. Falando em rato...

O mouse já é o fim dos anos 90

Claro, todo mundo tinha mouse, mas até meados dos anos 90 eles eram usados ​​​​apenas no Windows 3.11, em pacotes gráficos e em um pequeno número de jogos. Wolf e Doom foram tocados apenas com o teclado. E no ambiente DOS o mouse não era particularmente necessário. Portanto, a Borland nem sequer incluiu o módulo do mouse no pacote padrão. Você tinha que procurá-lo através de seus conhecidos, que levantaram as mãos e exclamaram em resposta: “Para que você precisa dele?”

No entanto, encontrar um módulo para pesquisar o mouse é apenas metade da batalha. Para clicar nos botões da tela com o mouse, eles tiveram que ser desenhados. Além disso, em duas versões (prensado e não prensado). Um botão que não está pressionado tem uma parte superior clara e uma sombra abaixo dele. Quando pressionado, é o contrário. E então desenhe na tela três vezes (não pressionado, pressionado e depois não pressionado novamente). Além disso, não se esqueça de definir atrasos para exibição e ocultar o cursor.

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

Por exemplo, o processamento do menu principal em código ficou assim:

Tanchiki em Pascal: como as crianças aprendiam programação nos anos 90 e o que havia de errado com isso

Som – somente alto-falante do PC

Uma história separada com som. No início dos anos XNUMX, os clones da Sound Blaster estavam apenas se preparando para sua marcha vitoriosa, e a maioria dos aplicativos só funcionava com o alto-falante embutido. O máximo de suas capacidades é a reprodução simultânea de apenas um tom. E foi exatamente isso que o Turbo Pascal permitiu que você fizesse. Através do procedimento sonoro era possível “guinchar” com diferentes frequências, o que é suficiente para sons de tiros e explosões, mas para um protetor de tela musical, como estava na moda na época, isso não era adequado. Como resultado, foi encontrada uma solução muito astuta: no próprio arquivo do software, foi descoberto um “arquivo exe”, baixado uma vez de algum BBS. Ele podia fazer milagres - reproduzir wavs não compactados através de um alto-falante de PC, e fazia isso na linha de comando e não tinha uma interface real. Tudo o que foi necessário foi chamá-lo através do procedimento exec Pascal e garantir que essa construção não entrasse em colapso.

Como resultado, a música matadora apareceu no protetor de tela, mas algo engraçado aconteceu com ela. Em 1996, eu tinha um sistema em um Pentium 75, aumentado para 90. Tudo funcionava bem nele. Na universidade onde Pascal foi instalado para nós no segundo semestre, havia “três rublos” desgastados na sala de aula. De acordo com a professora, levei esses tanques para a segunda aula para fazer uma prova e não voltar lá. E assim, após o lançamento, um rugido alto misturado com sons guturais gorgolejantes saiu do alto-falante. Em geral, o “cartão de três rublos” DX de 33 megahertz revelou-se incapaz de girar adequadamente o mesmo “executável”. Mas fora isso estava tudo bem. Claro, sem contar a lentidão do teclado, que estragou toda a jogabilidade, independente do desempenho do PC.

Mas o principal problema não está em Pascal

No meu entendimento, “Tanks” é o máximo que poderia ser extraído do Turbo Pascal sem inserções de montagem. As deficiências óbvias do produto final são a lentidão na pesquisa do teclado e na renderização gráfica lenta. A situação foi agravada pelo número extremamente pequeno de bibliotecas e módulos de terceiros. Eles poderiam ser contados nos dedos de uma mão.

Mas o que mais me incomodou foi a abordagem da educação escolar. Ninguém contou às crianças sobre as vantagens e possibilidades de outras línguas. Na aula, quase imediatamente começaram a falar sobre start, println e if, o que prendeu os alunos dentro do paradigma BASIC-Pascal. Ambas as línguas podem ser consideradas exclusivamente educacionais. Seu uso em “combate” é uma ocorrência rara.

Por que ensinar línguas falsas às crianças é um mistério para mim. Deixe-os ser mais visuais. Deixe que variações do BASIC sejam usadas aqui e ali. Mas, em qualquer caso, se uma pessoa decidir vincular seu futuro à programação, terá que aprender outras linguagens do zero. Então, por que não deveriam ser dadas às crianças as mesmas tarefas educativas, mas apenas numa plataforma normal (linguagem), dentro da qual pudessem desenvolver-se de forma independente?

Falando em tarefas. Na escola e na faculdade sempre foram abstratos: calcular alguma coisa, construir uma função, desenhar alguma coisa. Estudei em três escolas diferentes, e tivemos “Pascal” no primeiro ano do instituto, e nem uma vez os professores apresentaram algum problema real aplicado. Por exemplo, faça um caderno ou qualquer outra coisa útil. Tudo era rebuscado. E quando a pessoa passa meses resolvendo problemas vazios, que depois vão para o lixo... Em geral as pessoas já saem do instituto esgotadas.

Aliás, no terceiro ano da mesma universidade, ganhamos “vantagens” no programa. Parecia uma coisa boa, mas o povo estava cansado, cheio de farsas e tarefas de “treinamento”. Ninguém ficou tão entusiasmado como da primeira vez.

PS: Pesquisei no Google quais idiomas são ensinados agora nas aulas de ciência da computação nas escolas. Tudo é igual a 25 anos atrás: Basic, Pascal. Python vem em inclusões esporádicas.

Fonte: habr.com

Adicionar um comentário