Python, a arma secreta do Google

4,998 views
4,723 views

Published on

Pelestra de divulgação da linguagem Python. Além dos slides, são feitas várias demonstrações ao vivo, que não aparecem nos slides.

0 Comments
18 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,998
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
217
Comments
0
Likes
18
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Python, a arma secreta do Google

    1. 1. a arma secreta do GoogleLuciano Ramalholuciano@ramgarlic.com
    2. 2. Google em 1998
    3. 3. O que é PythonLinguagem de uso geral Web, desktop, redes, computação gráfica e científicaMulti-plataforma Linux, Windows, Mac, Unix, Nokia S-60...Amplo suporte de fornecedores de TI Google, IBM, Oracle, Microsoft, RedHat, Amazon...Sintaxe simples e clara mas muito expressiva Aprendizagem rápida, produtividade em dias
    4. 4. LinguagemExpressiva? O que isso significa na prática? Linguagem COBOL
    5. 5. Java
    6. 6. JavaPython
    7. 7. Python tem sido uma parteimportante do Google desdeo início, e continua sendo àmedida que o sistema crescee evolui... estamos procurandomais pessoas com habilidadenesta linguagem.Peter Norvig, Google, Inc.
    8. 8. http://aima.cs.berkeley.edu/code.html
    9. 9. lis.py: interpretador Lisp (Scheme) em113 linhas de Python, por Peter Norvig
    10. 10. >>> from lis import repl>>> repl()lis.py> (* 7 3)21 Demo: lis.pylis.py> (define resposta (* 6 7))lis.py> resposta42lis.py> (define ! (lambda (n) (if (= n 0) 1 (* n (! (- n 1))))))lis.py> (! 4)24lis.py> (! 5)120lis.py> (! 197)100078405584080821221303894971344736599047761241456431563720437191558734323562679929991407036696693556694737848195477238497746661367777918006944650646265409257583733981874437495228286501182991424477395086576066353467353335798727837835328694280439305522603073118823862831864630209655642361092292378406702568679608855350476800000000000000000000000000000000000000000000000lis.py> !<function <lambda> at 0x1004cbd70>lis.py>
    11. 11. Exemplo: relógio gráficoimport Tkinterfrom time import strftimerelogio = Tkinter.Label()relogio.pack()relogio[font] = Helvetica 120 boldrelogio[text] = strftime(%H:%M:%S)def tictac(): agora = strftime(%H:%M:%S) if agora != relogio[text]: relogio[text] = agora relogio.after(100, tictac)tictac()relogio.mainloop()
    12. 12. Exemplo: cliente Twitterimport sysimport urllibimport jsonif len(sys.argv) == 2: busca = sys.argv[1]else: print Informe o texto da busca: {0} "texto".format(__file__) sys.exit(1)url = http://search.twitter.com/search.json?q=+buscaresposta = urllib.urlopen(url).read()documento = json.loads(resposta)resultados = documento[results]for resultado in resultados: print u{from_user}: {text}n.format(**resultado)print {0} resuldados exibidos.format(len(resultados))
    13. 13. Exemplo: servidor TCP/IPfrom twisted.internet.protocol import Protocol, Factoryfrom twisted.internet import reactorfrom time import asctimeclass ServidorHora(Protocol): def dataReceived(self, data): self.transport.write(asctime())f = Factory()f.protocol = ServidorHorareactor.listenTCP(9999, f)reactor.run()Para testar:$ telnet 127.0.0.1 9999
    14. 14. Quem usa Python?
    15. 15. Áreas de aplicaçãodesenvolvimento Webcomputação gráficaadministração de sistemasintegração de sistemas (glue language)computação científicagames
    16. 16. YouTube
    17. 17. Globo.com
    18. 18. Mozilla Firefox Add-Ons
    19. 19. Dropbox
    20. 20. Google App Engine
    21. 21. The Foundry, NUKE
    22. 22. Industrial Light & Magic
    23. 23. Autodesk Maya
    24. 24. Invesalius
    25. 25. Civilization IV
    26. 26. Frets on Fire
    27. 27. FBI e CIA
    28. 28. brasil.gov.br
    29. 29. Câmara dos Deputados
    30. 30. Projetos Open Source
    31. 31. Características Não obriga a declarar variáveis, mas obriga a inicializar >>> a = 10 >>> c = a + b Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name b is not defined Tipagem dinâmica forte, obriga conversões explícitas >>> a = 9 >>> b = 10 >>> c = a + b Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate str and int objects
    32. 32. Características 2 Orientada a objetos, mas não obriga a criar classes Suporta sobrecarga de operadores e herança múltipla Usa exceções, mas não obriga a declarar ou tratar Usa namespaces, módulos e pacotes Compilada para bytecode, como Java
    33. 33. ImplementaçõesCPython: o interpretador python padrão,implementando em C pré-instalado na maioria dos Linux e no OSXJython: implementado em Java, roda sobre a JVMIronPython: implementado em C#, roda sobre .net CLRPyPy: implementado em Python, compilação JIT melhor desempenho que o CPython em muitos testes poderá substituir CPython como interpretador principal
    34. 34. Porque aprenderLinguagem acessível, resultados em pouco tempoCampos de atuação muito diversificados, em expansãoDominar novos conceitos e paradigmasDiversão e realização pessoalResumindo: um ótimo investimento em você
    35. 35. diveintopython3.ep.io
    36. 36. Khan Academy
    37. 37. Khan Academy
    38. 38. code.google.com/edu/languages
    39. 39. Onde aprender maispython.org, python.org.brpythonbrasil.org.br (slideshare.net #pythonbrasil)Google Groups: python-brasilIntrodução à Programação com Python, Nilo MenezesPython e Django, Osvaldo Santana e Thiago GalesiCurso Gratuito 18/10, 19h-22h (metrô Paraíso): Desenvolvimento Web fácil com Python e Django Reservas: Globalcode.com.br 11-3145-2230
    40. 40. AgradecimentosGuido van Rossum, pela linguagem PythonTodo mundo que vem colaborando com PythonGoogle, por pagar o salário de Guido, Peter, AlexMartelli e tantos outros pythonistas da pesadaRodrigo Senra, Marco André, Xiru, Pamela Fox e PeterNorvig por exemplos, imagens e inspiraçãoComunidade Python Brasil, pela troca de idéias,amizade e arbustosAgradecimento especial a você que ficou até o fim!

    ×