17
A Linguagem Ruby A Linguagem Ruby Por: Bernardo Botelho, Felipe Rabuske, Juliano Flores e Vinícius Bitencourt

A Linguagem Ruby

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Por: Bernardo Botelho, Felipe Rabuske, Juliano Flores e Vinícius Bitencourt

Page 2: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Agenda:

Histórico e Etimologia Características da Linguagem Tipos de Dados Abstratos Organização do Código Sintaxe da Linguagem Tipos de Polimorfismo Modelo de Execução Influências de Outras Linguagens Exemplos de Programas OO Outras Informações

Page 3: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Histórico e Etimologia

Page 4: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Características da Linguagem

• Linguagem de script, interpretada.

• Em Ruby, tudo é um objeto. Tipos como números, que em grande parte das linguagens

são tipos especiais primitivos, em Ruby, são como qualquer outro objeto.

• É uma linguagem multi-paradigma, pode ser escrita de forma imperativa, funcional ou

puramente orientada a objetos.

• Toda a linguagem pode ser redefinida.

• Por ser uma linguagem dinâmica, executa verificações e comportamentos durante a

execução, ao contrarío de outras linguagens como C, que fazem essas verificações

durante a compilação.

• Sua tipagem é dinâmica e forte

• Garbage collected

Page 5: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Tipos de Dados Abstratos

• Numbers: números ponto flutuante e inteiros

• Strings: sequência de bytes.

• Ranges: Intervalos

• Expressões Regulares

• Container types: Arrays, Hashes, Blocks and Iterators

Page 6: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Organização do Código

Arbitrária, não possui regras para localização das declarações de variáveis, como o C

clássico.

Código pode ser modularizado com classes e funções, mas instruções encontradas no

meio dessas declarações são executadas assim que encontradas.

Definição de métodos e funções:

Variável local: local_var

Variável de instância: @instance_var

Variável global: $global_var

Page 7: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Organização do Código

def metodo(par1, par2)#do stuff

End

Classes:

class Pessoadef initialize(nome)

@nome = nomeenddef ola

"Olá, meu nome é #{@nome}."end

end

Page 8: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Sintaxe da Linguagem

Page 9: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Tipos de Polimorfismo

Page 10: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Modelo de Execução

Diversas implementações da linguagem: Ruby MRI, YARV, JRuby, Rubinius, IronRuby,

MacRuby, HotRuby, etc.

YARV (Yet A Ruby VM) para Ruby 1.9:

O interpretador analisa e cria a árvore de sintaxe.

Uma maquina virtual é carregada.

A árvore de sintaxe é percorrida, executando o programa sem levar em

consideração sua estrutura original, somente a da árvore.

Isso torna a execução do Ruby mais rápida que a das demais implementações.

Page 11: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Influências de Outras Linguagens

Altamente influenciada pelo Perl e seu e seu princípio ““there is more than one

way to do it””.

Recebeu influências da linguagem Smalltalk, onde quase tudo é um objeto.

Aproveitou as melhores ideias de outras linguagem, em menor escala, tornando-

a uma linguagem dinâmica e de fácil migração.

Page 12: A Linguagem Ruby

A Linguagem RubyA Linguagem RubyExemplos de Programas OO (1/3)

Page 13: A Linguagem Ruby

A Linguagem RubyA Linguagem RubyExemplos de Programas OO (2/3)

Page 14: A Linguagem Ruby

A Linguagem RubyA Linguagem RubyExemplos de Programas OO (3/3)

Page 15: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Outras Informações

Usos indicados: Aplicações web, administração de redes, automatização de tarefas e

programação de jogos são alguns exemplos;

Não requer IDE (IRB);

Suporta o uso de pacotes (statement require);

Possibilidade de uso de gerenciador de pacotes (Gems);

Possibilidade de uso de frameworks (Rails);

Versão estável: 1.9.3-p0 (30/10/2011).

Page 16: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Dúvidas???

Page 17: A Linguagem Ruby

A Linguagem RubyA Linguagem Ruby

Obrigado!