apresentação ruby
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 PresentationTRANSCRIPT
![Page 1: Apresentação Ruby](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/1.jpg)
APRESENTAÇÃO RUBYAlunos
• Luís Gustavo T. Cordeiro• Jhonatan C. Morais• Guilherme S. Pinheiro• Octávio Richter
![Page 2: Apresentação Ruby](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/5.jpg)
Í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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/7.jpg)
PRINCIPAIS CARACTERÍSTICAS•Métodos:
– Possibilidade de dinamicamente expandir os parâmetros;– Pode retornar qualquer tipo;
![Page 8: Apresentação Ruby](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/9.jpg)
PRINCIPAIS CARACTERÍSTICASGerenciamento de Memória:
• Feito automaticamente pelo próprio interpretador;• Acontecem poucos erros ou travamentos;
![Page 10: Apresentação Ruby](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/14.jpg)
• Final de linha• Enums• Char• Acesso de atributos• Nome de métodos
DIFERENÇAS DA LINGUAGEMDIFERENÇAS DA LINGUAGEM
![Page 15: Apresentação Ruby](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/20.jpg)
UTILIZAÇÃO DE JAVA COMO PLATAFORMA
![Page 21: Apresentação Ruby](https://reader034.vdocuments.net/reader034/viewer/2022050912/56814bef550346895db8d495/html5/thumbnails/21.jpg)
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