[PITCH] Linguagem NeoBASIC 🔰 Transpilador para C++ (e outras)
Thomas E. Kurtz e John G. Kemeny, criadores da linguagem BASIC.
Fonte: gerado por Google Gemini em 28 Novembro 2025.
NeoBASIC é uma linguagem de programação que estou criando, ainda em fase de design, visando proporcionar uma experiência melhor de desenvolvimento, ao mesmo tempo em que transpila código para uma linguagem compilada (e de uso geral). É meio que uma linguagem elástica, unindo o melhor dos mundos de Python (velocidade de prototipação) e C++ (velocidade de execução). A menção ao BASIC é pela sua maior velocidade de aprendizado, um esforço que tenho feito para que a linguagem possa ser usada por iniciantes em computação.
Do Passado ao Presente da Programação
Nas décadas de 70 e 80 as revistas de computadores continham programas em BASIC para os entusiastas digitarem em seus computadores e calculadoras pessoais. Eram programas curtos, muitas vezes scripts ou pequenas rotinas. Alguns continham dezenas de linhas e exigiam maior tempo e cuidado na digitação. Mas isso nunca foi problema para quem curtisse programação.
Na década de 90 essas revistas passaram a ser vendidas com CD's porque os programas eram maiores. E foram aumentando a cada ano. Aumentaram em tamanho e também em número, pois a internet trouxe os arquivos HTML e CSS, juntamente com programas em JavaScript - e alguns scripts em PHP, Python, Perl ou Ruby. E o software também se tornou mais diverso, havia agora mais opções como utilitários, editores, jogos, etc.
Hoje, qualquer software utilitário contém centenas ou milhares de linhas de código. Grandes produções de games podem chegar a milhões de linhas de código, e sistemas operacionais contém em média dezenas de milhões de linhas. Antes, um projeto de software em BASIC continha apenas 1 ou 2 arquivos; agora, qualquer projeto conta com dezenas ou centenas de arquivos, muitas vezes distribuídos em vários repositórios e escritos em múltiplas linguagens.
Linguagens da Próxima Geração
Em alguns anos ou décadas, será bastante comum software com milhões de linhas de código, fazendo uso de várias linguagens. Eu acredito que este cenário irá contribuir para o surgimento de novas linguagens que sejam mais legíveis e concisas. Uma nova geração de linguagens, cada qual para uma finalidade específica e projetadas para serem usadas em conjunto (como HTML, CSS e JS).
O software já é algo ubíquo, e estará ainda mais presente em nossas vidas no futuro. A diferença é que será bem maior, em uma ordem de grandeza que hoje seria impraticável. Certamente precisaremos da inteligência artificial para nos ajudar a manter toda essa base. Estaremos escrevendo menos e lendo mais, e também depurando e rastreando código cada vez mais. Será imprescindível também a automação dos testes para validar todo esse código gerado pela IA.
Continuaremos escrevendo código, mas também vamos trabalhar cada vez mais montando e combinando componentes de software pré-fabricados, como peças de um quebra-cabeça, para criarmos soluções mais rapidamente. Auxiliado pela IA, o programador passará a ser não só quem codifica (cada vez menos), mas também quem irá orquestrar a arquitetura do software. Assim nasceu a ideia de NeoBASIC.
Identidade da Linguagem NeoBASIC
A palavra NeoBASIC expressa uma nova iniciativa de linguagem de programação para iniciantes, assim como já foi um dia o BASIC - acrônimo para Beginner's All-purpose Symbolic Instruction Code; em português: Código de Instruções Simbólicas de Uso Geral para Principiantes. A gramática de NeoBASIC foi projetada para ajudar iniciantes a aprender programação com mais facilidade, além de fornecer as ferramentas necessárias para construir softwares confiáveis, eficientes e de alto desempenho.
O emoji 🔰 é chamado Shoshinsha Mark (ou Wakaba) e indica motorista iniciante. Ele foi criado no japão para ser afixado na parte externa do carro, indicando um condutor novato que adquiriu recentemente licença para dirigir. Também temos algo parecido no Brasil, onde vários desenhos e frases são usados, mas acho que o preferido é o 🖕. Adotei o símbolo 🔰 como logo da linguagem para estabelecer que a linguagem deve atender prioritariamente os iniciantes, mantendo-se sempre simples e legível para eles.
O mascote da linguagem é uma quimera chamado ZECA, sigla para "Zero Esforço e Custo em Abstrações". NeoBASIC é uma linguagem baseada nos conceitos de zero-cost abstraction e zero cognitive effort, em que os recursos e abstrações fornecidos são fáceis de assimilar e não impõem nenhuma sobrecarga de desempenho em tempo de execução.
Minha Opinião Sobre a IA
Em março desse ano, o CEO da Anthropic, Dario Amodei, afirmou que em 3 a 6 meses a IA estaria escrevendo 90% do software e, em 12 meses, poderíamos chegar a 100%. Jensen Huang, CEO da Nvidia, foi além e afirmou que programadores estariam obsoletos em pouco tempo e que não seria mais necessário ensinar programação às crianças. Baita papo furado: pesquisas recentes mostram que o uso de IA na engenharia de software já é expressivo nas grandes empresas, mas o total de código gerado pela IA figura entre 20% e 40% em projetos internos. Ainda estamos longe dos 100%.
Sou bem cético em relação ao uso de Vibe Coding para software comercial e do uso do inglês como “a nova linguagem de programação” - nada contra Andrej Karpathy. Não sou especialista como ele, mas pelo que pude absorver até agora, LLMs são não-determinísticos e a alucinação faz parte da coisa (não é bug, é feature). Ainda por um bom tempo não poderemos confiar no código gerado pelos LLMs do mesmo jeito que confiamos no código de máquina gerado pelos compiladores. Quando ao inglês para programação, este artigo "On the foolishness of natural language programming" do cientista Edsger W. Dijkstra explica bem essa questão.
A tecnologia está evoluindo e a IA será certamente de grande valia, mas como ferramenta e não substituindo programadores. Minha opinião é que a IA será essencial para nivelar o jogo entre empresas grandes e pequenas, porque qualquer empreendedor poderá usar a mesma tecnologia usada por corporações multinacionais para criar software que talvez seja melhor e mais rápido. Isso aumentará a competitividade e exigirá que o tempo para lançar novos produtos seja cada vez menor. A criatividade já é hoje o grande diferencial.
Pode ser que a IA elimine alguns empregos, mas não será o fim do trabalho. Talvez você perca seu emprego para a IA ou para alguém que saiba IA, como dizem no Linkedisney. Ou talvez você troque seu emprego pela sua startup (ou cooperativa) e use a IA para concorrer com seu antigo empregador. Sei que nem todos possuem espírito empreendedor, mas quando “a água bater na bunda” todos terão um grande estímulo para fazer a transição; até porque todo mundo tem boleto pra pagar.
Build in Public
Este artigo é um anúncio (e convite) desse projeto que iniciei neste ano e que ainda tem muito chão pela frente. Resolvi adotar o "build in public" com atualizações semanais visando coletar o maior número possível de sugestões, críticas e lições aprendidas de outros programadores. Toda e qualquer opinião é muito bem-vinda.
Ainda não abordei a estrutura da linguagem NeoBASIC porque achei mais relevante trazer um pouco do contexto de sua concepção. Mas nos próximos artigos pretendo apresentar melhor a linguagem e como ela visa resolver alguns problemas, destacando algumas inovações (e maluquices) em construções sintáticas que podem até inspirar o design de novas linguagens. No momento estou elaborando um tópico “Visão Geral” semelhante a esta página Overview da linguagem Odin - achei muito bacana como foi feito.
Ninguém faz nada sozinho nesse mundo. Caso queira acompanhar os trabalhos, ou contribuir de alguma forma, acesse a página do projeto em GitHub/NeoBASIC ou visite o website em www.nebasic.org para saber mais.