Você está na página 1de 21

APRESENTAO RUBY

Alunos

Lus Gustavo T. Cordeiro


Jhonatan C. Morais
Guilherme S. Pinheiro
Octvio Richter

HISTRICO
Desenvolvida no Japo 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 programao funcional com a
programao imperativa.

IDEAIS DO CRIADOR
Tento tornar o Ruby natural, no simples
O Ruby simples na aparncia, mas muito complexo no
interior, tal como o corpo humano. Matz
Por que esse nome?
O nome Ruby, foi decidido durante uma sesso de batepapo online entre Matsumoto e Keiju Ishitsuka antes de sua
utilizao. Inicialmente foram propostos dois nomes: Coral e
Ruby
Matsumoto escolheu Ruby por ser a pedra zodiacal de um de
seus colegas.
Totalmente livre. No somente livre de custos, mas tambm
livre para utilizar, copiar, modificar e distribuir.

CRESCIMENTO
Lista de discusso em ingls chamada Ruby-Talk
principal lista de correio para a discusso sobre a
linguagem Ruby subiu para uma mdia de 200
mensagens dirias.
O primeiro livro em ingls, Programming Ruby,
liberado gratuitamente para o pblico, ajudou no
processo de adoo de Ruby por falantes do ingls.
Por volta de 2005, o interesse pela linguagem Ruby
subiu em conjunto com o Ruby on Rails, um
framework de aplicaes web popular escrito em
Ruby.
Eleita Linguagem de Programao do Ano em 2006

NDICE TIOBE
Position

Position

Dec 2012

Dec 2011

Programming

Ratings

Delta

Language

Dec 2012

Dec 2011

18.696%

+1.64%

Java

17.567%

+0.01%

Objective-C

11.116%

+4.31%

C++

9.203%

+0.95%

C#

5.547%

-2.66%

PHP

5.541%

-0.46%

(Visual) Basic

5.174%

+0.42%

Python

3.848%

+0.36%

Perl

2.174%

-0.30%

10

11

Ruby

1.728%

+0.23%

11

10

JavaScript

1.321%

-0.88%

12

12

0.977%

-0.27%

Delta in Position

Status

Delphi/Object
Pascal
13

13

Lisp

0.949%

-0.23%

14

16

Pascal

0.894%

+0.16%

15

35

Visual Basic .NET

0.889%

+0.53%

16

17

Ada

0.648%

+0.02%

17

22

MATLAB

0.608%

+0.07%

18

21

Lua

0.601%

+0.05%

A--

19

19

Assembly

0.580%

+0.02%

20

14

PL/SQL

0.574%

-0.23%

PRINCIPAIS
CARACTERSTICAS
Estrutura Geral:

Linguagem interpretada;
Orientada objetos (tudo objeto);
Portvel;
Trabalha com herana, classes, mtodos, polimorfismo e
escalonamento;
Sintaxe relativamente simples e de fcil compreenso

PRINCIPAIS
CARACTERSTICAS
Mtodos:
Possibilidade de dinamicamente expandir os parmetros;
Pode retornar qualquer tipo;

PRINCIPAIS
CARACTERSTICAS
Variveis:
Referencias para objetos (no existe ponteiros);
No possuem tipo;
No precisam ser declarados antes de serem utilizados;
Atribuio de valor feita atravs de referencias;

PRINCIPAIS
CARACTERSTICAS
Gerenciamento de Memria:
Feito automaticamente pelo prprio interpretador;
Acontecem poucos erros ou travamentos;

PRINCIPAIS
CARACTERSTICAS
Threads:
No h necessidade de uma biblioteca externa;
Implementao ocorre em nvel de usurio;
Criao de novos processos feita pelo mtodo da classe
Kernel;
Sincronizao feita atravs do mutex;

PRINCIPAIS
CARACTERSTICAS
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 RAILS
Produtividade e curva de aprendizado;
Simplicidade;
Manuteno;
Internacionalizao (UTF-8);
Aplicativos de suporte;
Funes adicionais (bibliotecas);
Manipulao de dados;
Suporte ao longo prazo.

DIFERENAS DA LINGUAGEM
Java

Ruby

Definio de mtodos

Entre {}

end

Utilizao de bibliotecas

import

require

Parmetros de mtodos

Entre ()

Parntesis opcionais

Atributos

Privados, protegidos,
pblicos

privados

Orientao a objetos

Variveis primitivas e de
instncia

Tudo objeto

Instanciao

x = new X();

x = X.new

Construtor

Nome da classe

initialize

Tipagem

Esttica

Dinmica

Condies

Expresses lgicas

Tudo verdadeiro,
exceto false e nil

Sobrescrita

Apenas mtodos

Mtodos e operadores

Encapsulamento

Classes encapsuladas

Classes abertas

DIFERENAS DA LINGUAGEM

Final de linha
Enums
Char
Acesso de atributos
Nome de mtodos

PRESENA DE RUBY
NO MERCADO
Ruby e suas tecnologias so utilizadas por grandes
corporaes em diversos tipos de aplicaes, destinadas por
exemplo, a telefonia, gerncia de sistemas e redes, portais
corporativos, comrcio eletrnico, redes sociais e at mesmo
robtica.

PRESENA DE RUBY
NO MERCADO
Segundo informao 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 organizaes.

RUBY GEMS
Gerenciador de pacotes de Ruby.
Disponibiliza um formato padro para a distribuio de
programas e bibiliotecas Ruby, so os pacotes denominados
gems.
Tem como fonte padro o seu site oficial (rubygems.org), no
site h espao para desenvolvedores cadastrados
disponibilizarem suas bibiliotecas para toda comunidade.

RUBY ON RAILS
Framework livre de desenvolvimento web. Permite
desenvolvimento rpido e fcil de aplicaes, seguindo o
padro de arquitetura MVC (Model-View-Controller). Tem sido
a maior razo para o sucesso de Ruby na web.

JRUBY
Implementao 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

UTILIZAO DE JAVA
COMO PLATAFORMA

REFERNCIAS
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-railsit-is-dead-heat.html
http://jruby.org/
http://rubyonrails.com.br
http://rubygems.org/
http://www.youtube.com/watch?v=5b3qd2VMLws

Você também pode gostar