Linguagem de programação. Histórico Concebida em 1993 por Yukihiro Matsumoto Primeiro livro em...

Post on 07-Apr-2016

215 views 1 download

Transcript of Linguagem de programação. Histórico Concebida em 1993 por Yukihiro Matsumoto Primeiro livro em...

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