linguagem de programação. histórico concebida em 1993 por yukihiro matsumoto primeiro livro em...
TRANSCRIPT
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-View-Controller) 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 objeto-relacional, 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-examples-
of-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-dinamico-
que-a-tipagem-e-fraca/
Pequena Demostração de Ruby