banner

Notícias

Jul 07, 2023

QuickBASIC continua vivo com QB64

Quando comprei meu primeiro computador, um 386 de segunda mão rodando MS-DOS 6.22, eu não tinha conexão com a Internet. Mas eu tinha o QuickBASIC instalado e uma pilha de revistas de programação que a biblioteca local estava jogando fora, então eu tinha muitas coisas para me manter ocupado. Na época, pensei que QuickBASIC era mais ou menos indistinguível de magia. Eu poderia escrever um código simples e compilá-lo em um .exe, colocá-lo em um disquete e entregá-lo a outra pessoa para rodar em sua própria máquina. Parecia bom demais para ser verdade, como essa tecnologia poderia ser melhorada?

Claro, isso foi há muitos anos e as coisas são muito diferentes agora. As linguagens de programação atuais são mundos mais capazes do que as penosas variantes BASIC dos anos 80 e 90. Mesmo assim, quando encontrei um disquete cheio de programas que escrevi décadas atrás, não pude deixar de pensar em fazê-los funcionar novamente. Com algo como o DOSBox, concluí que deveria ser capaz de instalar o IDE QuickBASIC e executá-lo como se estivesse de volta ao meu confiável 386.

Infelizmente, isso não aconteceria. Talvez eu simplesmente não seja versado o suficiente em DOSBox, mas não consegui fazer com que o IDE realmente executasse qualquer código-fonte que retirei do disquete. Isso foi decepcionante, mas então me ocorreu que os interpretadores BASIC modernos provavelmente estão sendo desenvolvidos em algum canto da Internet, e talvez eu pudesse encontrar uma maneira de executar meu código de quase 30 anos sem ter que depender de um software de 30 anos para faça isso.

Depois de pesquisar um pouco, encontrei o projeto QB64. Este é um ambiente de desenvolvimento QuickBASIC de código aberto que não só é completamente compatível com programas existentes, mas adiciona funções e capacidades que eram impensáveis ​​no meu 386. Exibir um PNG, carregar fontes TTF ou reproduzir um MP3 em segundo plano pode ser realizado com apenas um ou dois comandos.

Tais coisas eram possíveis com o QuickBASIC original, mas existiam mais no domínio das demonstrações técnicas do que qualquer outra coisa. Ah, os jogos que eu poderia ter feito antigamente com software como este! Eu tive que me contentar com bipes e bipes, e mesmo isso exigia que você mesmo descobrisse o tempo dos tons.

Melhor ainda, QB64 é multiplataforma e suporta compilação em binários nativos para Linux, Windows e Mac OS. Isso significava que eu não apenas poderia executar meu código antigo dentro do IDE, mas também compilá-lo em um binário para meu desktop Linux. Não tenho mais um computador Windows, mas com o WINE consegui rodar a versão Windows do QB64 e compilar um .exe que poderia dar aos meus amigos que ainda vivem na idade das trevas.

Você pode até usar o QB64 para compilar o código QuickBasic em um aplicativo Android, embora haja obstáculos consideráveis ​​​​para percorrer e atualmente só funciona no Windows.

Isso pode ser perdido para aqueles que nunca escreveram código BASIC em uma máquina antiga, mas o código a seguir cria uma tela de 800×600, coloca um PNG em tela cheia, reproduz um MP3 e escreve uma mensagem usando uma fonte TrueType.

Como comparação, esta ferramenta QuickBasic para simplesmente exibir uma imagem JPEG tem 653 linhas de código.

Na minha adolescência nervosa, criei uma versão gráfica do jogo estilo “Drugwars”. Você movia um homenzinho por um ambiente pixelizado, comprando e vendendo substâncias que eu tinha ouvido falar em filmes, mas certamente nunca tinha visto pessoalmente. Foi terrível. Mas isso fez parte da minha juventude e pensei que seria divertido ver se eu conseguiria calçar algum flash moderno usando QB64.

Acontece que PNGs transparentes e a capacidade de exibir fontes adequadas tornam as coisas muito mais fáceis. Ser capaz de reproduzir música e efeitos sonoros ambientais em segundo plano faz com que até jogos mal feitos pareçam muito melhores. As capturas de tela a seguir são do menu principal da minha pequena fantasia policial adolescente, antes e depois da aplicação do QB64. Observe que o código-fonte principal em si é mais ou menos o mesmo, estou apenas intercalando-o com a capacidade de carregar e exibir arquivos externos.

Não, você definitivamente não deveria. Não escrevi isso para tentar convencer ninguém a adotar uma linguagem de programação que atingiu o auge antes mesmo de muitos de nossos leitores nascerem. QuickBASIC é uma linguagem antiquada, presa a métodos e limitações desatualizados que confundem o programador moderno. Mas QB64 faz um excelente trabalho de modernização desta linguagem clássica, mesmo que apenas em um grau relativamente pequeno no grande esquema das coisas, para aqueles de nós que começaram a trabalhar nela.

COMPARTILHAR