Sobre
O "aki" de akicode é a palavra japonesa para outono, 秋. No outono, os carvalhos ficam cheios de bolotas. E dentro de uma bolota costuma se esconder um bichinho: um bug. Com o código é a mesma coisa. Há sempre um bug em algum lugar, e encontrá-lo e entendê-lo é a melhor parte de aprender a programar. Por isso o nosso logo é uma bolota.
O akicode é feito para quem está escrevendo seu primeiro programa.
Percebemos que o que mais trava quem está começando geralmente não é a sintaxe, mas tudo o que vem antes de começar: instalar programas, configurar caminhos, mexer em ajustes, e cada sistema faz de um jeito. Então o que o akicode quer fazer é simples: tirar todo esse trabalho do caminho. Você abre um endereço da web e já pode escrever e executar, sem cadastro e sem instalação. Não é um brinquedo simplificado, e sim um ambiente de programação de verdade, e o código que você escreve aqui roda igual em qualquer outro lugar.
No começo, só queríamos rodar um depurador no navegador, para você poder ver seu programa executando passo a passo. Mas para um depurador funcionar são precisos processos de verdade; processos precisam de memória virtual e tabelas de páginas, de um sistema de arquivos, de compatibilidade com o Linux… seguindo um "ainda falta isso" atrás do outro, acabamos escrevendo um sistema operacional inteiro do zero, capaz de rodar gcc, gdb e outras ferramentas que normalmente a gente instala na máquina. Tudo por causa de um depurador: que volta longa.
Claro, ainda está bem longe do Linux de verdade. No fim das contas é uma reimplementação nossa, e em muitos pontos o comportamento não bate com o real: algumas chamadas de sistema ainda não foram feitas, outras foram, mas diferem nos detalhes, e certos programas que rodam direitinho numa máquina real aqui tropeçam de formas estranhas. São bugs que ainda não pegamos, e estamos corrigindo um a um. Se você esbarrar em algum, vai ser ótimo se contar pra gente.
Esse é o akicode, uma ferramenta pequena que ainda está crescendo. Esperamos que ela ajude você a escrever sua primeira linha de código sem tropeços.