Por que Python?

Rodrigo Pinheiro Marques de Araújo




               FLISOL                1
Rodrigo Araújo
Mestre em Sistemas e Computação - UFRN
Bacharel em Computação UFRN
Professor substituto na ECT UFRN
Analista de Sistemas na Veezor
Usuário linux desde 2000
Programador Python desde 2006



                  FLISOL                 2
Roteiro
O que é Python?
Quem usa?
Características de Python
Por que Python?
Um programador melhor




                    FLISOL   3
O que é Python?
Linguagem de programação de alto-nível
Criada 1991
Software livre
Criador: Guido Van Rossum




                   FLISOL                4
Quem usa Python?




       FLISOL      5
Quem usa Python?




       FLISOL      6
FLISOL   7
Quem usa Python?


 Python tem sido uma parte importante do
Google desde o início,
E continua sendo à medida que o sistema cresce
e evolui...
estamos procurando mais pessoas com
habilidade nesta linguagem.

Peter Norvig, Google Inc.



                        FLISOL                   8
Quem usa Python?




       FLISOL      9
Quem usa Python?




       FLISOL      10
Quem usa Python?




       FLISOL      11
Quem usa Python?




       FLISOL      12
Quem usa Python?




       FLISOL      13
Quem usa Python?




       FLISOL      14
Quem usa Python?




       FLISOL      15
Quem usa Python?




       FLISOL      16
Quem usa Python?




       FLISOL      17
Quem usa Python?




       FLISOL      18
Quem usa Python?




       FLISOL      19
Quem usa Python?




       FLISOL      20
Quem usa Python?




       FLISOL      21
Quem usa Python?




       FLISOL      22
Quem usa Python?




       FLISOL      23
Quem usa Python?




       FLISOL      24
Quem usa Python?




       FLISOL      25
Quem usa Python?




       FLISOL      26
Quem usa Python?




       FLISOL      27
Quem usa Python?




       FLISOL      28
Quem usa Python?




       FLISOL      29
Quem usa Python?




       FLISOL      30
Quem usa Python?




       FLISOL      31
Quem usa Python?




       FLISOL      32
Quem usa Python?




       FLISOL      33
Quem usa Python?




       FLISOL      34
Quem usa Python?




       FLISOL      35
Quem usa Python?




       FLISOL      36
Quem usa Python?




       FLISOL      37
Quem usa Python?




       FLISOL      38
Quem usa Python?




       FLISOL      39
Quem usa Python?




       FLISOL      40
Características de Python
Áreas de aplicação
  Desenvolvimento web
  Computação gráfica
  Administração de sistema
  Integração de sistemas
  Jogos
  Cloud computing



                     FLISOL     41
Características de Python
Linguagem de uso geral
Multi-plataforma
Tipagem forte
Interpretada
Multi-paradigma (procedural, OO, funcional)
Sintaxe simples, clara e expressiva



                    FLISOL                    42
Características de Python
Exceptions
Namespaces, módulos, pacotes
Herança múltipla
Sobrecarga de operadores
Metaprogramação




                  FLISOL        43
Características de Python
O que significa ser uma linguagem expressiva?




                    FLISOL                  44
Características de Python
Hello World em C




                   FLISOL       45
Características de Python
Hello World em C




                   FLISOL       46
Características de Python
Hello World em Java




                      FLISOL    47
Características de Python
Hello World em Java com mais detalhes




                   FLISOL               48
Características de Python
Hello World em Python



      print Hello




                  FLISOL        49
Características de Python
Ler um arquivo em C




                      FLISOL    50
Características de Python
Ler um arquivo em Java
  Um momento enquanto eu abro o arquivo de
  código fonte pois o mesmo não cabia no slide




                      FLISOL                     51
Características de Python
Ler um arquivo em Python



                            read()




                   FLISOL            52
Características de Python
Esses exemplos querem dizer muita coisa?



    Não, mas também sim




                   FLISOL                  53
Características de Python
Uma aplicação de relógio em Python (@ramalhoorg)




                       FLISOL                      54
Características de Python
Jogo Tetris em Python em 100 linhas
Interpretador lisp em python (lis.py) em 113
linhas




                    FLISOL                     55
Características de Python
Implementações
  CPython Implementação C (padrão)
  Jython - Implementação Java
  IronPython Implementação .Net
  PyPy - Implementação RPython




                    FLISOL           56
Um programador melhor
Fácil leitura
  Aprenda com os grandes projetos
  Aprenda com quem sabe
  Software livre é uma biblioteca universal
  Ler software ensina bastante
  Ganhe experiência com a experiência dos outros
Comunidade ativa e colaborativa


                      FLISOL                       57
Um programador melhor
Tipos builtins (lista, tuplas, dicts, sets)
Biblioteca padrão rica
Linguagem acessível, resultados rápidos
Campos de atuação diversificados
Novos conceitos e paradigmas




                      FLISOL                  58
Um programador melhor
Integração com linux (mais pacotes)
Diversão
Ambiente interativo
Realização pessoal
Investimento em você




                    FLISOL            59
Um programador melhor



Python Paradox - Paul Graham




             FLISOL            60
Um programador melhor



Da adm. de sistemas para programação




                 FLISOL                61
Um programador melhor




         FLISOL         62
Um programador melhor




         FLISOL         63
Um programador melhor




         FLISOL         64
Um programador melhor
UFRN
  Redes de AV (parser ns2)
  SO (Threads)
  SD (REST)
  RSSF (Simulador Modelo de confiança em redes ad
  hoc)
  Monografia - (SGrid)
Dynavideo
  Testes
  Sistemas de build embarcado

                       FLISOL                   65
Um programador melhor
Veezor
  Nimbus (Python, Django, Bacula, S3, Virtualização
  Xen Server)
UFRN
  Corretor de trabalhos




                       FLISOL                     66
Um programador melhor
Github




             FLISOL         67
Um programador melhor



Da distância entre o programador e o problema




                      FLISOL                    68
Acesso a comunidade
Python.org, Python.org.br
Pythonbrasil.org.br
Google groups python-brasil




                    FLISOL    69
Adaptado de
Python, a arma secreta do google por Luciano
Ramalho
  http://www.slideshare.net/ramalho/python-a-
  arma-secreta-do-google
Por que Python? por Marco André Lopes
Mendes
  http://www.slideshare.net/marcoandre/por-que-
  python-ifc-concrdia-2011


                     FLISOL                       70
Agradecimentos
A comunidade python-brasil
A Veezor
Ao IFRN
Ao prof. Adorilson Bezerra pelo convite




                     FLISOL               71

Por que Python?