SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
# PROJETO AIT


Qual linguagem escolher?


                          Fernando Gama
          - Acadêmico de Sistemas de Informação UFPA -
               Email: fernando.gama@icen.ufpa.br
Vamos desenvolver em...




       Ruby      Python
# RUBY ON RAILS
●   RAD(Rapid Aplication Development)
●   100% objeto
           5.times { print “Olá mundo” }

●   Blocos de comandos
       arr.each { |element| print element }

●   Retorno implícito de métodos
     def testMethod

     x = 4+4

     end
# RUBY ON RAILS
●   100% aberto           class FixNum

                             def previous

                                return self-1

                             end

                          end

                          6.previous # imprime 5


●   Atribuição paralela                  a, b = b, a

●   Variáveis mutáveis    a = “hello”

                          a[1] = “a”

                          print a #imprime “hallo”
# RUBY ON RAILS
●   True e False    if (0) then

                      print “Olá mundo”

                    end

●   Multiplataforma
●   JRuby e IronRuby
●   DRY(Don't Repeat YourSelf)
●   CoC (Convention over Configuration)
●   Comunidade Ativa
●   Agilidade
●   Grandes problemas, pequenas soluções.
●   Twitter, Groupon, Justin.tv, Linkedin, Globo.com, Uol, etc.
# RUBY ON RAILS


●   ALGUMAS DESVANTAGENS:
●   A linguagem depende do Framework Rails;
●   Pode apresentar falhas de segurança;
●   JavaScript Injection e Cross-Site Scripting(XSS).
# PYTHON
●   IDE RAD:
# PYTHON
●   IDE RAD:
●   ALGUMAS VANTAGENS:
●   Grande variedades de controles;
●   Integração com FTP;
●   Plugins;
●   UML, gera UML das suas classes;
●   Documentação simples de entender.
●   Completation - “CTRL + Espaço”.
●   ALGUMAS DESVANTAGENS:
●   Estágio inicial de desenvolvimento;
●   Controles podem não funcionar corretamente no linux.
# PYTHON
●   Vantagens da Linguagem:
●   Livre e de código aberto;
●   Multiplataforma: Jython;
●   Alto Nível: RAD, seguindo técnicas como DRY e KISS;
●   Orientada a objetos;
●   Tipagem dinâmica forte;
●   Sintaxe;
●   Frameworks: Qualquer tipo de ambiente;
●   Documentação;
●   Comunidade;
●   Youtube, BitTorrent, Yahoo, Nasa, etc.
# PYTHON
●   EXEMPLO BÁSICO:

                         A #is height B is radius
                         Def cone (a,b):
                         Formula = (3.14*.33*a)*(b*b)
                         Return Formula


●   Outro exemplo: Imprimindo uma lista ordenada com os itens com a
    primeira letra em maiúscula:
●   lista = ['laranja', 'banana', 'uva']
●   lista.sort()
●   for item in lista:
●     print item.capitalize()
# PYTHON


●   ALGUMAS DESVANTAGENS:
●   Implementações que envolvem o uso da memória;
●   Manipulações de baixo nível;
●   Threads;
# BASE DA PESQUISA
http://www.ceviu.com.br/blog/info/artigos/desenvolvimento-com-ruby-on-rails
       http://pt.wikipedia.org/wiki/Ruby_%28linguagem_de_programa
                %C3%A7%C3%A3o%29#Caracter.C3.ADsticas
http://www.oficinadanet.com.br/artigo/1706/porque_programar_em_ruby_e_leg
                                      al
  http://www.targettrust.com.br/blog/8-motivos-para-aprender-ruby-on-rails/
 http://www.profissionaisti.com.br/2009/01/10-motivos-para-voce-aprender-a-
                             programar-em-python/
                 http://www.htmlstaff.org/ver.php?id=3243
         http://pt.wikipedia.org/wiki/Python#Aplica.C3.A7.C3.B5es

Mais conteúdo relacionado

Mais procurados

GraphQL: PUTs, onde foram parar os verbos HTTP?
GraphQL: PUTs, onde foram parar os verbos HTTP?GraphQL: PUTs, onde foram parar os verbos HTTP?
GraphQL: PUTs, onde foram parar os verbos HTTP?Leonardo Gomes
 
[Curso Java Basico] Aula 58: Autoboxing e Unboxing
[Curso Java Basico] Aula 58: Autoboxing e Unboxing[Curso Java Basico] Aula 58: Autoboxing e Unboxing
[Curso Java Basico] Aula 58: Autoboxing e UnboxingLoiane Groner
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03Ale Uehara
 
Linguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMLinguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMRafael Nunes
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptJulio Greff
 
Ruby, Simples e Expressivo
Ruby, Simples e ExpressivoRuby, Simples e Expressivo
Ruby, Simples e ExpressivoRodrigo Martins
 
Grails, o que isso quer dizer?
Grails, o que isso quer dizer?Grails, o que isso quer dizer?
Grails, o que isso quer dizer?Gilliard Cordeiro
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercadoelliando dias
 
Pug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerPug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerpugpe
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoJanynne Gomes
 
Bg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shellBg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shellFábio dos Reis
 

Mais procurados (19)

GraphQL: PUTs, onde foram parar os verbos HTTP?
GraphQL: PUTs, onde foram parar os verbos HTTP?GraphQL: PUTs, onde foram parar os verbos HTTP?
GraphQL: PUTs, onde foram parar os verbos HTTP?
 
[Curso Java Basico] Aula 58: Autoboxing e Unboxing
[Curso Java Basico] Aula 58: Autoboxing e Unboxing[Curso Java Basico] Aula 58: Autoboxing e Unboxing
[Curso Java Basico] Aula 58: Autoboxing e Unboxing
 
A Linguagem Ruby
A Linguagem RubyA Linguagem Ruby
A Linguagem Ruby
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03
 
Linguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMLinguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVM
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScript
 
Ruby, Simples e Expressivo
Ruby, Simples e ExpressivoRuby, Simples e Expressivo
Ruby, Simples e Expressivo
 
Grails, o que isso quer dizer?
Grails, o que isso quer dizer?Grails, o que isso quer dizer?
Grails, o que isso quer dizer?
 
Ruby
RubyRuby
Ruby
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Pug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerPug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debugger
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalho
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
Bg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shellBg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shell
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Groovy stack
Groovy stackGroovy stack
Groovy stack
 
Teste de software
Teste de softwareTeste de software
Teste de software
 

Destaque

Manual Pstation Web
Manual Pstation WebManual Pstation Web
Manual Pstation Webguestd3547f
 
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...Achim D. Brucker
 
Secure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSecure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSalesforce Developers
 
Isabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof AssistantIsabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof AssistantAchim D. Brucker
 
Integrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessIntegrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessAchim D. Brucker
 
Aprendizaje Con Base En Proyectos
Aprendizaje Con Base En ProyectosAprendizaje Con Base En Proyectos
Aprendizaje Con Base En Proyectos95062113007
 

Destaque (8)

Manual Pstation Web
Manual Pstation WebManual Pstation Web
Manual Pstation Web
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Zakat
ZakatZakat
Zakat
 
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
 
Secure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSecure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with Checkmarx
 
Isabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof AssistantIsabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof Assistant
 
Integrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessIntegrating Application Security into a Software Development Process
Integrating Application Security into a Software Development Process
 
Aprendizaje Con Base En Proyectos
Aprendizaje Con Base En ProyectosAprendizaje Con Base En Proyectos
Aprendizaje Con Base En Proyectos
 

Semelhante a Qual linguagem escolher? Ruby ou Python

Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
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
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010Marcelo Fleury
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
Python Mini Curso V0812
Python Mini Curso V0812Python Mini Curso V0812
Python Mini Curso V0812Luiz Aldabalde
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Marcelo Bohn
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorLeandro Ferreira
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Flávio Ribeiro
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 

Semelhante a Qual linguagem escolher? Ruby ou Python (20)

Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
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
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010
 
Palestra Ruby
Palestra RubyPalestra Ruby
Palestra Ruby
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Bricklayer
BricklayerBricklayer
Bricklayer
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Python Mini Curso V0812
Python Mini Curso V0812Python Mini Curso V0812
Python Mini Curso V0812
 
Curso de Groovy
Curso de GroovyCurso de Groovy
Curso de Groovy
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014
 
Calourada2010
Calourada2010Calourada2010
Calourada2010
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 

Mais de COTIC-PROEG (UFPA) (20)

LT - Redis
LT - RedisLT - Redis
LT - Redis
 
LT Ansible
LT AnsibleLT Ansible
LT Ansible
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
 
Loop back
Loop backLoop back
Loop back
 
METEOR
METEORMETEOR
METEOR
 
Desenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágilDesenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágil
 
Canva
CanvaCanva
Canva
 
Git v2
Git v2Git v2
Git v2
 
Atitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissionalAtitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissional
 
Os 5 Sensos da Qualidade
Os 5 Sensos da QualidadeOs 5 Sensos da Qualidade
Os 5 Sensos da Qualidade
 
WATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBMWATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBM
 
Produtividade sem enrrolação
Produtividade sem enrrolaçãoProdutividade sem enrrolação
Produtividade sem enrrolação
 
LAB JavaScript
LAB JavaScriptLAB JavaScript
LAB JavaScript
 
Principios e Valores Ágeis
Principios e Valores ÁgeisPrincipios e Valores Ágeis
Principios e Valores Ágeis
 
Big data
Big dataBig data
Big data
 
Metricas para Times Ágeis
Metricas para Times ÁgeisMetricas para Times Ágeis
Metricas para Times Ágeis
 
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPAAplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
 
Técnicas para Programação em Par
Técnicas para Programação em ParTécnicas para Programação em Par
Técnicas para Programação em Par
 
Feedback Canvas
Feedback CanvasFeedback Canvas
Feedback Canvas
 
5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos
 

Qual linguagem escolher? Ruby ou Python

  • 1. # PROJETO AIT Qual linguagem escolher? Fernando Gama - Acadêmico de Sistemas de Informação UFPA - Email: fernando.gama@icen.ufpa.br
  • 3. # RUBY ON RAILS ● RAD(Rapid Aplication Development) ● 100% objeto 5.times { print “Olá mundo” } ● Blocos de comandos arr.each { |element| print element } ● Retorno implícito de métodos def testMethod x = 4+4 end
  • 4. # RUBY ON RAILS ● 100% aberto class FixNum def previous return self-1 end end 6.previous # imprime 5 ● Atribuição paralela a, b = b, a ● Variáveis mutáveis a = “hello” a[1] = “a” print a #imprime “hallo”
  • 5. # RUBY ON RAILS ● True e False if (0) then print “Olá mundo” end ● Multiplataforma ● JRuby e IronRuby ● DRY(Don't Repeat YourSelf) ● CoC (Convention over Configuration) ● Comunidade Ativa ● Agilidade ● Grandes problemas, pequenas soluções. ● Twitter, Groupon, Justin.tv, Linkedin, Globo.com, Uol, etc.
  • 6. # RUBY ON RAILS ● ALGUMAS DESVANTAGENS: ● A linguagem depende do Framework Rails; ● Pode apresentar falhas de segurança; ● JavaScript Injection e Cross-Site Scripting(XSS).
  • 7. # PYTHON ● IDE RAD:
  • 8. # PYTHON ● IDE RAD: ● ALGUMAS VANTAGENS: ● Grande variedades de controles; ● Integração com FTP; ● Plugins; ● UML, gera UML das suas classes; ● Documentação simples de entender. ● Completation - “CTRL + Espaço”. ● ALGUMAS DESVANTAGENS: ● Estágio inicial de desenvolvimento; ● Controles podem não funcionar corretamente no linux.
  • 9. # PYTHON ● Vantagens da Linguagem: ● Livre e de código aberto; ● Multiplataforma: Jython; ● Alto Nível: RAD, seguindo técnicas como DRY e KISS; ● Orientada a objetos; ● Tipagem dinâmica forte; ● Sintaxe; ● Frameworks: Qualquer tipo de ambiente; ● Documentação; ● Comunidade; ● Youtube, BitTorrent, Yahoo, Nasa, etc.
  • 10. # PYTHON ● EXEMPLO BÁSICO: A #is height B is radius Def cone (a,b): Formula = (3.14*.33*a)*(b*b) Return Formula ● Outro exemplo: Imprimindo uma lista ordenada com os itens com a primeira letra em maiúscula: ● lista = ['laranja', 'banana', 'uva'] ● lista.sort() ● for item in lista: ● print item.capitalize()
  • 11. # PYTHON ● ALGUMAS DESVANTAGENS: ● Implementações que envolvem o uso da memória; ● Manipulações de baixo nível; ● Threads;
  • 12. # BASE DA PESQUISA http://www.ceviu.com.br/blog/info/artigos/desenvolvimento-com-ruby-on-rails http://pt.wikipedia.org/wiki/Ruby_%28linguagem_de_programa %C3%A7%C3%A3o%29#Caracter.C3.ADsticas http://www.oficinadanet.com.br/artigo/1706/porque_programar_em_ruby_e_leg al http://www.targettrust.com.br/blog/8-motivos-para-aprender-ruby-on-rails/ http://www.profissionaisti.com.br/2009/01/10-motivos-para-voce-aprender-a- programar-em-python/ http://www.htmlstaff.org/ver.php?id=3243 http://pt.wikipedia.org/wiki/Python#Aplica.C3.A7.C3.B5es