1 pontos por GN⁺ 2025-12-13 | 1 comentários | Compartilhar no WhatsApp
  • O autor, que desenvolveu o editor de código pessoal Boo, explica por que pausou o projeto por um tempo para criar uma nova linguagem de programação
  • Boo é um editor baseado em Rust com navegação por teclado centrada no humano e um sistema substituto ao LSP, voltado para uso pessoal mais do que para comercialização
  • Ele considera que processos repetitivos de desenvolvimento reduzem a criatividade e valoriza o prazer de criar software que inspira
  • Usando montagem com blocos de Lego e The Legend of Zelda: Breath of the Wild como exemplos, enfatiza a importância de criações memoráveis
  • Em vez de seguir fórmulas de sucesso, mantém uma filosofia de desenvolvimento centrada nos próprios interesses e no aprendizado, com planos de reescrever o Boo no futuro usando a linguagem que está criando

Projeto Boo e motivação de desenvolvimento

  • Boo é um projeto que o autor criou como um editor de código para si mesmo, com foco na utilidade pessoal mais do que no sucesso popular
    • Boo conta com um recurso de navegação humano-teclado e usa um sistema mais rápido e menos pesado para o sistema operacional no lugar do LSP (Language Server Protocol)
    • Atualmente funciona bem o bastante para ser usado no trabalho do dia a dia, mas não há planos de distribuí-lo como código aberto
  • Tanto o Boo quanto o Rio Terminal foram escritos em Rust e têm estrutura e processo de distribuição semelhantes
    • Essa semelhança passou a parecer um trabalho repetitivo, reduzindo o prazer de desenvolver

Relação entre criação e inspiração

  • Usando a brincadeira com blocos de Lego como exemplo, ele explica que a liberdade de criar uma forma diferente a cada vez é o prazer da criação
    • Em vez de reutilizar repetidamente as mesmas peças, o aspecto mais interessante é o processo de adicionar elementos externos para gerar novos resultados
  • Quanto mais repetitiva a programação se torna, menor a chance de surgir uma criação com efeito “uau”
    • Ele enfatiza que é preciso estar inspirado para criar um software que inspire

Exemplos de software memorável

  • Usando The Legend of Zelda: Breath of the Wild como exemplo, ele menciona um nível de acabamento capaz de levar até pessoas que não jogavam videogame a comprar um console
    • Destaca a força de uma obra que oferece uma experiência que permanece na memória por muito tempo mesmo depois de jogar
  • Ele explica que um software feito com esse nível de cuidado deixa uma impressão emocional nas pessoas

Pausa no Boo e desenvolvimento de uma nova linguagem

  • Boo é um projeto de hobby, não voltado a negócios, sem receita ou prazo final
    • Também não há intenção de criar um grande projeto como o VS Code, e ele não força o andamento do trabalho
  • Para retomar o projeto quando a inspiração voltar, ele colocou o Boo em pausa temporária e agora está desenvolvendo sua própria linguagem de programação
    • No longo prazo, planeja reescrever o Boo nessa linguagem

Filosofia e atitude de desenvolvimento

  • Desenvolver uma nova linguagem é muito trabalho, mas o autor encara isso como um processo de aprendizado prazeroso
    • Ele amplia seu entendimento sobre binários e compiladores enquanto avança no próprio ritmo
  • Em vez de seguir fórmulas de sucesso ou conselhos externos, continua desenvolvendo com base no próprio modo de pensar e nos próprios interesses
  • Este texto também foi escrito usando o Boo

1 comentários

 
GN⁺ 2025-12-13
Opiniões no Hacker News
  • Ao ler o relato de alguém que acordou hoje, tomou café e ficou com a tarde livre porque a família foi dormir, fiquei me perguntando como exatamente os fusos horários deles funcionam. Cheguei a imaginar que talvez fosse uma família que dorme à tarde, ou alguém que acorda à noite para começar o dia

    • Fiz a piada de que talvez o outro hobby dele seja anestesia. Pode até ser que haja uma criança tirando soneca, mas mesmo assim isso daria só umas duas horas de tempo livre
    • A atitude parece gostar de não passar tempo com a família, e isso me soa um pouco estranho. Não parece algo para comemorar
    • Pelo exemplo de “Breath of the Wild”, dá a sensação de estar lendo um post de blog de outra dimensão
    • Talvez seja Espanha. Quem sabe por causa da lendária siesta deles
  • A frase “este editor existe para me divertir” pareceu revigorante. Hoje há uma pressão para que todo projeto paralelo evolua para open source ou SaaS, e isso muitas vezes acaba matando a criatividade. Projetos experimentais como Boo ou Rio parecem nascer justamente dessa liberdade

    • Open source é ótimo, mas acho totalmente válido não aceitar pedidos de patch e apenas publicar o código
    • Hoje a coisa parece ainda pior do que open source ou SaaS: existe uma expectativa de que tudo precise ir para uma escala de nível enterprise. Linguagens pequenas, experimentos, self-hosting e o espírito DIY acabaram virando contracultura
    • Também me identifico com a ideia de “existir para me divertir”. (Emacs)
  • A frase “fiz isso para mim mesmo” é o modo de trabalhar de muitos artistas. Tolkien também era assim, e a maioria cria para si primeiro e só depois mostra ao mundo. Mas em geral ninguém se importa, ou a obra só recebe atenção depois da morte do autor. E tudo bem. O importante é o instinto humano de expressar a imaginação para fora

    • Eu mesmo criei minha biblioteca de canvas com esse espírito. Comecei porque queria expressar poesia de uma forma nova em sites, e isso acabou ocupando meu tempo livre por mais de 10 anos. O resultado está nesta página de poema
    • Uma vez, um e-mail furioso que escrevi acabou virando um artigo de opinião (op-ed) em um jornal local por sugestão de um amigo. Fiquei feliz porque alguém se importou com o que escrevi
    • Se você realmente faz algo para si mesmo, não deveria se importar com o olhar dos outros. Eu também já pensava “o que os outros vão achar?”, mas quando comecei a criar de verdade para mim, a sensação mudou completamente
    • Antigamente, para um artista seguir sua visão, era preciso um mecenas (patron). Hoje o mecenato foi democratizado, mas em troca os cliques passaram a determinar a sobrevivência. É uma pena que os mecenas ricos tenham desaparecido e que o dinheiro agora vá para cripto ou IA
    • Falar em “artista reconhecido só depois da morte” me faz pensar naquele pintor holandês sem uma das orelhas
  • Quando a programação fica repetitiva, o fator “uau” diminui. Mas há exceções, como projetos tipo yt-dlp que suportam uma enorme variedade de sites. Criar incontáveis parsers de dados é entediante, mas no fim isso produz a sensação de “funciona em qualquer lugar”

  • Eu faço software que faz as pessoas sentirem emoções — principalmente raiva. No fim, só existem dois tipos de software: os que são ignorados e os que são usados a ponto de as pessoas reclamarem deles

    • Microsoft Teams e Office 365, por exemplo, claramente despertam emoções, mas alegria não é uma delas
    • O mesmo vale para softwares de DRM. Especialmente casos lendários como o escândalo do rootkit da Sony BMG
    • As ferramentas que criei tentando resolver problemas com os quais eu esbarro todos os dias foram as que saíram com a melhor qualidade. Quando tento generalizar cedo demais, tudo fica mais lento e a qualidade piora
  • Emacs e Emacspeak me despertam emoções enormes. Parece que o sistema inteiro é um único manual, e basta apertar C-h m para todos os comandos aparecerem na hora. Não há nada escondido, nem necessidade de ficar fuçando documentação em HTML. Se algo não funciona, eu corrijo com o Codex e faço acontecer do jeito que eu quero

  • No ideal, o desenvolvimento de software deve ser tratado como artesanato (craft). Assim como a marcenaria, pode ser útil e ao mesmo tempo virar arte. Mas muitos projetos tratam desenvolvedores como operários de fábrica. O problema é uma cultura que valoriza quantidade acima de qualidade.
    Ao mesmo tempo, também não é prático ver software apenas como arte. O objetivo do código não é ser admirado, e sim funcionar. Ainda assim, é uma pena que a expressão “software feito com artesanato” soe estranha

    • Marcenaria no fim também é fazer uma cadeira para sentar, não para olhar. Então não entendo por que software não é visto como artesanato
  • Até FAANGs como Meta e Google já fizeram software que faz as pessoas sentirem emoções — raiva, depressão e às vezes até alegria. Mas isso mostra como uma tecnologia iniciada com boas intenções pode ser deturpada. Como diz a frase, “o caminho para o inferno é pavimentado com boas intenções”: muitas vezes se busca o bem e se produz o mal.
    Citando Knuth, deixar “milhares de cientistas da computação fazerem livremente o que querem” é o motor do progresso. Era assim no Bell Labs, e a liberdade de explorar é importante.
    Hoje há obsessão por otimização, mas pouca habilidade matemática, e acabamos virando uma sociedade que parou de explorar. Acho que é por isso que o progresso desacelerou

    • Tenho uma frase minha: “se você quer pastorear gatos, você mesmo precisa virar um gato”. Para liderar gênios, é preciso se tornar como eles. Às vezes também é preciso dar conta de vários papéis sozinho
  • É um hábito que aprendi com Casey Muratori e Jonathan Blow, e eu também gosto de criar meu pequeno mundo particular. São projetos em que eu sou o único usuário e o único público. Um espaço de prazer puro, sem prazo, sem pedidos, sem runtime

    • Perguntam se “criar seu próprio mundo” quer dizer talvez um mundo geográfico fictício. Tolkien e Stevenson também começaram assim
    • Mas Blow e Casey passam longos períodos sem entregar resultados
  • Hoje em dia, a maior parte do software me provoca emoções fortes

    • Especialmente quando vejo node_modules, fico irritado. E quando vejo apps baseados em Electron, penso: “onde foi que erramos?”. Também detesto colocar UI de mobile no desktop