BeyondClick

Desenvolvimento de sistemas além do Click…

Aprendendo a programar

beginner, developer, ruby, javascript, and rails

Recentemente, amigos e irmão de amigos que vem me perguntar como começar a programar. De tanto responder a essa pergunta, comecei a criar, na minha cabeça, um guia para iniciante. Basicamente, uma trilha que eu costumo sugerir a todos os que começam. Este guia tem como premissa, formar um programador de Aplicativos Web que irá utilizar a linguagem Ruby com o framework Rails.

Como já expliquei, trabalho com desenvolvimento de software desde 2002. E, já trabalhei com empresas de micro à multi-nacionais. Do setor público, privado, mistas e a Petrobras :)

A primeira coisa que costumo explicar para as pessoas, é que para programadores, saber ler em Inglês não é diferencial, mas requisito.

Dito isso, segue meu caminho das pedras:

  • Blocky: É o primeiro contato com programação que você deveria ter. A partir daqui dá pra ter uma idéia do que é o nosso trabalho.
  • Ruby Warrior: Mesma idéia do Blocky e do Squeak, mas usando a linguagem Ruby, desta vez. Me aprece uma forma mais divertida de ser apresentado aos conceitos da linguagem.
  • Squeak: Learn Programming with Robots: Vai te introduzir no que é fazer um programa. O autor recuperou os diretos do livro. Agora é possível baixá-lo de graça direto do site do autor: http://rmod.lille.inria.fr/botsinc
  • Rails for Zombies: Então, mesmo esquema de aprender com um joguinho. Neste caso, aprender Rails com a temática Zombies :)
  • Agile Web Development with Rails 4: Aqui você vai construir uma aplicativo web de e-commerce usando a linguagem Ruby e o framework Rails. Além de aprender o framework, o livro é útil por sugerir uma forma de trabalho para o programador.
  • W3C HTML: Se você vai fazer aplicações basseadas na Web. É importante ter uma idéia de como fazer uma página Web. Nesta página procure: HTML Educational material.
  • SQL Zoo: #mimimi nosql mimimi. É, NoSQL é interessante, mas a maior parte dos casos, um banco de dados relacional é o que você precisa. E, para usá-lo você precisa entender SQL. A interface é feia. Lembra página dos anos 90. Mas, temos como testar as consultas online.
  • Programming Ruby: Vai te introduzir na linguagem.
  • Javascript: The good parts: Vai ensinar a escrever código JavaScript, a única linguagem que roda no browser, que cause menos problemas para manter e evoluir.
  • Growing Object-Oriented Software, Guided by Tests: Primeira coisa que você deveria aprender, depois de programar, é como validar se seu programa funciona como você espera. Os exemplos estão escritos na linguagem Java, mas é fácil de entender.
  • Server Setups For Your Web Application: Aqui você vai ter uma idéia superficial sobre o que vai precisar estudar para colocar uma aplicação web em produção.

Bônus!

  • Code Combat: Aprenda mais de uma linguagem com o esquema de jogos

Ao final dessa linha de estudo, espero, que você tenha conhecimento suficiente para começar a traçar o seu próprio caminho.

Pretendo atualizar esse texto, caso eu veja algum livro me chame atenção o suficiente, para eu defendê-lo como básico. Por exemplo, quando encontrar um sobre banco de dados relacionais que use, preferencialmente, o SQLite, PostgreSQL ou MySQL nos exemplos.

Esta é a minha visão de como começar a programar. E, você o que pensa sobre ela? Alguma sugestão?

P.S.: “Ei! AC! Por que você não colocou o Rails Tutorial Book?”

Simples, porque ele entra numa vibe de explicar sobre RSpec, Cucumber e outras paradas que eu não acho interessante de mostrar para iniciantes.