Skip to content

Ruby or not Ruby

14/04/2010

Bom, este é meu primeiro artigo para o iCaju e hoje eu vim aqui pra levantar a bandeira (e a moral) do Ruby. Vou tentar abordar um pouco da historia da linguagem, seus objetivos, suas características e suas principais aplicações nesse nosso mundo de números binários.

O Ruby é uma linguagem de programação criada em 1995 por Yukihiro Matsumoto ou apenas ‘Matz’, como ficou mais conhecido. É uma linguagem orientada a objetos que possui tipagem dinâmica e forte. Como assim? Vou explicar!

Tipagem dinâmica a maioria de vocês já deve saber o que é e como funciona, mas pra quem não sabe, tipagem dinâmica é uma forma de atribuir tipos às variáveis automaticamente, de maneira que o programador não precise se preocupar em declarar o tipo de nada, a própria linguagem faz esse trabalho pra ele, dando muito mais praticidade. Como exemplo de linguagens de tipagem dinâmica temos o Phyton, o PHP, a maioria dos shells, entre outras.

A tipagem forte é uma característica da linguagem que obriga o uso de tipos compatíveis na realização de operações. Vou exemplificar pra ficar mais claro.

Em linguagens como Java, C# entre outras, é possível concatenar strings com números sem que hajam problemas (“String”+4 = “String4”), porém em Ruby as coisas não funcionam da mesma forma.

O interpretador da linguagem não permite que operações como essas sejam feitas, de maneira que não é possível “somar” deliberadamente uma String com um número (“String”+4 = TypeError: can’t convert Fixnum into String), porém isso não é problema que um simples cast não resolva (“String”+4.to_s = “String4”).

O Ruby é uma linguagem muito prática (apesar do exemplo acima não demonstrar muito isso :P) e foi criada pra ser assim. O Matz quando resolveu criar o Ruby pensou em reunir tudo que ele julgava existir de melhor nas linguagens da época e nesse “pacote” ele colocou muitas características interessantíssimas e mais do que isso, ele fez questão de fazer da linguagem um exemplo de clareza, legibilidade e inteligibilidade. E conseguiu.

Quanto aos tipos, o Ruby mostra-se uma linguagem bastante criteriosa ao ponto de ter, por exemplo, 2 classes/tipos para representar o que nas outras linguagens seria o tipo Boolean. No Ruby o típico Boolean é substituído pela TrueClass e pela FalseClass, mas isso acontece de forma tão transparente que pode passar despercebido aos desavisados. Entre os tipos temos também o Fixnum para números pequenos, Bignum para números grandes, String, Array, Hash, Lambda, Range entre outros.

Caso você queira saber os métodos que cada classe/tipo implementa basta chamar o método methods. Por exemplo, para saber todos os métodos do tipo Fixnum basta chamar Fixnum.methods, que retornará um Array com todos os métodos que podem ser chamados naquele tipo.

Mais uma característica do Ruby é que suas classes, mesmo as classes dos tipos, nunca são fechadas. Essa liberdade possibilita que o programador adicione e sobrescreva os métodos da classe em tempo de execução. Se você sempre achou que deveria haver um método “X” na classe String pra fazer alguma coisa por você de forma mais prática no Ruby você pode escrever esse método e adicionar a classe String tranquilamente. (Ponto pro Ruby!)

É importante dizer também que absolutamente TUDO em Ruby é objeto, até mesmo o mais simples caractere ou o mais simples número são objetos, e além disso a linguagem aceita expressões Lambda e também implementa módulos e blocos de código.

Agora, que vocês já estão um pouco mais ambientados com a linguagem eu vou responder a pergunta que lancei no título (o título não é bem uma pergunta né?!). Por que aprender e usar o Ruby? O programador pode escolher o Ruby para trabalhar:

  • Porque trata-se de uma linguagem orientada a objetos de fácil entendimento e legibilidade
  • Porque se mostra uma linguagem altamente rápida e segura
  • Porque usando Ruby você economiza muitas linhas de código já que esta é uma linguagem de sintaxe bastante simplificada
  • Porque o Ruby é muito robusto o que o torna capaz de realizar desde cálculos complicados até manipulação gráfica sem perda de desempenho
  • Porque o Ruby é livre, grátis e multiplataforma além de também poder criar programas com interface gráfica se usado juntamente com um construtor de interfaces como o Glade

Cansado de tantos porquês? Então vou dar só mais um: porque você precisa saber Ruby pra ser mais competente em Rails, que será o assunto do próximo artigo. Até lá!

Alguns links úteis:

http://www.ruby-doc.org – Site com a documentação oficial do Ruby.

http://www.ruby-lang.org/pt – Site brasileiro do Ruby.

http://ruby-br.org – Comunidade brasileira do Ruby. Pode-se encontrar muita ajuda aqui.

5 Comentários leave one →
  1. 28/05/2010 16:51

    Parabéns, muito legal o artigo!

  2. 29/05/2010 12:58

    Estou esperando é o artigo sobre Rails. Sei que vou acabar fazendo algum trabalho com RoR mais cedo ou mais tarde.

    • MLessa permalink
      29/05/2010 13:20

      É, sei que estou meio atrasado com o artigo de Rails, mas é que o desenvolvimento do Rubye somado com um site que eu estou fazendo tem me tomado muito tempo, mas vou tentar escrever-lo tão breve quanto possível.

      • 31/05/2010 15:16

        Use o d10r.😉

Trackbacks

  1. Rubye – Um agendador de ações em Ruby com GTK « iCaju

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: