Tudo o que eu precisava saber sobre programação aprendi com o BASIC

Edsger Dijkstra tinha este sobre o Beginner’s All Purpose Symbolic Instruction Code:

É praticamente impossível ensinar um bom estilo de programação a alunos que tiveram contato prévio com o BASIC; como programadores em potencial, eles estão mentalmente mutilados, sem esperança de regeneração.

Tenho certeza de que ele estava exagerando aqui para ter efeito; por mais que eu admire seu Artigo “The Humble Programmer” de 1972é difícil conciliar essa humildade com a ideia de que escolher a linguagem de programação errada prejudicará a mente do programador. Embora as linguagens de computador continuem a evoluirO maior obstáculo que vejo não é uma escolha específica de linguagem, mas o fato de que os programadores podem escrever FORTRAN em qualquer linguagem. Para citar Pogo, nós conhecemos o inimigo, e o ele somos nós.

Desprezar o BASIC parece um tanto elitista. Como muitos programadores de uma certa idade, Eu cresci com o BASIC.

Mencionei no em um post anterior a curiosa colisão dos primeiros jogos de console e programação que foi o Cartucho de programação BASIC do Atari 2600. Eu precisava ver isso com meus próprios olhos, então comprei uma cópia no eBay.

Cartucho de programação básica do Atari 2600

Também comprei um conjunto do Atari 2600 controladores de teclado. As sobreposições vêm com o cartucho, e os controles se encaixam para formar um tipo primitivo de teclado. (Além disso, se o senhor estiver se perguntando que tipo de coisas eu faço com minha receita de anúncios, infelizmente, comprar porcarias como essa é uma grande parte dela).

Teclados de programação BASIC do Atari 2600

Surpreendentemente, o manual não está disponível em nenhum lugar on-line, portanto, o Eu mesmo o digitalizei. Dê uma olhada. É o hilário. Há um versão HTML transcrita do manualmas é muito menos divertido de ler sem as imagens e os diagramas.

Iniciei uma cópia do Basic Programming ROM no Emulador Stella Atari 2600, depois seguiu o manual e escreveu um pequeno programa BASIC.

Captura de tela da programação BASIC do Atari 2600

O senhor perceberá que todas as outras capturas de tela da programação básica do Atari 2600 na Web estão essencialmente em branco. Isso provavelmente se deve ao fato de que o Eu sou a única pessoa louca o suficiente para realmente tentar programação nesta coisa. Pode parecer doloroso, mas o senhor não tem ideia até tentar trabalhar com esse “IDE”. É hilariante de tão ruim. Eu mal conseguia parar de rir enquanto digitava em meus teclados virtuais. Mas tenho que confessar que, depois de escrever meu primeiro “programa”, senti a mesma emoção visceral de submeter a máquina à minha vontade que sempre senti.

O pacote que recebi do eBay incluía algumas notas de programação escritas à mão que presumo serem da década de 1980.

Código de amostra do Atari 2600

Não é disso que se trata o BASIC – mesmo essa versão do BASIC para Atari 2600, horrivelmente aleijada e com cara de elefante? Descobrir conceitos fundamentais de programação?

É claro que, se o senhor tivesse algum interesse em computadores, não se daria ao trabalho de programar em um Atari 2600. Havia opções muito melhores para jogos e programação na forma de computadores domésticos. E por muito tempo, todo computador doméstico que o senhor podia comprar tinha BASIC gravado na ROM. Quer fosse o Apple //, o Commodore 64 ou o Atari 800, o senhor ligava o computador e era recebido por um prompt de BASIC. Ele se tornou a linguagem nativa do programador amador.

básico na série Apple //

basic na série Atari 8-bit

basic no Commodore 64

Até mesmo o IBM PC tinha BASICA, GW-BASIC e finalmente QBasic, que foi descontinuado com o Windows 2000.

É verdade que, se o senhor quisesse fazer algo remotamente avançado com os antigos computadores domésticos de 8 bits da Apple, Commodore e Atari, tinha que aprender praticamente a linguagem assembly. Não me lembro de nenhuma linguagem compilada em cena até a era do IBM PC e do DOS, principalmente Turbo Pascal. As linguagens compiladas eram esotéricas e caras até a grande democratização do Turbo Pascal, com seu preço muito baixo de US$ 49,99*.

Mesmo que o senhor não tenha as habilidades de programação necessárias para se tornar o próximo David Crane ou Will Wright, ainda havia muitos jogos e programas interessantes que o senhor ainda podia escrever no bom e velho BASIC. Certamente mais do que o suficiente para descobrir se o senhor gostava de programar e se tinha algum talento. O Compilações de computação criativa eram como bíblias de programação para nós.

Jogos de computador BASIC Mais jogos de computador BASIC

Por um longo, longo tempo, se o senhor se interessava por computadores, programava em BASIC. Era tão inevitável quanto o ar que o senhor respirava. Toda vez que o senhor ligava o computador, lá estava aquele prompt de comando piscando para o senhor. Por que o não digitar alguns comandos BASIC e ver o que acontece? E então a sensação de admiração, de possibilidade, de poder desbloquear o universo infinitamente maleável dentro do seu computador. Assim foi iniciada a carreira de milhões de programadores.

O BASIC não mutilou a mente, como afirmou Dijkstra. Na verdade, o BASIC abriu a mente de milhões de jovens programadores. Talvez tenha sido o primeiro teste para determinar se o senhor era uma ovelha programadora ou uma cabra não programadora. Nem todos serão bons, é claro, mas alguns inevitavelmente se tornarão excelentes.

Independentemente de ainda estarmos programando nele ou não, o espírito do BASIC continua vivo em todos nós.

* Como um aparte, o senhor pode notar que Anders Hejlsberg foi o principal autor do Turbo Pascal e, mais tarde, do Delphi; ele agora é um Technical Fellow da Microsoft e o designer-chefe da linguagem C#. Esse é um dos principais motivos pelos quais muitos geeks de longa data, como eu, estão tão entusiasmados com o .NET.