DJGPP
Uma toolchain vintage baseada em GCC para MS-DOS, o DJGPP, evoca forte nostalgia entre programadores que aprenderam C/C++ e desenvolvimento de jogos com ela nos anos 1990, muitas vezes ao lado de bibliotecas como Allegro e IDEs como RHIDE. Os comentaristas destacam como ela abriu acesso ao desenvolvimento em 32 bits, às ferramentas GNU e até ao próprio Linux numa época em que compiladores comerciais eram caros, ao mesmo tempo em que esclarecem que o DJGPP é um compilador voltado ao DOS, e não uma camada completa de compatibilidade POSIX como Cygwin ou Wine. Apesar da idade, ele ainda recebe manutenção ocasional e uso de nicho, servindo como ponto de partida para reflexões mais amplas sobre toolchains antigas, portabilidade e a evolução dos ambientes de desenvolvimento.
Aprendizagem, nostalgia e trajetórias pessoais
- Muitos comentaristas aprenderam C/C++ (muitas vezes com livros clássicos) usando DJGPP nos anos 90.
- Padrão comum: DJGPP + RHIDE + Allegro em DOS para os primeiros jogos, gráficos e som.
- Vários descrevem a construção de engines 2D/3D, experimentos com assembly inline e o uso de máquinas 386/486 descartadas.
- Para alguns, o DJGPP foi a porta de entrada para as ferramentas GNU e, por fim, para instalar Linux (muitas vezes Slackware via disquetes e UMSDOS).
O que o DJGPP realmente é
- Descrito como uma toolchain baseada em GCC para MS-DOS (e caixas DOS no Windows), não o Windows em si.
- Permite programas em modo protegido de 32 bits com memória plana, evitando os limites de segmentação de 16 bits e nomes 8.3 (quando no Windows 9x com LFN).
- Suporta C/C++ padrão, mas recursos específicos de Linux ou POSIX (por exemplo,
fork) geralmente não estão disponíveis. - Vários participantes enfatizam que ele não é como o Wine; analogias mais próximas são com mingw do que com Cygwin.
Desenvolvimento de jogos e Quake
- Amplamente usado com Allegro para jogos em DOS; as pessoas comparam a API de nível mais alto e orientada a jogos do Allegro com a abordagem de nível mais baixo do SDL.
- Um tópico observa que o DJGPP foi usado para construir e distribuir o Quake, após uma mudança de Watcom + DOS/4GW.
- Relata-se que o Watcom tinha melhor geração de código na época; o desempenho do Quake dependia principalmente de assembly manualmente otimizado.
- Os benefícios do DJGPP incluíam GCC multiplataforma, modificabilidade e integração com extensores DOS personalizados.
Toolchains, linguagens e esforços de 16 bits relacionados
- Menções a outras toolchains históricas: emx+gcc no OS/2, OpenWatcom, Dev-C++, Code::Blocks.
- Esforços modernos voltados ao DOS: gcc-ia16 (port de GCC 16 bits), Free Pascal, demos de Rust para DOS e um ambiente DOS em JavaScript (DOjS).
- Lembranças de um JVM para DOS (JavaPC, KaffePC) e da dificuldade de encontrá-lo hoje.
Status atual e uso contínuo
- O DJGPP ainda está sendo compilado; ports do GCC 12.2 de cerca de 18 meses atrás são citados.
- Alguém recentemente o empacotou para NixOS.
- O sentimento geral: forte carinho e nostalgia, com reconhecimento de que ferramentas e sistemas operacionais modernos são mais fáceis e mais capazes, mas o DJGPP continua sendo uma toolchain funcional e de nicho.
Debate sobre nome e capitalização
- Debate estendido sobre se “DJGPP” deve ser todo em maiúsculas, se é uma palavra ou sigla, e como a ortografia do inglês trata siglas iniciais.
- Alguns insistem na capitalização prescrita pelo criador; outros priorizam a preferência do usuário e convenções de estilo.