Apresentação Ruby

21
APRESENTAÇÃO RUBY Alunos Luís Gustavo T. Cordeiro Jhonatan C. Morais Guilherme S. Pinheiro Octávio Richter

description

Apresentação Ruby. Alunos Luís Gustavo T. Cordeiro Jhonatan C. Morais Guilherme S. Pinheiro Octávio Richter. Histórico. Desenvolvida no Japão em 1995, por  Yukihiro " Matz " Matsumoto. Linguagem de script. Mais poderosa do que Perl, e mais orientada a objetos do que Python. - PowerPoint PPT Presentation

Transcript of Apresentação Ruby

Page 1: Apresentação Ruby

APRESENTAÇÃO RUBYAlunos

• Luís Gustavo T. Cordeiro• Jhonatan C. Morais• Guilherme S. Pinheiro• Octávio Richter

Page 2: Apresentação Ruby

HISTÓRICODesenvolvida no Japão em 1995, por Yukihiro "Matz" Matsumoto.

• Linguagem de script.• Mais poderosa do que Perl, e mais orientada a

objetos do que Python.Uniu partes das suas linguagens favoritas:

• Perl, Smalltalk, Eiffel, Ada e Lisp.Equilibra a programação funcional com a programação imperativa.

Page 3: Apresentação Ruby

IDEAIS DO CRIADOR• “Tento tornar o Ruby natural, não simples”

• “O Ruby é simples na aparência, mas muito complexo no interior, tal como o corpo humano.” Matz

Por que esse nome?• O nome “Ruby”, foi decidido durante uma sessão de bate-

papo online entre Matsumoto e Keiju Ishitsuka antes de sua utilização. Inicialmente foram propostos dois nomes: “Coral” e “Ruby”

• Matsumoto escolheu Ruby por ser a pedra zodiacal de um de seus colegas.

Totalmente livre. Não somente livre de custos, mas também livre para utilizar, copiar, modificar e distribuir.

Page 4: Apresentação Ruby

CRESCIMENTOLista de discussão em inglês chamada Ruby-Talk

• principal lista de correio para a discussão sobre a linguagem Ruby subiu para uma média de 200 mensagens diárias.

O primeiro livro em inglês, Programming Ruby, liberado gratuitamente para o público, ajudou no processo de adoção de Ruby por falantes do inglês.

• Por volta de 2005, o interesse pela linguagem Ruby subiu em conjunto com o Ruby on Rails, um framework de aplicações web popular escrito em Ruby.

Eleita Linguagem de Programação do Ano em 2006

Page 5: Apresentação Ruby

ÍNDICE TIOBEPositionDec 2012

PositionDec 2011

Delta in PositionProgramming

LanguageRatings

Dec 2012Delta 

Dec 2011Status

1 2 C 18.696% +1.64%   A

2 1 Java 17.567% +0.01%   A

3 5 Objective-C 11.116% +4.31%   A

4 3 C++ 9.203% +0.95%   A

5 4 C# 5.547% -2.66%   A

6 6 PHP 5.541% -0.46%   A

7 7 (Visual) Basic 5.174% +0.42%   A

8 8 Python 3.848% +0.36%   A

9 9 Perl 2.174% -0.30%   A

10 11 Ruby 1.728% +0.23%   A

11 10 JavaScript 1.321% -0.88%   A

12 12Delphi/Object

Pascal0.977% -0.27%   A

13 13 Lisp 0.949% -0.23%   A

14 16 Pascal 0.894% +0.16%   A

15 35 Visual Basic .NET 0.889% +0.53%   A

16 17 Ada 0.648% +0.02%   B

17 22 MATLAB 0.608% +0.07%   B

18 21 Lua 0.601% +0.05%   A--

19 19 Assembly 0.580% +0.02%   B

20 14 PL/SQL 0.574% -0.23%   B

Page 6: Apresentação Ruby

PRINCIPAIS CARACTERÍSTICASEstrutura Geral:

• Linguagem interpretada;• Orientada à objetos (“tudo” é objeto);• Portável;• Trabalha com herança, classes, métodos, polimorfismo e

escalonamento;• Sintaxe relativamente simples e de fácil compreensão

Page 7: Apresentação Ruby

PRINCIPAIS CARACTERÍSTICAS•Métodos:

– Possibilidade de dinamicamente expandir os parâmetros;– Pode retornar qualquer tipo;

Page 8: Apresentação Ruby

PRINCIPAIS CARACTERÍSTICAS•Variáveis:

– Referencias para objetos (não existe ponteiros);– “Não” possuem tipo;– Não precisam ser declarados antes de serem utilizados;– Atribuição de valor é feita através de referencias;

Page 9: Apresentação Ruby

PRINCIPAIS CARACTERÍSTICASGerenciamento de Memória:

• Feito automaticamente pelo próprio interpretador;• Acontecem poucos erros ou travamentos;

Page 10: Apresentação Ruby

PRINCIPAIS CARACTERÍSTICASThreads:

• Não há necessidade de uma biblioteca externa;• Implementação ocorre em nível de usuário;• Criação de novos processos é feita pelo método da classe

Kernel;• Sincronização é feita através do mutex;

Page 11: Apresentação Ruby

PRINCIPAIS CARACTERÍSTICAS

•Flexibilidade:– Permite aos seus utilizadores alterar partes da linguagem;– Partes essenciais podem ser removidas ou referenciadas à

vontade;– Acrescentar partes as já existentes;

Page 12: Apresentação Ruby

JAVA WEB X RUBY ON JAVA WEB X RUBY ON RAILSRAILS•Produtividade e curva de aprendizado;• Simplicidade;• Manutenção;• Internacionalização (UTF-8);• Aplicativos de suporte;• Funções adicionais (bibliotecas);• Manipulação de dados;• Suporte ao longo prazo.

Page 13: Apresentação Ruby

DIFERENÇAS DA LINGUAGEMDIFERENÇAS DA LINGUAGEMJava Ruby

Definição de métodos Entre “{}” “end”

Utilização de bibliotecas “import” “require”Parâmetros de métodos Entre “()” Parêntesis opcionaisAtributos Privados, protegidos,

públicosprivados

Orientação a objetos Variáveis primitivas e de instância

Tudo é objeto

Instanciação x = new X(); x = X.newConstrutor Nome da classe initializeTipagem Estática Dinâmica

Condições Expressões lógicas Tudo é verdadeiro, exceto false e nil

Sobrescrita Apenas métodos Métodos e operadoresEncapsulamento Classes encapsuladas Classes abertas

Page 14: Apresentação Ruby

• Final de linha• Enums• Char• Acesso de atributos• Nome de métodos

DIFERENÇAS DA LINGUAGEMDIFERENÇAS DA LINGUAGEM

Page 15: Apresentação Ruby

PRESENÇA DE RUBY NO MERCADO

• Ruby e suas tecnologias são utilizadas por grandes corporações em diversos tipos de aplicações, destinadas por exemplo, a telefonia, gerência de sistemas e redes, portais corporativos, comércio eletrônico, redes sociais e até mesmo robótica.

Page 16: Apresentação Ruby

PRESENÇA DE RUBY NO MERCADO

• Segundo informação do site Workingwithrails, grandes empresas brasileiras como Rede Globo, Grupo Abril, Locaweb, e gigantes internacionais como BBC, AOL, Amazon, Groupon entre outras utilizam a tecnologia Ruby on Rails em suas organizações.

Page 17: Apresentação Ruby

RUBY GEMS• Gerenciador de pacotes de Ruby. • Disponibiliza um formato padrão para a distribuição de

programas e bibiliotecas Ruby, são os pacotes denominados “gems”.

• Tem como fonte padrão o seu site oficial (rubygems.org), no site há espaço para desenvolvedores cadastrados disponibilizarem suas bibiliotecas para toda comunidade.

Page 18: Apresentação Ruby

RUBY ON RAILS• Framework livre de desenvolvimento web. Permite

desenvolvimento rápido e fácil de aplicações, seguindo o padrão de arquitetura MVC (Model-View-Controller). Tem sido a maior razão para o sucesso de Ruby na web.

Page 19: Apresentação Ruby

JRUBYImplementação da linguagem Ruby para plataforma Java

• Roda sobre a JVM• Threads Nativas• JIT (Just-in-time compiler)• Garbage colector

• Possibilidade de utilizar bibliotecas e classes Java• Jar's, servlets, hibernate, JDBC, etc.• Suporta Rubygems• Suporta Rails

Page 20: Apresentação Ruby

UTILIZAÇÃO DE JAVA COMO PLATAFORMA

Page 21: Apresentação Ruby

REFERÊNCIAS• http://www.dotlib.com.br/i/4768a22a0d58da3cfa71294e40ed6229.pdf• http://www.ruby-lang.org• http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7

%C3%A3o)• http://www.tryruby.org• http://www.slideshare.net/Belighted/ruby-vs-java• http://www.urubatan.com.br/ruby-on-rails-x-java-web/• http://www.pardontheinformation.com/2008/09/java-vs-ruby-on-rails-

it-is-dead-heat.html• http://jruby.org/• http://rubyonrails.com.br• http://rubygems.org/• http://www.youtube.com/watch?v=5b3qd2VMLws