Python: A Arma Secreta do Cientista de Dados

1.206 visualizações

Publicada em

Palestra que discute a figura do cientista de dados e porque Python é uma tecnologia chave para este papel.

Publicada em: Software

Python: A Arma Secreta do Cientista de Dados

  1. 1. A Arma Secreta do Cientista de Dados Rodrigo Senra rsenra@acm.org Python
  2. 2. Apenas um rapaz latino americano... • Engenheiro de Software • GPr Sistemas (11 anos) • HI Tecnologia (5 anos) • Professor Universitário - PUC-Campinas (2 anos) • Especialista - Globo.com (2 anos) • Cientista Pesquisador - EMC2 • Engenheiro de Computação Grad-MSc-PhD IC-Unicamp • Entusiasta de FLOSS (atuante na comunidade Python desde 2000)
  3. 3. • Estudantes ? • Professores ? • Profissionais ? • Pythonistas ? Quem está aqui ?
  4. 4. Vamos falar de… • O dilúvio de dados • Cientista de Dados • O graal do desenvolvedor • Escolhendo uma linguagem • Vocabulário ofidiglota
  5. 5. fONTE: IDC Digital Universe Study, patrocinado pela EMC, 2011 2009
 0.8 Zettabytes CRESCIMENTO DA INFORMAÇÃO 2020 44 X MAIOR 35.2 ZB IN 2010 THE DIGITAL UNIVERSE WAS 1.2 ZETTABYTES 1,200,000,000,000,000,000,000 Zetta Exa Peta Tera Giga Mega Kilo Byte fonte: http://thehumanfaceofbigdata.com/
  6. 6. http://www.telegraph.co.uk/news/picturegalleries/picturesoftheday/2545407/Pictures-of-the-day-12-August-2008.html?image=8
  7. 7. Cientista de Dados Rodrigo Senra O que faz ? Quem é ?
  8. 8. Data Science is a newly emerging field dedicated to analyzing and manipulating data to derive insights and build data products. https://beta.oreilly.com/ideas/what-is-data-science It combines skill-sets ranging from computer science, to mathematics, to art. http://images.fineartamerica.com/images-medium-large-5/1-pi-transition-paths-martin-krzywinski.jpg
  9. 9. http://drewconway.com/
  10. 10. http://i0.wp.com/sciencereview.berkeley.edu/wp-content/uploads/2014/04/spring_2014_azam_05.jpg
  11. 11. Truth lies on statistics !
  12. 12. Big Data a cada passo da exploração de petróleo Navigation Seismic: Pre-stack Seismic: Post-stack Log Curves Culture Data Geologic Model Pressure Data Velocity Data Interpretation
  13. 13. 40 Plankalkü Transistor 50 Fortran LISP Harddisk Circuito Integrado 60 COBOL SIMULA BASIC LOGO ITS OS360 MULTICS Mouse Interrupções Virt.Mem ARPANET RS-232 70 Pascal C Smalltalk Prolog UNIX CP/M VMS Floppy Micro- processador PONG TCP/IP Ethernet 80 Ada C++ Perl SQL LISA Macintosh UNIX MS-DOS Windows 1.0-2.0 OS/2 MINIX AIX HPUX SCO GNU RISC 90 Javascript Python Java PHP BeOS Linux Solaris Windows 2.0 - 98 OpenBSD ISA WWW 2000 Scala C# Mac OSX Windows ME 2000 XP Vista 7 Go Linux Julia
  14. 14. A verdade dói... # Edsger W.Dijkstra, 18 Junho 1975 http://www.cbi.umn.edu/inv/burros/ewd498.htm
  15. 15. A verdade dói... # Edsger W.Dijkstra, 18 Junho 1975 http://www.cbi.umn.edu/inv/burros/ewd498.htm FORTRAN --"the infantile disorder"--, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use
  16. 16. A verdade dói... # Edsger W.Dijkstra, 18 Junho 1975 http://www.cbi.umn.edu/inv/burros/ewd498.htm PL/1 --"the fatal disease"-- belongs more to the problem set than to the solution set
  17. 17. A verdade dói... # Edsger W.Dijkstra, 18 Junho 1975 http://www.cbi.umn.edu/inv/burros/ewd498.htm It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration
  18. 18. A verdade dói... # Edsger W.Dijkstra, 18 Junho 1975 http://www.cbi.umn.edu/inv/burros/ewd498.htm The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence
  19. 19. Top 10 - SourceForge
  20. 20. http://githut.info/
  21. 21. http://sogrady-media.redmonk.com/sogrady/files/2015/07/lang-rank-615-wm.png
  22. 22. Who is using Python ?
  23. 23. Duelo de linguagens
  24. 24. Duelo de linguagens
  25. 25. import java.io.*; import java.util.*; import java.text.*; public class sumcol { public static void main(String[] args) { int count = 0; String line; try { BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); while ((line = in.readLine()) != null) { count = count + Integer.parseInt(line); } } catch (IOException e) { } System.out.println(Integer.toString(count)); Javausing System; class App { public static int Main(String[] args) { int count = 0; for (String line = Console.In.ReadLine(); line != null; line = Console.In.ReadLine()) { count += System.Convert.ToInt32(line); } Console.WriteLine(count.ToString()); return(0); } C#import sys count = 0 while 1: line = sys.stdin.readline().strip() if not line: break count += int(line) print count Pythonimport sys, itertools print sum(itertools.imap(int, sys.stdin)) Python
  26. 26. Python é ... • propósito geral • foco em produtividade do desenvolvedor • multi-plataforma e multi-paradigma • pilhas incluídas • floss software • fácil de extender e embutir • madura (criada em1989, liberada ao público 1991)
  27. 27. Interoperabiilidade ✴ CPython (onde existir compilador C ISO/IEC 9899:1990) ✴ Jython (Python implementado em Java) ✴ IronPython (implementado em C# pela M$) ✴ PyPy (Python implementado em... Python) ✴ Py4J (ponte entre CPython e JVM) ✴ Python for .NET [Brian Lloyd] ✴ Win32all [Mark Hammond] (adeus VBA!) ✴ PyObjC (Mac OSX middleware) ✴ Python for Delphi [Morgan Marat] ✴ LunaticPython [Gustavo Niemeyer] ✴ Ruby/Python (importar módulos Python em Ruby) ✴ Python + Fortran
  28. 28. Fernando Perez, lead PI at BIDS and creator of IPython, demonstrates brain imaging analyses performed using the IPython Notebook, an interactive web-based computational environment. credit: Peg Skorpinski
  29. 29. Hora da Demo Dá tempo de ver o Python em ação ? É possível ? Seria pedir muito ?
  30. 30. Pygame
  31. 31. Python no celular S60
  32. 32. Referências ! http://python.org ! http://www.pythonbrasil.com.br ! http://associacao.pythonbrasil.org ! http://showmedo.com
  33. 33. Referências ! Fluent Python: Luciano Ramalho (O’Reilly) ! Python in a Nutshell: Alex Martelli (O'Reilly) ! Python Cookbook: Alex Martelli, David Ascher (O'Reilly) ! Learning Python for Interactive Computing and Data Visualisation: Cyrille Rossant (Packt)
  34. 34. Conclusão • Ágil, madura e moderna • Fácil aprendizado • Comunidade Ativa • Fartura de documentação • Divertida ;o)
  35. 35. Obrigado a todos pela atenção. Rodrigo Dias Arruda Senra http://rodrigo.senra.nom.br rodsenra@gmail.com @rodsenra As opiniões e conclusões expressas nesta apresentação são de exclusiva responsabilidade de Rodrigo Senra. Não é necessário requisitar permissão do autor para o uso de partes ou do todo desta apresentação, desde que não sejam feitas alterações no conteúdo reutilizado e que esta nota esteja presente na íntegra no material resultante. Imagens e referências para outros trabalhos nesta apresentação permanecem propriedade daqueles que detêm seus direitos de copyright. Agradecimento especial a Ana Oliveira e Diego Salomone que contribuíram com alguns slides de suas apresentações sobre o mesmo tema.

×