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

43
Fundação PTI Brasil

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

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

Fundação PTIBrasil

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

Parque Tecnológico ITAIPU - PTI

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

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

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

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.

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

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

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

Objetivo

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

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

LatinoWare e ruby ?!

Como assim?

Page 8: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014
Page 9: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014

Vamos instalar o ruby?

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

Apt-get?

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

Compilando

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

$ tar xfv ruby-2.1.3.tar.gz

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

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.

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

rvm.io

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

Page 14: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014
Page 15: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014
Page 16: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014
Page 17: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014

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

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

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

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

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

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

Types

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

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

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

Duck Typing

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

Duck Typing

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

Strings

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

Números

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

Números

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

Hash

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

Symbols

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

Expressões regulares

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

Modulos

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

Classes

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

Herança

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

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

Mixins

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

Blocos

Blocos não são objetos!

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

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

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

Como continuar?

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

Try ruby!

tryruby.org/

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

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

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

Ferramentasgithub.com/Sdogruyol/awesome-ruby

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

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

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

Considerações finais

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

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

github.com/gnomex/ruby-at-latinoware2014

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

[email protected]

github.com/gnomex

@KennerKliemann