Linguagem de programação
Histórico
Concebida em 1993 por Yukihiro
Matsumoto
 Primeiro livro em inglês saiu em
setembro de 2000
 Ruby on Rails é lançado em 2004

Aspectos gerais

Tipagem dinâmica e forte

Gerenciamento de memória automático

Linguagem de script

Orientada a objeto
Motivação

Matsumoto queria uma linguagem de
script que fosse mais poderosa do que
Perl, e mais orientada a objetos do que
Python.
Tipos de dados

Não existem tipos primitivos, todos os
tipos são classes

Object é a classe mãe de todas as
outras classes em Ruby
Exemplo
puts "Olá, Mundo!"
Features da Linguagem

Dynamic Typing e Duck Typing

Suporte a herança, mixins e
metaclasses

Tudo é expressão e tudo é executado
de forma imperativa
Features da Linguagem

Suporte a Reflection

Sintaxe única de blocos

Possibilidade de colocar pedaços de
código dentro de strings
Features da Linguagem

4 níveis de escopo para as variáveis

Coletor de Lixo

First Class Continuations

Regras restritas para boolean
Features da Linguagem

Shell Interativo

Eval

Suporte nativo a threads

Suporte a unicode
Features da Linguagem

Suporte a tratamento de exceções

Gerenciador de pacotes RubyGems

Distribuições para as principais
plataformas

Extensa biblioteca padrão
Aplicações da Linguagem
Ruby on Rails

Ruby on Rails é
um framework livre
(codigo aberto)
para criação de
aplicações para
web feito para a
linguagem Ruby
Ruby on Rails

Esse framework
usa a arquitetura
MVC (Model-ViewController) para
organizar a
estrutura das
aplicações
Ruby on Rails

O Ruby on Rails é separado em vários pacotes, esses
sendo:

Active Record: é uma camada de mapeamento objetorelacional, responsável pela interoperabilidade entre a
aplicação e o banco de dados e pela abstração dos
dados.

Active Pack: Compreende o Action View (interface com
usuário) e o Action Controller (lógica da aplicação)

Active Resource, Active Mailer, Active Support: Serviços
web e outras funções
Ruby on Rails

O Ruby on Rails usa os principios CoC (Convention
over Configuration) e o Dry (Don't repeat yourself)
para acelerar o desenvolvimento de aplicações

CoC: Significa que o desenvolvedor só precisa
especificar aspectos não convencionais da
aplicação, por exemplo, se tem uma classe "Venda"
no modelo, a tabela correspondente no banco de
dados é nomeada "Vendas" automaticamente

Dry: É o conceito por trás da técnica de definir
nomes, propriedades e códigos em somente um
lugar e reaproveitar essas informações em outros.

JRuby é a implementação da linguagem
Ruby para a Plataforma Java em
desenvolvimento pela JRuby Team.

Ele é fortemente integrado ao Java,
permitindo interação facil entre o Ruby e o
Java na mesma aplicação.

O JRuby tambem suporta o Ruby on Rails
o que o torna uma ferramenta poderosa.
RPG Maker

O RPG Maker XP e a versão mais
recente RPG Maker VX ambas
permitem o uso de Scripts RGSS (Ruby
Game Scripting System) para adicionar
diferentes tipos de features e sistemas
em jogos feitos pela ferramenta, embora
seja um pouco limitado o RGSS
aumentou consideravelmente a
customização e variedade de jogos
feitos em RPG Maker
RPG Maker VX
RPG Maker XP
Referências









http://en.wikipedia.org/wiki/Variable_interpolation#Interpolation
http://stackoverflow.com/questions/355633/what-are-some-good-examplesof-mixins-and-or-traits
http://en.wikipedia.org/wiki/Continuation#First-class_continuations
http://en.wikipedia.org/wiki/Interactive_Ruby_Shell
http://en.wikipedia.org/wiki/Programming_paradigm
http://en.wikipedia.org/wiki/Reflection_(computer_science)
http://en.wikipedia.org/wiki/Ruby_(programming_language)
http://en.wikipedia.org/wiki/Duck_typing
http://www.sagadoprogramador.com.br/2009/11/nao-e-por-que-e-dinamicoque-a-tipagem-e-fraca/
Pequena Demostração de Ruby
Download

Ruby