From Zero to Java
Um site para aprender Java.
Eu criei este site para ensinar Java para qualquer pessoa que queira aprender essa linguagem. Como programador, eu sempre achei frustrante que as linguagens de programação tivessem uma curva de aprendizagem tão árdua. Quando você começa a estudar uma linguagem de programação, é necessário dominar muitos conceitos ao mesmo tempo, isso faz com que o processo de aprendizagem se torne um pouco tedioso.
Além disso, os métodos clássicos para aprender linguagens de programação geralmente acostumam o estudante com más práticas de programação. Nós, a comunidade de programadores, trabalhamos arduamente para banir essas práticas, então por que nós deveríamos ensiná-las aos novos programadores? Estas são algumas das más práticas:
Má prática #1: Escrever código sem testes
Antes de começar a programar, um(a) programador(a) deve sempre ter uma ideia clara sobre o que ele/ela precisa fazer e sobre testes automatizados. Afinal, se você não tem um teste formal para verificar seu progresso, como você pode dizer que você finalizou seu trabalho?
Má prática #2: Código sem build automatizado
O build, o processo de criar um produto de software a partir de um código fonte, deve estar pronto antes de se começar a escrever o código. Todos os programadores profissionais usam algum tipo de sistema para transformar um código fonte em um produto. Seu trabalho não está finalizado até que seu software esteja pronto para ser usado por alguém.
Má prática #3: Resultados não reproduzíveis
A programação está se tornando cada vez mais uma tarefa coletiva. Se você não está preparado para partilhar seu código fonte, você não está preparado para programar. O ambiente de programação deve ser estabelecido de tal forma que outro programador possa facilmente reproduzi-lo. Isso é importante porque, durante a escrita do código fonte, você deverá ser capaz de detectar quando o seu código tiver algum problema, e seus colegas de programação deverão ser capazes de ver o mesmo problema sob o mesmo ângulo.
Nossa solução
Neste curso, nós abordamos os problemas citados acima a partir da aplicação de ferramentas de programação, que são normalmente ocultadas aos iniciantes, mas com as quais, na nossa opinião, os programadores de Java deveriam estar familiarizados desde o começo:
- Solução para má prática #1: Junit – Nós escrevemos os testes unit, você encontra uma forma de fazer os testes passarem.
- Solução para má prática #2: Meaven – Nós escrevemos a automatização do build usando Maven, você simplesmente roda a automação e tudo deve funcionar bem. Os estudantes são livres para verificarem nossos scripts de Maven para aprender como eles funcionam internamente.
- Solução para má prática #3: Vagrant – Nós usamos Vagrant para rodar máquinas virtuais. Nós programamos dentro de máquinas virtuais, assim há pouca diferença entre o ambiente de programação de dois estudantes, mesmo que eles usem sistemas operacionais diferentes em seus computadores.
Por fim, mas não menos importante, todos os conteúdos desse site são software livre, licenciados sobre a Gnu General Public License (GPL), que garante seu direito de usá-lo plenamente sem pagar e, o que é especialmente importante para estudantes, ter acesso ao código fonte de absolutamente tudo. Mesmo o código fonte desta página que você está lendo está disponível gratuitamente aqui: https://github.com/aamm/02j/blob/master/site/src/site/apt/index.apt.
Você pode ver as fontes do projeto na nossa página do GitHub: https://github.com/aamm/02j/.
Sejam bem vindos ao mundo Java! Nós esperamos que você se divirta!
Projetos que nós apoiamos
Esse website só se tornou possível graças a muitos projetos de software livre aos quais nós agradecemos. Aqui está uma pequena lista de tais projetos: