Upload
joaquim-perera
View
215
Download
1
Embed Size (px)
Citation preview
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