Carlos Henrique Costa Junior Daniel de Andrade Darlan ...frank/INE5612/Seminario2010.1/Ruby.pdf ·...

26
Carlos Henrique Costa Junior Daniel de Andrade Darlan Pedro de Campos Guilherme Silvestre Gomes

Transcript of Carlos Henrique Costa Junior Daniel de Andrade Darlan ...frank/INE5612/Seminario2010.1/Ruby.pdf ·...

Carlos Henrique Costa Junior

Daniel de Andrade

Darlan Pedro de Campos

Guilherme Silvestre Gomes

Criada no Japão por Yukihiro Matsumoto (Matz);

Fevereiro/1993 - idéias iniciais

Versão 0.95 lançada no Japão emdezembro/1995.

Versão 1.0 lançada oficialmente emdezembro/1996.

Versão atual (stable) - Ruby 1.8.7

Matz queria uma linguagem de script...

Mais poderosa que Perl;

Mais orientada a objetos que Python;

Que tivesse tudo o que ele sempre amou em Lisp, Eiffel e Smalltalk;

Funcional como Lisp, Haskell e Scheme.

Uma linguagem de programação:

Interpretada;

Open-Source;

Multiparadigmática;

Dinâmica.

JAVALinguagem C

Ruby

Expressividade– Diga muito;– Seja claro;– Escreva menos código.

Em Ruby, tudo é um objeto: Por exemplo, o número 1 é uma instância da classe Fixnum.

http://tryruby.org/

O Ruby é altamente portável

Apresenta Módulos

Ruby tem a habilidade de adicionar métodos em uma classe, ou até mesmo em uma instância durante o runtime!

Retornos múltiplos:

Algumas semelhanças:

Os objetos são fortemente tipados

Existem métodos públicos, privados e protegidos

Contem ferramentas de documentação inseridas ( a de Rubychama-se RDoc)

Capacidade de tratamento de exceções, por forma a facilitar o tratamento de erros.

Um verdadeiro mark-and-sweep garbage collector para todos os objetos Ruby.

http://blogs.abril.com.br/java-cabeca/2009/07/java-vs-ruby.html

Algumas diferenças

Ao contrário do Java, o Ruby não precisa compilar o código fonte, pois é executado diretamente.

Em Ruby utiliza-se o REQUIRE em vez de IMPORT

Em Ruby não há tipos primitivos. Tudo é objeto, incluindo os números.

O construtor em Ruby é sempre chamado INICIALIZE em vez do nome da classe

15,6%Dos programadores brasileiros já sabem Ruby.

Fonte: Evans Data, INFO Exame 08/2007

FONTE: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Nos Estados Unido: a media de salários de programador Ruby on Rails:

US 5.000,00

Nos Estados Unido: a media de salários de programador Ruby on Rails Lead + Software Engineer

US$ 30.000,00

No Reino Unido:

3.000,00

Programadores Ruby

1. EUA: 20102. Reino Unido: 4013. Brasil: 333...Total: 9373

Fonte: http://workingwithrails.com/

http://www.ruby-lang.org/ http://www.slideshare.net/wupsbr/ruby-on-rails-porque-

utilizar http://www.tiobe.com/index.php/content/paperinfo/tpci/inde

x.html http://www.slideshare.net/jmonteiro/ruby-on-rails-e-o-

mercado-presentation-849734

O que é?

- Um meta-framework para desenvolvimento de aplicações web open source, usando a linguagem Ruby. Usando a filosofia de desenvolvimento “Agile” e o modelo MVC.

Um Meta-Framework?

- Na verdade o que é um conjunto de frameworks que interagem para criar um produto final completo. Rails possui vários frameworks para objetivos específicos ActiveRecord, ActiveResource, ActionPack, ActiveSuport e ActionMailer

Agile development?

- Um conjunto de metodologias de desenvolvimento de software que visam um desenvolvimento interativo

Model View Controller (MVC)?

- É um padrão de arquitetura que separa a lógica de

negócio da lógica de apresentação

Originalmente extraído de um programa de David Heinemeier Hansson, BaseCamp, um gerenciador de projetos para 37signals, a empresa a qual ele trabalha.

Lançado em julho de 2004.

A ultima versão lançada oficialmente (2.3), é de 15 de março de 2009.

A próxima versão que será lançada é a 3.0, está bem adiantada.

Excelente ferramental

Boa Documentação

Boa adesão do mercado

Fácil de Aprender

Performance e escalabilidade

Compatibilidade de versões

Código ou banco de dados legado

Problemas com Threads