Pesquisar este blog

sexta-feira, 16 de fevereiro de 2007

A linguagem Ruby

Coloco aqui as informações sobre uma linguagem interessante que estou estudando, e já até estou fazendo alguma graça...rsrs...

“Ruby é uma linguagem de script interpretada para programação orientada a objetos de um modo fácil e rápido. Ela tem vários recursos para processar arquivos de texto e para fazer tarefas de gerenciamento de sistema (assim como o Perl). Ela é simples, direto ao ponto, extensível e portável. Oh, preciso mencionar, é totalmente livre, o que significa não só livre de precisar pagar para usá-la, mas também a liberdade de usar, copiar, modificar e distribuí-la.”

Quem disse isto nada menos foi o próprio autor dela, Yukihiro “Matz” Matsumoto.

Veja alguns recursos interessante sobre ela...

Recursos da linguagem

● Ruby tem uma sintaxe simples, parcialmente inspirada por Eiffel e Ada.

● Ruby tem recursos de tratamento de exceções, assim como Java e Python, para deixar mais fácil o tratamento de erros.

● Os operadores do Ruby são açúcar sintático para os métodos. Você pode redefini-los facilmente.

● Ruby é uma linguagem completa e pura orientada à objetos. Isso significa que todo dado em Ruby é um objeto, não do jeito de Python e Perl, mas mais do jeito do SmallTalk: sem exceções. Por exemplo, em Ruby, o número 1 é uma instância da classe Fixnum.

● A orientação à objetos do Ruby é desenhada cuidadosamente para ser completa e aberta à melhorias. Por exemplo, Ruby tem a habilidade de adicionar métodos em uma classe, ou até mesmo em uma instância durante o runtime! Então, se necessário, a instância de uma classe pode se comportar diferente de outras instâncias da mesma classe.

● Ruby tem herança única, de propósito. Mas entende o conceito de módulos (chamados de Categories no Objective-C). Módulos são coleções de métodos. Toda classe pode importar um módulo e pegar seus métodos. Alguns de nós acham que isso é um jeito mais limpo do que herança múltipla, que é complexa e não é usada tanto comparado com herança única (não conte C++ aqui, pois lá não se tem muita escolha devido a checagem forte de tipo!).

● Ruby tem closures2 verdadeiras. Não apenas funções sem nome, mas com bindings de variáveis verdadeiras.

● Ruby tem blocos em sua sintaxe (código delimitado por {...} ou do...end). Esses blocos podem ser passados para os métodos, ou convertidos em closures.
1 Um framework pode ser definido como uma software estrutura de auxílio ao desenvolvimento de outros softwares, visando prover agilidade e eficiência para que o programador se livre da implementação de código repetitivo e ... chato.
2 Closures podem ser definidas como funções criadas dentro de outras funções, e que referenciam o ambiente (variáveis) da função externa mesmo depois dela ter saído de escopo, retendo a sua referência.

● Ruby tem um garbage collector que realmente é do tipo marca-e-limpa. Ele atua em todos os objetos do Ruby. Você não precisa se preocupar em manter contagem de referências em libraries externas. É melhor para a sua saúde.

● Escrever extensões em C para Ruby é mais fácil que em Perl ou Python, em grande parte por causa do garbage collector, e em parte pela boa API de extensões. A interface SWIG também está disponível.

● Inteiros em Ruby podem (e devem) ser usados sem contar sua representação interna. Existem inteiros pequenos (instâncias da classe Fixnum) e grandes (Bignum), mas você não precisa se preocupar em qual está sendo utilizado atualmente. Se um valor é pequeno o bastante, um inteiro é um Fixnum, do contrário é um Bignum. A conversão ocorre automaticamente.

● Ruby não precisa de declaração de variáveis. Apenas usa a convenção de nomenclatura para delimitar o escopo das variáveis. Por exemplo: var = variável local, @var = variável de instância, $var= variável global. E não precisa do uso cansativo do self em cada membro da instância.

● Ruby pode carregar bibliotecas de extensão dinamicamente, se o sistema operacional permitir.

● Ruby tem um sistema de threading independente do sistema operacional. Então, para cada plataforma que você roda o Ruby, você tem multithreading de qualquer jeito, até no MS-DOS! ;-)

● Ruby é altamente portável: ela é desenvolvida em sua maioria no Linux, mas funciona em muitos tipos de UNIX, DOS, Windows 95/98/Me/NT/2000/XP, MacOS, BeOS, OS/2, etc.

Esta informações eu tirei de um tutorial que tenho desenvolvido por Eustáquio “TaQ” Rangel.
Para mais informações, segue o link... http://www.ruby-lang.org/en/

Abs a todos

LH

quinta-feira, 1 de fevereiro de 2007

O início...

Bom...estou começando um blog... quem diria.
Logo eu que não ligava muito para isto, mas, por uma coisa e outra, e por um sentimento de poder compartilhar um pouco do que sei, cá estou eu...


Espero poder contribuir um pouco... rsrs

Abs.

Luiz Henrique