Download - Paradigmas do Ruby
Paradigmas da Linguagem Ruby
sexta-feira, 7 de outubro de 11
Introdução
• Desenvolvida por Yukishiro Matsumoto
• Lançada em 1995
• Baseado na linguagem Perl, Smalltalk, Python
• Escrita em C
• Multiplataforma
• O projeto mais famoso é o meta-framework Ruby on Rails.
sexta-feira, 7 de outubro de 11
Características• Interpretada
• não é compilada
• analise sintática é feita em tempo de execução
• Tipagem dinâmica e forte
• não é necessário declaração de variável
• Tipos Primitivos são Classes
• Herança Simples (É usado Mixin’s, ultiliza o conceito de módulos ou coleções de métodos)
• Diferente das linguagens Python e C++
sexta-feira, 7 de outubro de 11
Características• Multi-paradigma
• Orientada Objetos
• Funcional
• Programação Imperativa
• Open Source
• Case-sensitive
• Bibliotécas (Ruby Gems)
sexta-feira, 7 de outubro de 11
Características• Variáveis
• Variáveis de Instância - @cliente
• Variáveis Classes - @@cliente
• Variáveis Globais - $cliente
• Variáveis Locais - cliente
sexta-feira, 7 de outubro de 11
Características• Ver tudo como um Objeto
Cada parcela de informação e código podem receber as suas próprias propriedades e ações.
class MyLib! @@name = "mylib"!! def self.name! ! @@name! endend
MyLib.name#=> "mylib"
class MyOtherLib < MyLib! @@name = "myotherlib"end
MyOtherLib.name#=> "myotherlib"
MyLib.name#=> "myotherlib"
Classe Classe herdando outra
sexta-feira, 7 de outubro de 11
Características• Os métodos sempre retornam algo, nem
que seja nil
• Multiplos retornos por métodos
def um_metodoendum_metodo# nil
def um_metodo 1 == 2-1endum_metodo# true
def um_metodo (1..5).to_aendum_metodo# [1,2,3,4,5]
def um_metodo return 1,2,3enda ,b,c = um_metodoputs a ,b ,c# 1# 2# 3
sexta-feira, 7 de outubro de 11
Critérios de Avaliação• Legibilidade(Facilidade de Leitura e Entendimento)
• Syntaxe limpa # Output “Eu gosto de Ruby”
diz = "Eu gosto de Ruby" puts diz
• Redigibilidade (Facilidade em escrever programas)
• class Carro < Veiculo #suporte a abstração
• carro = 1carro = ”Gol” # não precisa definir o tipo da variável
• Confiabilidade• Verificação de Tipos de variáveis (x.kind_of? Integer)
• Tratamento de Exceção (raise, Throw/Catch)
sexta-feira, 7 de outubro de 11
Critérios de Avaliação
• Facilidade de Aprendizado• Documentação para aprendizado
• Similaridade com outras linguagens (C, Python, Smalltalk)
•Reusabilidade• Possui o Paradigma Orientado a Objetos possuindo Herança
• No Ruby existe o conceito de módulos (chamados categorias em Objective-C). Os módulos são coleções de métodos.
class MyArray include Enumerable end
•Portabilidade• Roda em todos Sistemas Operacionais (Instalando o RVM)
sexta-feira, 7 de outubro de 11
Onde se pode usar?
Testes Automatizados
•Web
•Desktop
•Scripting
•Computação Científica
•Inteligência Artifícial
•Bioinformática
•etc...
sexta-feira, 7 de outubro de 11
Plataformas Suportadas
•Mac OS x •Linux•MS-DOS•BSDs (inclui o FreeBSD e o OpenBSD)•Acorn RISC OS•Microsoft Windows 95, 98, XP, and Vista•OS/2•Amiga•Celulares Symbian Series 60•Plataformas que contém uma Máquina Virtual Java
(Usando JRuby ao invés de Ruby oficial)
sexta-feira, 7 de outubro de 11
Paradigmas Linguagem Ruby
Faculdade Anglo AmericanoCurso: Ciência da ComputaçãoNomes:Heverson Damasceno
sexta-feira, 7 de outubro de 11