Primeiro dia: Organizando-se

Para saber o que é esse blog, leia o post Hello World.

Resumo do meu primeiro dia

Estou começando uma jornada de 6 meses e preciso me manter sempre dentro da minha meta, então as palavras de ordem são: organização e planejamento.

Nota importante: nunca, NUNCA comece nada de longo prazo sem planejar todos os detalhes, mesmo que no meio do caminho esse plano sofra algumas alterações. Toda caminhada de 1000 passos sempre começa com o primeiro - e esse primeiro passo deve ser sempre: escrever tudo o que você precisa fazer para atingir a sua meta E MANTER TUDO O QUE VOCÊ ESCREVEU NUM ÚNICO LUGAR. Em outras palavras, esqueça os post-it. Alimente o hábito de ter uma agenda, seja no papel ou eletrônica, que guarde todas as suas informações num único lugar e que seja facilmente acessível. Você vai ver o quanto isso faz diferença na vida de um programador.

Há uns meses atrás confiei toda a minha vida pessoal e profissional aos servidores do Google. Nunca mais precisei de agenda no papel e nunca mais perdi meus dados com formatações e acidentes, além de integrar tudo com meu e-mail, mas depois eu entro nessa questão com mais detalhes.

Meu primeiro passo, portanto, foi criar uma planilha de acompanhamento pra mim mesmo, baseado no que eu esperava de cada mês. Lembre-se, você é um autodidata, não alguém que está surfando a esmo na internet. O objetivo aqui é aprender algo específico com um prazo bem definido, então temos que organizar esse pouco tempo que temos. Segue abaixo o que eu escrevi no papel antes de passar para a planilha:

Primeiro mês
Pretendo entender a linguagem e já fazer meus primeiros programas em C++. Vai ser um pouco mais do que calculadoras e programinhas "Hello World". Vou atingir esse objetivo em 30 dias. Pra calcular esse tempo, me baseei num tutorial que achei de 21 dias. Como vou seguí-lo à risca, deixo mais 9 dias para pesquisar outras referências na internet livremente.

Segundo mês
Pretendo me aprofundar mais em lógica de programação, estruturação de dados, interface e pesquisar bibliotecas que possam me ser úteis. Criar um mini-projeto pessoal para exercitar os conhecimentos adquiridos.

Terceiro mês

Estudar mais a fundo gráficos e interface com o usuário.

Quarto mês
Começar a brincar com o Ogre. Entender a arquitetura e os fundamentos dele.

Quinto mês
Pesquisar bibliotecas que possam ser integradas com o Ogre para a produção de um game e decidir quais usar. Escrever um mini-game básico para testar (um joguinho básico de tiro)

Sexto mês
Começar a trabalhar no Game Secreto que prometi revelar no final da novela. Publicar o novo blog.

Agora que eu já tinha idéia de como seriam esses 6 meses, meu segundo passo foi começar a fuçar tudo o que eu encontrasse sobre C++. Criei uma pasta nos meus favoritos do Firefox e coloquei tudo o que eu achei lá, sem ler muito a fundo, mas organizando por necessidade.

Agora, o terceiro passo: depois de escolher um bom site para me basear, comecei a ler o que eu precisava pra começar a programar. Então, descobri que eu teria um passo a mais antes de escrever meu "Hello World" turbinado: qual ambiente de desenvolvimento escolher?

Passo três ponto um: passei o dia escolhendo o IDE que eu iria trabalhar. É uma tarefa difícil, pois existem muitos deles e cada um é melhor em alguma coisa. Depois de pesquisar as opções gratuitas que existem, acabei optando pelo Code::Blocks, depois de duvidar se baixaria ou não o Eclipse.

O Code::Blocks é um editor de projetos respeitável, já está na versão 8.2, mas o que mais pesou na decisão de escolhê-lo foi o fato de ser recomendado no Wiki da Ogre. Enfim, finalmente eu baixei e instalei tudo o que tinha que instalar e me permiti um bônus: meu primeiro "Hello World" seria um mundo em 3D do Ogre. Afinal, eu tenho que começar com o pé direito.

Então, meu quarto passo foi botar esse Hello World pra funcionar. Sem entender nada de Ogre, baixei o SDK recomendado e me aventurei a instalar junto com o Code::Blocks. Segui umas instruções para compilar uns projetos que vinham junto com ele, mas não deu certo.

Então comecei a fuçar tutoriais de como configurar um projeto do Ogre, e achei meu salvador da pátria: o Eric Draven escreveu um tutorial em português de como configurar uma cena do zero. Achei aquilo ótimo, pois assim eu poderia entender mais a fundo o que estava acontecendo. E li avidamente até o final, fazendo tudo passo-a-passo e descobrindo os confins do Code::Blocks.

Infelizmente, ainda perdi mais um pouco de tempo porque a versão de uma DLL do DirectX não era compatível com o programa que eu compilei e eu tive que olhar em alguns fóruns gringos a solução, mas não foi tão difícil assim de achar. Enfim, depois que consegui rodar o programa, me dei por satisfeito. Estava terminada minha busca do primeiro dia, com a sensação de ter feito mais progressos do que eu imaginava: estou com um SDK funcionando, o Ogre instalado pra eu brincar de vez em quando e um tutorial de 21 dias selecionado a dedo, que vou mesclar com outro de 24 lições pra ter duas abordagens diferentes no aprendizado. Se não entender uma coisa de um, tenho o outro pra explicar. =)

Até amanhã, crianças!


Meu primeiro "Hello World" em C++. Nada mau, né? =)

Cenas do próximo capítulo: amanhã vou ler a lição 01 do tutorial e procurar pessoas pra divulgar esse blog. Adicionar outros desenvolvedores no meu Gmail e MSN, procurar fazer um network. Bingo.

Comentários

Otávio Carneiro disse…
Rafael,

Muito obrigado por compartilhar essas dicas conosco.

Também comecei a programar em outras linguagens e achei que tava na hora de virar "hominho" e aprender C++. Vou tentar acompanhar seu blog com um atraso de 3 anos (ele começou em 2008 e só conheci agora).

Abraço!
Tatau
Rafael, excelente o seu material, está me ajudando muito no curso de Ceiencia da Computação, já que tenho muitas dificuldades na linguagem C++, mas irei seguir seus conselhos e tratar as dificuldades como se elas fossem "inimigos no Space Invaders", tiro nelas e Next Level... Obrigado pelo conteúdo, deixo um convite para divulgar o seu blog no meu blog que ainda está no começo...

http://www.marcio-shark73.blogspot.com/
Bang disse…
Eu estou de olho neste blog.
Espero que vá pra frente.

Postagens mais visitadas deste blog

Quarto, quinto... décimo sexto.

Desvendando o SDL (Simple Directmedia Layer)

Renascendo - ou Os Desafios de aprender C e C++