O Poder do e Átila Medeiros Bezerra atila@tangerinalab.com
Alguém conhece o Python?
Linguagem de Programação • Foi desenvolvida por Guido Van Rossum em 1990 3
4
Monty Python’s Flying Circus • Seu nome é uma homenagem ao grupo humorístico inglês, adorado por geeks de todo o mundo 5
Filosofia Pythonica Complexo é melhor que complicado Agora é melhor que nunca Bonito é melhor que feio Simples é melhor que complexo Legibilidade conta Explícito é melhor que implícito Plano é melhor que aninhado Ao encarar a ambigüidade, recuse a tentação de adivinhar 6 Por: Tim Peters
Por que usar Python?
É Fácil de Aprender • Sintaxe clara, muito próxima de um pseudo-código. file = open(“texto.txt”) for linha in file: Python Java print linha file.close() FileInputStream fstream = new FileInputStream("texto.txt"); BufferedReader in = new BufferedReader(new InputStream Reader(in)); while (in.ready()) { System.out.println(in.readLine()); } in.close(); 8
Tipagem Dinâmica e Forte • Objetos não podem mudar de tipo • Não há conversão automática de tipo X O que é comum em linguagens de script como: php, javascript e perl Ex: “9” + 10 = “910” Em Python é levantada um exceção, pois isso é uma fonte de bugs difíceis de localizar e tratar 9
Alta produtividade • Tempo de desenvolvimento reduzido – Comparado a Java normalmente o código 5 vezes menor • Código extremamente legível tornando mais fácil a manutenção • Possui um vasto repertório de bibliotecas 10
Python é Multiplataforma Unix/Linux, Windows, Mac, OS/2 ... Por que isso é importante? 11
Python é Multiplataforma • Ex: Governo brasileiro http://www.brasil.gov.br/ 12
Python é Multiplataforma • Python em dispositivos móveis – Symbiam (PyS60), PySide (Maemo), ASE (Android) 13
Vários gurus recomendam • Eric Raymond – em seu HOW-TO "Como se tornar um Hacker“ – recomenda ao aspirante aprender Python primeiro “Se você não sabe nenhuma linguagem de computador, eu recomendo começar com Python. É bem projetada, bem documentada, e relativamente boa para iniciantes. Apesar de ser uma ótima linguagem para o aprendizado da programação, não é apenas um brinquedo, é muito poderosa e flexível e bem adequada para grandes projetos.” http://www.catb.org/~esr/faqs/hacker-howto.html 14
Quem usa Python no Mundo?
É Utilizada pelo Google desde 1998! http://web.archive.org/web/19990204033714/google.stanford.edu/about.html 16
O que o acha do Python? "Python tem sido uma parte importante do Google desde o início, e permanece assim conforme o sistema cresce e evolui. Hoje, dezenas de engenheiros do Google usam Python, e estamos procurando por mais pessoas com conhecimento nessa linguagem.“ Peter Norvig, diretor de qualidade de busca do Google, Inc. http://www.python.org.br/wiki/PythonNoGoogle “*...+ nossa filosofia geral é ‘Python onde podemos, C++ onde somos obrigados.’ Python não é definitivamente apenas um pequeno pedaço, nem é usado apenas para tarefas de ‘scripiting’; se ficássemos sem todo nosso código Python de uma hora para outra, nossa poderosa infra-estrura que tem sido descrita como a ‘arma secreta do Google’ ficaria abalada.” Alex Martelli, Líder técnico, Sistemas de produção, Google, Inc http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ 17
Onde o usa o Python? • Sistema de ajuda do GMail • Google Groups • Sistema de compilação de aplicativos (build system). • Sistema de empacotamento e entrega de dados (packaging system). • Sistema de monitoramento e manutenção do cluster • Sistema de testes • ... 18
O usa! “Python é rápido o suficiente para o nosso site e permite que nós produzamos features que podem ser mantidas em tempo recorde, com o mínimo de desenvolvedores.“ Cuong Do, Arquiteto de Software, Youtube.com. http://www.python.org/about/quotes/ “O Youtube (uma das propriedades mais valiosas do Google) é essencialmente todo Python [...].” Alex Martelli, Líder técnico, Sistemas de produção, Google, Inc http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ 19
Industrial Light and Magic “Python desempenha um papel chave no nosso esquema de produção. Sem ela um projeto do tamanho de ‘Guerra nas Estrelas: Episódio II teria sido muito difícil de sair. Da renderização da multidão ao processamento em lote e a composição, Python mantêm todas as partes unidas.” Tommy Burnet te, Diretor técnico Sênior, ILM. http://www.python.org/about/quotes/ “Quando me transferi [...], todos os membros da equipe [...] me acompanharam - menos Tommy. Ele [...] ele fora contratado pela Industrial Light and Magic [...]. Tommy se tornou um destacado programador da linguagem Python, por sorte dele a linguagem escolhida pela empresa de Lucas. E sorte mesmo é quando o preparo se une a oportunidade.” Rand Pausch, A lição final. http://pythonologia.org/2008/09/24/a-licao-final/ 20
21 http://www.ilmfan.com/projects
DreamWorks “Gostaria de ser tudo Python, mas hoje ainda temos muito de Perl.” Ed Leonard, Diretor de Tecnologia de Animação, DreamWorks. http://www.linuxjournal.com/article/9653 “Nossa equipe tem baseado a transição de Perl para Python na facilidade. Há três razões primárias para isso. A criação de binding em Python para uma biblioteca C++ é muito fácil [...]. A natureza orientada a objetos de Python é muito atraente [...]. E Python é uma cidadã de primeira classe [...] na nossa industria.” Darin Grant, Chefe de Produção de Tecnologia, DreamWorks. http://www.linuxjournal.com/article/9653 22
23
E muito mais! http://science.nasa.gov/ https://www.cia.gov/ ... 1: http://www.djangosites.org/ 2: http://plone.org/support/sites/ 24
Quem usa Python no Brasil?
• Portal reimplementado usando Python / Django 45 milhões de acessos / dia http://www.slideshare.net/ricobl/python-e-django-na-globocom 26
• Reconstrução 3d de Imagens Médicas http://svn.softwarepublico.gov.br/trac/invesalius/ 27
http://legiscidade.com.br/ 28
http://painelmaiscultura.cultura.gov.br/ 29
E muito mais! 30
E muito mais (Governo)! http://www2.planalto.gov.br/ http://www.brasil.gov.br/ ... http://www2.camara.gov.br/ 31
Desenvolvimento Web
O que preciso? No mínimo ... • Servidor de aplicação web • Persistência de dados Acho que você • Engine de templates vai precisar de ajuda! • Mapeador de URLs • Controle de sessões • Formulários e validações • Modulo de autenticação • Kit de ferramentas ajax 33
O que tem por aí? 34
Django • Framework web escrito em Python • Focado no desenvolvimento ágil • Automatiza algumas tarefas do processo de desenvolvimento • Mantém o desenvolvedor com foco no negócio “Nós fazemos a parte repetitiva, você faz o que interessa” 35
Django • Mapeamento Objeto-Relacional • Interface de administração automática • URLs amigáveis • Herança de templates • Suporte a multilínguagem • ... 36
Metendo a Mão na Massa 37
Mais de 15 anos de atuação no mercado de TI Membro do Porto Digital Membro da Softex Recife Sede PARTEC – Recife (PE)‫‏‬ Átila Medeiros Bezerra atila@tangerinalab.com Av. Rui Barbosa, 472 – Graças – Recife/PE CEP: 52011-040 PABX/FAX: 81 3423-6466 www.partecweb.com.br currículos:curriculos@tangerinalab.com
Referências • Comunidade – http://www.pythonbrasil.com.br/ – http://br.groups.yahoo.com/group/python-brasil/ – http://pug.pe – https://groups.google.com/group/pug-pe?hl=pt • IDEs – http://aptana.com/ – http://www.jetbrains.com/pycharm/ – http://eric-ide.python-projects.org/index.html • Onde aprender – http://ark4n.wordpress.com/python/ – http://blog.triveos.com.br/2011/01/04/curso-completo-de-python-e-django/ – http://welcometothedjango.com.br/ – http://www.aprendendodjango.com/ – https://docs.djangoproject.com/en/1.3/intro/tutorial01/ 39

O poder do Python/Django

  • 1.
    O Poder do e Átila Medeiros Bezerra atila@tangerinalab.com
  • 2.
  • 3.
    Linguagem de Programação •Foi desenvolvida por Guido Van Rossum em 1990 3
  • 4.
  • 5.
    Monty Python’s FlyingCircus • Seu nome é uma homenagem ao grupo humorístico inglês, adorado por geeks de todo o mundo 5
  • 6.
    Filosofia Pythonica Complexo é melhor que complicado Agora é melhor que nunca Bonito é melhor que feio Simples é melhor que complexo Legibilidade conta Explícito é melhor que implícito Plano é melhor que aninhado Ao encarar a ambigüidade, recuse a tentação de adivinhar 6 Por: Tim Peters
  • 7.
  • 8.
    É Fácil deAprender • Sintaxe clara, muito próxima de um pseudo-código. file = open(“texto.txt”) for linha in file: Python Java print linha file.close() FileInputStream fstream = new FileInputStream("texto.txt"); BufferedReader in = new BufferedReader(new InputStream Reader(in)); while (in.ready()) { System.out.println(in.readLine()); } in.close(); 8
  • 9.
    Tipagem Dinâmica eForte • Objetos não podem mudar de tipo • Não há conversão automática de tipo X O que é comum em linguagens de script como: php, javascript e perl Ex: “9” + 10 = “910” Em Python é levantada um exceção, pois isso é uma fonte de bugs difíceis de localizar e tratar 9
  • 10.
    Alta produtividade • Tempode desenvolvimento reduzido – Comparado a Java normalmente o código 5 vezes menor • Código extremamente legível tornando mais fácil a manutenção • Possui um vasto repertório de bibliotecas 10
  • 11.
    Python é Multiplataforma Unix/Linux,Windows, Mac, OS/2 ... Por que isso é importante? 11
  • 12.
    Python é Multiplataforma •Ex: Governo brasileiro http://www.brasil.gov.br/ 12
  • 13.
    Python é Multiplataforma •Python em dispositivos móveis – Symbiam (PyS60), PySide (Maemo), ASE (Android) 13
  • 14.
    Vários gurus recomendam •Eric Raymond – em seu HOW-TO "Como se tornar um Hacker“ – recomenda ao aspirante aprender Python primeiro “Se você não sabe nenhuma linguagem de computador, eu recomendo começar com Python. É bem projetada, bem documentada, e relativamente boa para iniciantes. Apesar de ser uma ótima linguagem para o aprendizado da programação, não é apenas um brinquedo, é muito poderosa e flexível e bem adequada para grandes projetos.” http://www.catb.org/~esr/faqs/hacker-howto.html 14
  • 15.
  • 16.
    É Utilizada peloGoogle desde 1998! http://web.archive.org/web/19990204033714/google.stanford.edu/about.html 16
  • 17.
    O que o acha do Python? "Python tem sido uma parte importante do Google desde o início, e permanece assim conforme o sistema cresce e evolui. Hoje, dezenas de engenheiros do Google usam Python, e estamos procurando por mais pessoas com conhecimento nessa linguagem.“ Peter Norvig, diretor de qualidade de busca do Google, Inc. http://www.python.org.br/wiki/PythonNoGoogle “*...+ nossa filosofia geral é ‘Python onde podemos, C++ onde somos obrigados.’ Python não é definitivamente apenas um pequeno pedaço, nem é usado apenas para tarefas de ‘scripiting’; se ficássemos sem todo nosso código Python de uma hora para outra, nossa poderosa infra-estrura que tem sido descrita como a ‘arma secreta do Google’ ficaria abalada.” Alex Martelli, Líder técnico, Sistemas de produção, Google, Inc http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ 17
  • 18.
    Onde o usa o Python? • Sistema de ajuda do GMail • Google Groups • Sistema de compilação de aplicativos (build system). • Sistema de empacotamento e entrega de dados (packaging system). • Sistema de monitoramento e manutenção do cluster • Sistema de testes • ... 18
  • 19.
    O usa! “Python é rápido o suficiente para o nosso site e permite que nós produzamos features que podem ser mantidas em tempo recorde, com o mínimo de desenvolvedores.“ Cuong Do, Arquiteto de Software, Youtube.com. http://www.python.org/about/quotes/ “O Youtube (uma das propriedades mais valiosas do Google) é essencialmente todo Python [...].” Alex Martelli, Líder técnico, Sistemas de produção, Google, Inc http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ 19
  • 20.
    Industrial Light andMagic “Python desempenha um papel chave no nosso esquema de produção. Sem ela um projeto do tamanho de ‘Guerra nas Estrelas: Episódio II teria sido muito difícil de sair. Da renderização da multidão ao processamento em lote e a composição, Python mantêm todas as partes unidas.” Tommy Burnet te, Diretor técnico Sênior, ILM. http://www.python.org/about/quotes/ “Quando me transferi [...], todos os membros da equipe [...] me acompanharam - menos Tommy. Ele [...] ele fora contratado pela Industrial Light and Magic [...]. Tommy se tornou um destacado programador da linguagem Python, por sorte dele a linguagem escolhida pela empresa de Lucas. E sorte mesmo é quando o preparo se une a oportunidade.” Rand Pausch, A lição final. http://pythonologia.org/2008/09/24/a-licao-final/ 20
  • 21.
  • 22.
    DreamWorks “Gostaria de sertudo Python, mas hoje ainda temos muito de Perl.” Ed Leonard, Diretor de Tecnologia de Animação, DreamWorks. http://www.linuxjournal.com/article/9653 “Nossa equipe tem baseado a transição de Perl para Python na facilidade. Há três razões primárias para isso. A criação de binding em Python para uma biblioteca C++ é muito fácil [...]. A natureza orientada a objetos de Python é muito atraente [...]. E Python é uma cidadã de primeira classe [...] na nossa industria.” Darin Grant, Chefe de Produção de Tecnologia, DreamWorks. http://www.linuxjournal.com/article/9653 22
  • 23.
  • 24.
    E muito mais! http://science.nasa.gov/ https://www.cia.gov/ ... 1: http://www.djangosites.org/ 2: http://plone.org/support/sites/ 24
  • 25.
    Quem usa Python no Brasil?
  • 26.
    • Portal reimplementadousando Python / Django 45 milhões de acessos / dia http://www.slideshare.net/ricobl/python-e-django-na-globocom 26
  • 27.
    • Reconstrução 3dde Imagens Médicas http://svn.softwarepublico.gov.br/trac/invesalius/ 27
  • 28.
  • 29.
  • 30.
  • 31.
    E muito mais(Governo)! http://www2.planalto.gov.br/ http://www.brasil.gov.br/ ... http://www2.camara.gov.br/ 31
  • 32.
  • 33.
    O que preciso? No mínimo ... • Servidor de aplicação web • Persistência de dados Acho que você • Engine de templates vai precisar de ajuda! • Mapeador de URLs • Controle de sessões • Formulários e validações • Modulo de autenticação • Kit de ferramentas ajax 33
  • 34.
    O que tempor aí? 34
  • 35.
    Django • Framework webescrito em Python • Focado no desenvolvimento ágil • Automatiza algumas tarefas do processo de desenvolvimento • Mantém o desenvolvedor com foco no negócio “Nós fazemos a parte repetitiva, você faz o que interessa” 35
  • 36.
    Django • Mapeamento Objeto-Relacional • Interface de administração automática • URLs amigáveis • Herança de templates • Suporte a multilínguagem • ... 36
  • 37.
    Metendo a Mãona Massa 37
  • 38.
    Mais de 15anos de atuação no mercado de TI Membro do Porto Digital Membro da Softex Recife Sede PARTEC – Recife (PE)‫‏‬ Átila Medeiros Bezerra atila@tangerinalab.com Av. Rui Barbosa, 472 – Graças – Recife/PE CEP: 52011-040 PABX/FAX: 81 3423-6466 www.partecweb.com.br currículos:curriculos@tangerinalab.com
  • 39.
    Referências • Comunidade – http://www.pythonbrasil.com.br/ – http://br.groups.yahoo.com/group/python-brasil/ – http://pug.pe – https://groups.google.com/group/pug-pe?hl=pt • IDEs – http://aptana.com/ – http://www.jetbrains.com/pycharm/ – http://eric-ide.python-projects.org/index.html • Onde aprender – http://ark4n.wordpress.com/python/ – http://blog.triveos.com.br/2011/01/04/curso-completo-de-python-e-django/ – http://welcometothedjango.com.br/ – http://www.aprendendodjango.com/ – https://docs.djangoproject.com/en/1.3/intro/tutorial01/ 39