Trinta anos depois, QBasic ainda é o melhor



Meu filho mais velho, Noah, tinha sete anos, três meses atrás. Se ele pudesse trocar sua família inteira por duas horas jogando Minecraft, ele o teria feito sem hesitação. Outro amor de sua vida é Super Mario Maker. Fiquei arrepiado quando o vi jogar os níveis pelos quais passei na idade dele. Há cerca de cinco meses, deixei minha família para a peregrinação anual ao Ludum Dare: uma competição de desenvolvedores de jogos, durante a qual nos trancamos em um apartamento com amigos, voltamos ao estado de homem das cavernas, ficamos acordados por 48 horas e criamos um jogo acabado do zero. Quando orgulhosamente demonstrei meu revolucionário jogo AAA para minha esposa, Noah naturalmente se interessou. Então, eu o apresentei ao mundo do código, mostrei a ele como você pode criar um jogo real a partir de palavras simples (ele acabou de aprender a ler). Desde aquele dia, Noah sempre me pediu para me ensinar como fazer meus próprios videogames. E nos cinco meses seguintes, procurei o Santo Graal da linguagem / IDE para crianças, na esperança de transformar essa centelha de interesse em uma experiência memorável ...



Minhas pesquisas me levaram a fóruns intermináveis, por meio dos quais experimentei inúmeras linguagens e plataformas recomendadas: SmallBasic, Pico-8, Smalltalk, Scratch, etc. Eu até fiz perguntas aos grandes oráculos StackOverflow, mas sem sucesso. Cinco meses depois, cheguei a uma conclusão decepcionante: nada se compara ao que tive em meus anos. 30 anos depois, QBasic ainda é a melhor linguagem para iniciantes em programação.



"Deus, por favor, não o ensine a usar GOTO!"


10 PRINT " ,    ?!”
20 GOTO 10






Sim, QBasic é uma linguagem procedural terrível. Ele introduz um conceito que é considerado prejudicial pela maioria, usa uma sintaxe inconveniente para declarações implícitas, não diferencia maiúsculas de minúsculas, os índices nela não começam do zero, e assim por diante, a lista é infinita ... Ao desenvolver uma habilidade , é muito melhor desenvolver os reflexos certos desde o início do que corrigir anos de prática errada. Seguindo este conselho, provavelmente devo começar com o básico da linguagem Ruby que adoro. No entanto, embora a maioria desses conceitos sejam considerados pela maioria dos QBasic como "bandeiras vermelhas", na época eles tinham como objetivo: manter a linguagem simples e acessível; este princípio foi abandonado por todas as outras linguagens em favor da flexibilidade, complexidade e lógica.



Hoje instalei o QBasic no HP Stream de 11 polegadas do meu filho, a instalação teve que ser feita manualmente via DOSBox. Ele clicou duas vezes no ícone da área de trabalho e uma fração de segundo depois vimos o IDE nos cumprimentando com uma tela introdutória que trouxe de volta um monte de memórias para mim:





Então eu disse a Noah que existe um ritual sagrado que todos no círculo secreto de programadores devem ter: começar a aprender com um programa que dá as boas-vindas a todos os programadores do mundo. Enquanto eu ditava a fórmula, ele procurou lentamente cada tecla, digitando cuidadosamente as palavras mágicas com a mão direita: PRINT "hello world"







Ele pressionou F5 e ficou surpreso ao ver como seu código foi copiado em texto exibido em uma tela preta. Ele sorriu, me deu cinco e escreveu o código em seu caderninho para referência futura.





Aprendemos mais alguns comandos: CLS, COLOR, PLAY, INPUT e IF. Nada precisava ser explicado: nenhuma complexidade, nenhum operador estranho, nenhum conceito abstrato, nenhuma documentação para aprender, nenhum conceito de objeto / classe / método, nenhuma estrutura necessária para instalar, nenhuma tonelada de menus e botões no IDE, nenhuma palavra-chave especial ou colchetes. Era um código em toda a sua simplicidade e forma mais puras.



Menos de uma hora depois, ele escreveu seu próprio programa - um aplicativo interativo e incrivelmente sofisticado que diz o que o computador pensa de você:





... que Noah orgulhosamente lançou para seu primo e melhor amigo Christian:





... então ele explicou facilmente como funciona e o que o código faz!





Ou seja, em apenas uma hora, meu filho de sete anos não só conseguiu escrever seu primeiro jogo de texto, mas também sentiu o prazer e a emoção que surgem ao criar, compilar e executar seu próprio programa. Pontos extras para caber em uma página do caderno:





Fiquei tão feliz que ele entendeu porque eu sempre digo que tenho o melhor emprego do mundo.



A única coisa que lamento agora é que por mais de trinta anos não fomos capazes de criar algo melhor para as crianças: Qbasic tem um conjunto limitado de palavras-chave simples (todas as ajudas cabem em uma tela, chamada de F1, e complementadas com exemplos simples!), não distrai o codificador com artefatos visuais, tem um ambiente de desenvolvimento muito compacto e confortável, indica erros imediatamente, compila e executa o código em uma fração de segundo pressionando uma tecla, e também é extremamente simples. Nós construímos linguagens / frameworks / IDEs mais robustos e complexos (que são essenciais para qualquer aplicação prática, é claro), mas nunca encontramos uma maneira mais fácil de obter acesso direto à diversão da programação do que o QBasic . Até o lançamento do QBasic hoje se tornou uma tarefa difícil para iniciantes.rodando em uma máquina Mac / PC / Linux moderna, embora antes bastasse simplesmente inserir um disquete de 3,5 polegadas na pasta A: \ ...



Mas, aliás, chega de sermões, hoje precisamos celebrar o conhecimento de outra pessoa com as alegrias e a beleza da programação!



Viva!






Propaganda



Nossa empresa oferece modernos servidores para aluguel para qualquer projeto. Crie seu próprio plano de tarifas em apenas alguns cliques, a configuração máxima quebra recordes - 128 núcleos de CPU, 512 GB de RAM, 4000 GB NVMe!



Junte-se ao nosso chat do Telegram .






All Articles