apresentação ruby

Post on 19-Mar-2016

59 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

APRESENTAÇÃO RUBYAlunos

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

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.

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.

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

Í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

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

PRINCIPAIS CARACTERÍSTICAS•Métodos:

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

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;

PRINCIPAIS CARACTERÍSTICASGerenciamento de Memória:

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

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;

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;

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.

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

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

DIFERENÇAS DA LINGUAGEMDIFERENÇAS DA LINGUAGEM

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.

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.

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.

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.

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

UTILIZAÇÃO DE JAVA COMO PLATAFORMA

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

top related