Java ou C++?

11 11 2007

A partir de agora, os posts desse blog serão técnicos e quinzenais (é realmente trabalhoso elaborar exemplos e tutoriais que funcionem).

Entretanto, uma dúvida cruel me surgiu sobre qual linguagem utilizar. Java ou C++? Abaixo os pontos positivos que considerei para cada uma:

Java

  • É mais fácil do que C++;
  • As faculdades e o mercado hoje tem mais oportunidades para Java do que para C++. Isso representa uma curva de aprendizado menor para quem lê o blog;
  • Muitos exemplos podem ser facilmente convertidos em applets ou JLNP;
  • É a linguagem mais usada para desenvolver jogos casuais, seja na para web ou mobile;
  • Boa parte dos usuários que chegam por aqui são do GUJ;
  • Tem uma API nativa gigantesca;

C++

  • A maior parte dos tutoriais na internet estão escritos em C++;
  • É a linguagem usada pelas grandes empresas de desenvolvimento de jogos no mundo;
  • Tem integração direta com DirectX, OpenGL e recursos nativos do SO;
  • Boa parte dos usuários que chegam por aqui a partir do google buscam especificamente por C++;
  • Tem as diversas frameworks no mercado, seja para jogos 3D, como Iirlich e Ogre, ou para jogos 2D, como a SDL, HGE ou a Popcap Framework;
  • É a única linguagem aceita pelos principais video-games hoje em dia.
  • A maior parte dos livros de jogos está escrito com exemplos em C++;

A dúvida era tão grande que pensei em manter muitos exemplos nas duas linguagens. Mas pensando um pouco melhor, isso se mostrou impraticável. Como vocês podem ver, é difícil escolher entre uma e outra.

Optei pelo C++. Por todas as razões enumeradas acima. Não creio que será muito difícil adaptar meus exemplos à realidade do Java.

Semana que vem posto um artigo descrevendo como configurar o ambiente inicial. Atualmente estou optando pelo compilador GNU para Windows (MINGW), com IDE Code::Blocks. É um ambiente gratuito, simples de configurar e pequeno o suficiente para ser portátil. O Code::Blocks também está disponível para Linux.