SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Ruby
Daniel, Eudes, João
O que é Ruby?
Ruby é uma linguagem dinâmica, open source com foco na simplicidade e na
produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita.
Yukihino Matz Matsumoto
Criador Do Ruby
2
História
Ruby foi criado em 24 de fevereiro de 1993 por Yukihiro Matsumoto, que
pretendia criar uma nova linguagem que balanceava programação
funcional com a programação imperativa. Matsumoto afirmou: "Eu queria
uma linguagem de script que fosse mais poderosa do que Perl, e mais
orientada a objetos do que Python. É por isso que eu decidi desenvolver
minha própria linguagem”.
Por volta de 2005, o interesse pela linguagem Ruby subiu em conjunto com
o Ruby on Rails um framework de aplicações web popular escrito em Ruby.
Rails é frequentemente creditada como a aplicação que tornou Ruby
"famoso" e a associação é tão forte que ambos são muitas vezes confundidos
por programadores que são novos a Ruby.
Características
• Todas as variáveis são objetos, onde até os "tipos primitivos" (tais como inteiro,
real, entre outros) são classes;
• Métodos de geração de código em tempo real, como os "attribute accessors“;
• Através do RubyGems, é possível instalar e atualizar bibliotecas com uma linha de
comando, de maneira similar ao APT do DebianLinux;
• Code blocks (blocos de código) passados como parâmetros para métodos; permite
a criação de clausuras;
• Mixins, uma forma de emular a herança múltipla;
• Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um
tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente.
• Ruby está disponível para diversas plataformas, como Microsoft
Windows, Linux, Solaris e Mac OS X, além de também ser executável em cima
da máquina virtual Java (através do JRuby) e haver um projeto para ser executável
em cima da máquina virtual Microsoft .NET, o IronRuby.
4
Uso Do Ruby Em Algumas
Empresas e Grupos
• NASA utiliza Ruby para realizar simulações.
• Um grupo de pesquisa na Motorola usou Ruby para escrever um simulador, tanto
para gerar casos de cenário como para processar esses mesmos dados.
• Ruby foi usado para escrever a componente de recolha de dados da Level 3
Communications , um sistema de Planejamento e Capacidade Unix (Unix Capacity
and Planning system) que recolhe estatísticas de performance de cerca de 1700
servidores Unix (Solaris e Linux) espalhados pelo mundo.
• No projeto MORPHA, Ruby foi usado para implementar o componente reativo do
robô de serviço Siemens.
• Open Domain Server usa o Ruby de forma a permitir ás pessoas que usam clientes
de DNS Dinâmicos a atualização em tempo real das configurações de IP para que
possam ser mapeadas em domínios estáticos.
5
Linguagens do Ruby
• No Ruby não é necessário utilizar retornos ou qualquer palavra-chave para definir
o retorno de um método. O retorno do método é o valor da última expressão
executada, em nosso caso “1+2”;
• O Ruby também vem a ser muito flexível em relação aos Parênteses e ao ponto e
virgula não é necessário o uso deles numa variável;
• O Ruby também pode informa ao usuário que classe pertence o Objeto;
• A classe Object tem o método methods;
• Classes abertas em tempo de execução.
6
Exemplos
7
Exemplos
8
Exemplos
9
Bibliografia
• Ruby (linguagem de programação) ->
http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)
• Histórias de Sucesso -> http://www.ruby-lang.org/pt/documentacao/historias-de-
sucesso/
• O básico de Ruby para poder utilizar tanto o Rails quanto o Cucumber ->
http://www.urubatan.com.br/ruby-101-o-basico-de-ruby-para-poder-utilizar-
tanto-o-rails-quanto-o-cucumber/
10
11

Mais conteúdo relacionado

Mais procurados

Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformMilfont Consulting
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaSérgio Souza Costa
 
Curso Corona SDK - Módulo 3
Curso Corona SDK - Módulo 3Curso Corona SDK - Módulo 3
Curso Corona SDK - Módulo 3Luiz Duarte
 
Curso Corona SDK - Módulo 2
Curso Corona SDK - Módulo 2Curso Corona SDK - Módulo 2
Curso Corona SDK - Módulo 2Luiz Duarte
 

Mais procurados (10)

Seminário: C++
Seminário: C++Seminário: C++
Seminário: C++
 
Seminário: COBOL
Seminário: COBOLSeminário: COBOL
Seminário: COBOL
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java Platform
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
 
Curso Corona SDK - Módulo 3
Curso Corona SDK - Módulo 3Curso Corona SDK - Módulo 3
Curso Corona SDK - Módulo 3
 
Curso Corona SDK - Módulo 2
Curso Corona SDK - Módulo 2Curso Corona SDK - Módulo 2
Curso Corona SDK - Módulo 2
 
Brincando com FFI no Ruby
Brincando com FFI no RubyBrincando com FFI no Ruby
Brincando com FFI no Ruby
 

Destaque

Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051Thiago Oliveira
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programaçãoLCCIMETRO
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasFelipe J. R. Vieira
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programáticoLCCIMETRO
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadoresLCCIMETRO
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 
Programar Em Pascal
Programar Em PascalProgramar Em Pascal
Programar Em PascalPepe Rocker
 
Linguagem de Programação Pascal
Linguagem de Programação PascalLinguagem de Programação Pascal
Linguagem de Programação PascalMarcus Vinicius
 
Programando com pascal
Programando com pascalProgramando com pascal
Programando com pascalRamon Souza
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
C# aprenda a programar
C# aprenda a programar C# aprenda a programar
C# aprenda a programar Yuri Barzola
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051Thiago Oliveira
 
Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051Thiago Oliveira
 

Destaque (20)

Seminário: C#
Seminário: C#Seminário: C#
Seminário: C#
 
Seminário: Delphi
Seminário: DelphiSeminário: Delphi
Seminário: Delphi
 
Pascal
PascalPascal
Pascal
 
Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051Aula 2 - Assembly - 8051
Aula 2 - Assembly - 8051
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programação
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programático
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
Programar Em Pascal
Programar Em PascalProgramar Em Pascal
Programar Em Pascal
 
Linguagem de Programação Pascal
Linguagem de Programação PascalLinguagem de Programação Pascal
Linguagem de Programação Pascal
 
Programando com pascal
Programando com pascalProgramando com pascal
Programando com pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Pascal Arquivos
Pascal ArquivosPascal Arquivos
Pascal Arquivos
 
Apostila c++ básico
Apostila c++ básicoApostila c++ básico
Apostila c++ básico
 
C# aprenda a programar
C# aprenda a programar C# aprenda a programar
C# aprenda a programar
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051Aula 3 - Assembly - 8051
Aula 3 - Assembly - 8051
 
Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051Aula 4 - Assembly - 8051
Aula 4 - Assembly - 8051
 

Semelhante a Ruby

Ruby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaRuby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaWomen Techmakers João Pessoa
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on railsCOTIC-PROEG (UFPA)
 
Ruby, Simples e Expressivo
Ruby, Simples e ExpressivoRuby, Simples e Expressivo
Ruby, Simples e ExpressivoRodrigo Martins
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filhorafarubert
 
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?Rodrigo Urubatan
 
Desenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsDesenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsRoberto Soares
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Julio Monteiro
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5Wende Mendes
 
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBYUM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBYLucas Furtado de Oliveira
 
Ruby rails fanap 2013 2
Ruby rails fanap 2013 2Ruby rails fanap 2013 2
Ruby rails fanap 2013 2Weverton Gomes
 

Semelhante a Ruby (20)

Ruby
RubyRuby
Ruby
 
Ruby and Rails
Ruby and RailsRuby and Rails
Ruby and Rails
 
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaRuby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on rails
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 
Ruby e rails
Ruby e railsRuby e rails
Ruby e rails
 
A Linguagem Ruby
A Linguagem RubyA Linguagem Ruby
A Linguagem Ruby
 
Ruby, Simples e Expressivo
Ruby, Simples e ExpressivoRuby, Simples e Expressivo
Ruby, Simples e Expressivo
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
 
Desenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsDesenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRails
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBYUM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
 
The Next Big Language
The Next Big LanguageThe Next Big Language
The Next Big Language
 
Ruby rails fanap 2013 2
Ruby rails fanap 2013 2Ruby rails fanap 2013 2
Ruby rails fanap 2013 2
 

Ruby

  • 2. O que é Ruby? Ruby é uma linguagem dinâmica, open source com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita. Yukihino Matz Matsumoto Criador Do Ruby 2
  • 3. História Ruby foi criado em 24 de fevereiro de 1993 por Yukihiro Matsumoto, que pretendia criar uma nova linguagem que balanceava programação funcional com a programação imperativa. Matsumoto afirmou: "Eu queria uma linguagem de script que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python. É por isso que eu decidi desenvolver minha própria linguagem”. Por volta de 2005, o interesse pela linguagem Ruby subiu em conjunto com o Ruby on Rails um framework de aplicações web popular escrito em Ruby. Rails é frequentemente creditada como a aplicação que tornou Ruby "famoso" e a associação é tão forte que ambos são muitas vezes confundidos por programadores que são novos a Ruby.
  • 4. Características • Todas as variáveis são objetos, onde até os "tipos primitivos" (tais como inteiro, real, entre outros) são classes; • Métodos de geração de código em tempo real, como os "attribute accessors“; • Através do RubyGems, é possível instalar e atualizar bibliotecas com uma linha de comando, de maneira similar ao APT do DebianLinux; • Code blocks (blocos de código) passados como parâmetros para métodos; permite a criação de clausuras; • Mixins, uma forma de emular a herança múltipla; • Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente. • Ruby está disponível para diversas plataformas, como Microsoft Windows, Linux, Solaris e Mac OS X, além de também ser executável em cima da máquina virtual Java (através do JRuby) e haver um projeto para ser executável em cima da máquina virtual Microsoft .NET, o IronRuby. 4
  • 5. Uso Do Ruby Em Algumas Empresas e Grupos • NASA utiliza Ruby para realizar simulações. • Um grupo de pesquisa na Motorola usou Ruby para escrever um simulador, tanto para gerar casos de cenário como para processar esses mesmos dados. • Ruby foi usado para escrever a componente de recolha de dados da Level 3 Communications , um sistema de Planejamento e Capacidade Unix (Unix Capacity and Planning system) que recolhe estatísticas de performance de cerca de 1700 servidores Unix (Solaris e Linux) espalhados pelo mundo. • No projeto MORPHA, Ruby foi usado para implementar o componente reativo do robô de serviço Siemens. • Open Domain Server usa o Ruby de forma a permitir ás pessoas que usam clientes de DNS Dinâmicos a atualização em tempo real das configurações de IP para que possam ser mapeadas em domínios estáticos. 5
  • 6. Linguagens do Ruby • No Ruby não é necessário utilizar retornos ou qualquer palavra-chave para definir o retorno de um método. O retorno do método é o valor da última expressão executada, em nosso caso “1+2”; • O Ruby também vem a ser muito flexível em relação aos Parênteses e ao ponto e virgula não é necessário o uso deles numa variável; • O Ruby também pode informa ao usuário que classe pertence o Objeto; • A classe Object tem o método methods; • Classes abertas em tempo de execução. 6
  • 10. Bibliografia • Ruby (linguagem de programação) -> http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o) • Histórias de Sucesso -> http://www.ruby-lang.org/pt/documentacao/historias-de- sucesso/ • O básico de Ruby para poder utilizar tanto o Rails quanto o Cucumber -> http://www.urubatan.com.br/ruby-101-o-basico-de-ruby-para-poder-utilizar- tanto-o-rails-quanto-o-cucumber/ 10
  • 11. 11