Aprendendo a programar

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 🙂

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.

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.
  • Squeak: Learn Programming with Robots: Vai te introduzir no que é fazer um programa.
  • Programming Ruby: Vai te introduzir na linguagem.
  • Ruby Warrior: Mesma idéia do Blocky e do Squeak, mas usando a linguagem Ruby, desta vez. Acho interessante ver este, depois de ler o livro de Ruby, porque você já terá sido apresentado aos conceitos da linguagem.
  • 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.
  • 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.
  • 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.

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?

Anúncios

Uninstall all gems

Sabe quando você manda um bundle install fora do gemset que você pensava que estava?
E, que você se dá conta de que está usando o Ruby do MacOS? E, que quando você tenta usar o gem uninstall nome_da_gem ele dá um erro parecido com:
cannot uninstall, check `gem list -d

Então, como limpar a besteira?

Primeiro, monta um arquivo com as gems que foram instaladas:
gem list | grep '(' | sed "s/ .*//" > installed_gems

Daí você lê o arquivo e manda apagar cada uma das versões instaladas
cat installed_gems | xargs sudo gem uninstall -x -a -i "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8"

Só apagar o arquivo com a lista das gems instaladas.
rm installed_gems

Pronto. Acabei de remover todas as gems instaladas no Ruby do MacOS.

Fontes:
http://docs.rubygems.org/read/chapter/10#page38
http://www.ruby-forum.com/topic/174847#765923

Instalando o Ruby, no Windows, sem o One-click Installer

Estava procurando reproduzir o ambiente Ruby, que eu tenho no Ubuntu, em uma estação Windows. Só que o instalador disponibilizado, é recheado de plugins. Por isso resolvi tentar a versão zipada.

Para minha surpresa, a instalação do pacote zipado é bem tranqüila e, quase, dispensa o One-Click Installer.

Abaixo, a lista de passos que eu segui para ter o ambiente funcionando redondo:

  1. Baixe o Ruby 1.8.6 Binary;
  2. Descompacte o arquivo em uma pasta: C:\ruby, por exemplo;
  3. Adicione a pasta C:\ruby\bin na sua variável de ambiente Path.

Instalando o RubyGems:

  1. Baixe o Rubygems;
  2. Descompacte o arquivo e execute o setup que existe na pasta bin.

Perfeito agora você tem um ambiente sem um mundo de plugins que o One-click Installer coloca no ambiente Windows.

UPDATE:

Para instalar gems basta usar o comando:

 gem install nome_do _gem.

Caso você esteja tentando instalar um gem atrás de um proxy com autenticação, defina a variável de ambiente HTTP_PROXY com a url para o proxy da sua rede:

set HTTP_PROXY=http://nome_de_usuario:senha_do_proxy@url_ou_ip_do_proxy:porta_do_proxy