paradigmas do ruby

12
Paradigmas da Linguagem Ruby sexta-feira, 7 de outubro de 11

Upload: heverson-damasceno

Post on 28-May-2015

3.030 views

Category:

Documents


0 download

DESCRIPTION

Essa apresentação passa uma visão de avaliação da linguagem Ruby, como Legibilidade, Redigibilidade, Confiabilidade.Também cita características que enriquece a linguagem Ruby.

TRANSCRIPT

Page 1: Paradigmas do Ruby

Paradigmas da Linguagem Ruby

sexta-feira, 7 de outubro de 11

Page 2: Paradigmas do Ruby

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

Page 3: Paradigmas do Ruby

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

Page 4: Paradigmas do Ruby

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

Page 5: Paradigmas do Ruby

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

Page 6: Paradigmas do Ruby

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

Page 7: Paradigmas do Ruby

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

Page 8: Paradigmas do Ruby

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

Page 9: Paradigmas do Ruby

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

Page 10: Paradigmas do Ruby

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

Page 11: Paradigmas do Ruby

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

Page 12: Paradigmas do Ruby

Paradigmas Linguagem Ruby

Faculdade Anglo AmericanoCurso: Ciência da ComputaçãoNomes:Heverson Damasceno

sexta-feira, 7 de outubro de 11