Lidando com Dados Heterogêneos em uma Linguagem de Scripting para Jogos Estática

2025-09-21

O autor encontrou desafios ao lidar com dados heterogêneos durante o desenvolvimento de uma linguagem de scripting para jogos estaticamente tipada. O artigo explora várias soluções usadas em diferentes linguagens de programação, incluindo nulo, tipos variantes, uniões não marcadas, tipos soma e subtipagem. O autor finalmente escolhe uma abordagem semelhante a registros variantes em Pascal, equilibrando sintaxe concisa com verificação de tipo em tempo de execução. Isso evita a complexidade da tipagem de fluxo, levando a uma linguagem mais compreensível e amigável ao usuário. É um design inteligente que equilibra a segurança de tipo estático com a facilidade de uso, fornecendo uma solução de linguagem de scripting mais conveniente para o desenvolvimento de jogos.

Leia mais
Desenvolvimento

Um Hobby Inesperado para Programadores: O Encanto do Tricô

2025-06-04

Um programador conta sua jornada de olhar para telas para a experiência tátil do tricô. O artigo compara o tricô a um jogo de mundo aberto, com uma curva de aprendizado suave e infinitas possibilidades. O autor compartilha os benefícios físicos e mentais, a satisfação de criar objetos tangíveis e encoraja outros programadores a experimentarem essa atividade como uma forma de equilibrar trabalho e vida e criar presentes significativos para entes queridos.

Leia mais
Diversos

A Luta Elegante: Projetando Membros Públicos/Privados em uma Linguagem de Script

2025-05-26

Um desenvolvedor, construindo um projeto de console de fantasia, luta para adicionar um sistema de módulos à sua linguagem de script. Explorando várias abordagens para distinguir declarações públicas e privadas - palavras-chave modificadoras (como `public` e `private` do Java), seções modificadoras (como C++), símbolos em identificadores (como o sublinhado do Python), manifestos de exportação (como Scheme) e símbolos em declarações (como `*` do Oberon) - eles se inclinam para uma solução nova: prefixar palavras-chave de declaração com um sublinhado (por exemplo, `rec_` para registros privados, `def_` para funções privadas). Embora não convencional, este método oferece concisão e evita a repetição de símbolos em cada local de uso.

Leia mais
Desenvolvimento sistema de módulos