COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014

Post on 26-May-2015

162 views 4 download

description

Todos os dias novas tecnologias são criadas, algumas livres, de código aberto, sendo disponibilizadas para a comunidade do software livre. Para construir estas tecnologias, as linguagens de programação tem influência direta. O objetivo deste artigo é apresentar mais uma poderosa ferramenta, e o que ele é capaz de resolver, destacando principalmente a produtividade, expressividade e rapidez no desenvolvimento que ele traz.

Transcript of COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014

Fundação PTIBrasil

Parque Tecnológico ITAIPU - PTI

ITAIPU: Gerar energia elétrica de qualidade, com responsabilidade social e ambiental, impulsionando o desenvolvimento econômico, turístico e tecnológico, sustentável, no Brasil e no Paraguai.

PTI: Promover o desenvolvimento territorial sustentável por meio da educação, ciência, tecnologia, inovação, cultura e empreendedorismo.

Missão

Desde a sua criação, em 2003, o PTI busca nas tecnologias abertas soluções inovadoras para disseminar o conhecimento, promover a inclusão social e digital e impulsionar o desenvolvimento territorial.

Além da utilização do software livre em ambiente corporativo, o PTI atua no seu desenvolvimento, por meio de centros de P&D, e na sua disseminação.

rubyCOMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO

Objetivo

Apresentar esta poderosa ferramenta, sua expressividade e seus conceitos. O que podemos fazer com ela e sua contribuição para a comunidade.

LatinoWare e ruby ?!

Como assim?

Vamos instalar o ruby?

Apt-get?

Compilando

https://www.ruby-lang.org/en/downloads/

$ tar xfv ruby-2.1.3.tar.gz

Ruby Version Manager

RVM é uma ferramenta de linha de comando que permite instalar, gerenciar e trabalhar com multiplas versões de ruby e diversos conjuntos de gems.

rvm.io

$ \curl -sSL https://get.rvm.io | bash -s stable

“Ruby está projetado para fazer os programadores felizes.” - Yukihiro “Matz” Matsumoto - Criado do Ruby

Ruby

● Totalmente Orientada a Objetos● Dinâmica● Fortemente Tipada● Gramática complexa, mas expressiva● Uma $ RICA $ Core API● Inspirada em Smalltalk, Lisp e Perl● Programação Funcional● Metaprogramação

Em ruby, tudo é objeto, sem exceções!

Types

Duck Typing

“Se anda como um pato e faz barulho como um pato, então de deve ser um pato. E o interpretador ficará feliz em fazer com que o objeto seja tratado como um pato. Na prática, isso significa que em vez de fazer verificações de tipo de um objeto, você deve se preocupar se este objeto é capaz de executar o método que você precisa.” - Nano Vieira

Duck Typing

Duck Typing

Strings

Números

Números

Hash

Symbols

Expressões regulares

Modulos

Classes

Herança

Obs: ‘Não existe herança múltipla em ruby’

Mixins

Blocos

Blocos não são objetos!

E o que mais?

● Condicionais (if, else, elseif, unless, ?)● Seletores (Case)● Estruturas de repetição(for...in, while..until, loop)● Iteradores (Enumerator, Iterator)● Procs e Lambdas● Self● Singleton Class● Variáveis (Classe, instancia)● Constantes● CallBacks● Monkey Patching e Refinements

Como continuar?

Try ruby!

tryruby.org/

Como continuar?www.codeschool.com/paths/ruby

Ferramentasgithub.com/Sdogruyol/awesome-ruby

Style guidegithub.com/bbatsov/ruby-style-guide

Considerações finais

Códigos dos exemplos estão disponíveis em:

github.com/gnomex/ruby-at-latinoware2014

kenner.ak@pti.org.br

github.com/gnomex

@KennerKliemann