Ruby é uma linguagem de programação que pretendo aprender há um bom tempo. Conheci ela quando estava olhando o blog do TaQ e um tempo depois resolvi pegar o tutorial dele para conhecer um pouco mais. O pouco que vi gostei

Isso já faz mais de um ano. Infelizmente não tive tempo livre para aprender. No meu aniversário, depois de tanta insistência, ganhei da minha namorada o livro que o TaQ escreveu:
Ruby - Conhecendo a Linguagem .
Infelizmente não pude começar mais cedo a aprender por causa da faculdade. Agora que estou de férias vou tentar começar (me desejem boa sorte ;D).
No prefácio do livro, seu autor diz que começou fazendo anotações do que ia aprendendo e logo isso se tornou uma apostila que, finalmente, virou um livro. Resolvi usar mais ou menos o mesmo método de aprendizado que ele usou. A diferença é que já vou postando direto aqui no blog cada coisa que vou aprendendo 
Gostaria de avisar que as aulas que publicarei serão feitas baseadas no livro do TaQ (que já dei uma lida rápida em alguns capitulos e achei excelente e fácil de aprender), mas tentarei mudar o estilo das aulas e não fazer tudo como está no livro para poder contribuir com algo novo e não apenas copiar um trabalho já pronto
Outra razão de fazer isso é porque não quero eventuais problemas com a editora do livro…
Um pouco mais sobre Ruby
Os Ideais do Criador do Ruby
“Ruby é uma linguagem de equilíbrio cuidadoso. Seu criador,
Yukihiro “matz” Matsumoto , misturou partes de suas linguagens favoritas (Perl, Smalltalk, Eiffel, Ada e Lisp) para formar uma nova linguagem que equilibrava programação funcional com programação imperativa.
Ele tem dito frequentemente que está “tentando fazer Ruby ser natural, não simples”, de forma que espelhe a vida.
Com isso, ele adiciona:
“Ruby é simples em aparência, mas é muito complexa por dentro, assim como nosso corpo humano”.
Vendo Tudo Como um Objeto
Inicialmente, Matz procurou nas outras linguagens para encontrar uma sintaxe ideal. Ao relembrar sua pesquisa, ele diz: “Eu queria uma linguagem interpretada que fosse mais poderosa que Perl e mais orientada à objetos do que Python.”
Em Ruby, tudo é um objeto. Cada pedaço de informação e código pode receber informações e ações próprias. Programação orientada à objetos chama as propriedades pelo nome de variáveis de instância e as ações são conhecidas como métodos. A abordagem puramente orientada à objetos de Ruby é geralmente demonstrada por um pedaço de código que aplica uma ação à um número:
5.times { print "Nós *amamos* Ruby -- É du caralho!" } Em várias linguagens, números e outros tipos primitivos não são objetos. Ruby segue a influência da linguagem Smalltalk ao dar métodos e instanciar as variáveis para todos os seus tipos. Isso facilita o uso, já que regras que se aplicam aos objetos se aplicam em tudo do Ruby.
Aparência Visual do Ruby Enquanto o Ruby frequentemente usa pontuação limitada e usualmente prefere palavras em inglês, algumas pontuações são usadas para decorar a linguagem. Ruby não precisa de declaração de variáveis. Apenas usa convenções de nome simples para denotar o escopo das variáveis.
- var pode ser uma variável local
- @var é uma variável de instância
- $var é uma variável global
Estes sigils aumentam a legibilidade ao permitir ao programador identificar facilmente os papéis de cada variável. Também torna desnecessário o uso cansativo do self. acrescentado no começo de cada membro da instância.
Além do Básico
Ruby tem uma porção de outras características, entre as quais podemos citar:
- Ruby tem a capacidade de cuidar de exceptions, como Java ou Python, o que torna o tratamento de erros mais fácil
- Ruby tem um verdadeiro garbage collector marca-e-limpa para todos os objetos. Não há necessidade de manter contagem de referências nas bibliotecas de extensão. Como Matz diz, “Isso é melhor para sua saúde.”
- Escrever extensões C em Ruby é mais fácil que em Perl ou Python, com uma API elegamente para chamar Ruby pelo C. Isso inclúi chamadas para incorporar Ruby no software, para usar como uma linguagem de script. A interface SWIG também é disponível.
- Ruby pode carregar bibliotecas de extensão dinamicamente se um Sistema Operacional permite.
- Ruby apresenta threading independente. Além disso, para todas as plataformas em que Ruby rod, você também terá multithreading, não importando se seu sistema operacional suporta ou não, mesmo no MS-DOS!
- Ruby é altamente portável: é desenvolvido principalmente no GNU/Linux, mas funciona em vários tipos de Unix, Mac OS X, Windows 95/98/ME/NT/2000/XP, DOS, BeOS, OS/2 etc.
No site oficial tem mais informações. Na própria página “ About Ruby ” mais coisas podem ser encontradas, já que o que traduzi foi apenas parte dela. Se quiser ler mais sobre Ruby e em português, dê uma olhada neste post no blog da minha gatinha 
Antes de finalizar quero aproveitar para convidá-los a conhecer um pouco da linguagem Ruby. O site Try Ruby apresenta um tutorial rápido e simples com uma interface que interpreta os comandos em Ruby. É muito legal, rápido e útil ;D
Outra fonte de aprendizado rápida e simples é o “ Ruby in Twenty Minutes “. É um pequeno tutorial que leva menos de 20 minutinhos para completar. Para usá-lo é necessário (obviamente) já ter o Ruby instalado.
E para quem já programa em alguma outra linguagem, basta clicar aqui para ter uma idéia das diferenças entre Ruby e as outras linguagens…
Ah sim, se quiser começar a ler o tutorial do TaQ , basta clicar aqui para baixá-lo.
Por enquanto é só pessoal ;D Aguardem, pois em breve postarei a primeira aula de Ruby 
Technorati Tags:
Ruby ,
Rails ,
programação ,
programming ,
language ,
linguagem ,
rel="tag">aula ,
aulas ,
introdução ,
tutorial ,
livro ,
método ,
aprendizado ,
About Ruby ,
Yukihiro Matsumoto ,
matz ,
perl ,
smalltalk ,
eiffel ,
ada ,
lisp ,
python ,
objeto ,
orientação à objetos ,
OO ,
variáveis ,
declaração ,
instância ,
sigils ,
garbage collector ,
extensão ,
bibliotecas ,
tratamento de erros ,
SWIG ,
API ,
C ,
threading ,
multithreading ,
Try Ruby Leia Também:
Como havia dito, tive um pequeno acidente de carro que não está sendo tão pequeno assim para o bolso. Esse acidente está me atrapalhando PRINCIPALMENTE a arrumar tempo para escrever no blog. Quanto ante