O poder do Python/Django
-
Upload
atila-bezerra -
Category
Education
-
view
1.056 -
download
6
description
Transcript of O poder do Python/Django
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 aogrupo humorísticoinglês, adorado porgeeks de todo omundo
5
Filosofia PythonicaBonito é melhor que feio
Legi
bili
dad
eco
nta
Agora é melhor que nunca
Exp
lícit
oé
mel
ho
r q
ue
imp
lícit
o
Sim
ple
sé
mel
ho
r q
ue
com
ple
xo
Co
mp
lexo
é m
elh
or
qu
e co
mp
licad
o
Ao encarar a ambigüidade, recuse a tentação de adivinhar
Por: Tim Peters
Pla
no
é m
elh
or
qu
e an
inh
ado
6
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:
print linha
file.close()
FileInputStream fstream = new FileInputStream("texto.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(in));
while (in.ready()) {System.out.println(in.readLine());
}
in.close(); 8
Python Java
Tipagem Dinâmica e Forte• Objetos não podem mudar de tipo• Não há conversão automática de tipo
Em Python é levantada um exceção, pois isso é umafonte de bugs difíceis de localizar e tratar
O que é comum em linguagens de script como: php,javascript e perl
Ex: “9” + 10 = “910”X
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 decomputador, eu recomendo começar comPython. É bem projetada, bem documentada, erelativamente boa para iniciantes. Apesar de seruma ótima linguagem para o aprendizado daprogramação, não é apenas um brinquedo, émuito poderosa e flexível e bem adequada paragrandes projetos.”
http://www.catb.org/~esr/faqs/hacker-howto.html
14
Quem usa Pythonno Mundo?
É Utilizada pelo Google desde 1998!
16http://web.archive.org/web/19990204033714/google.stanford.edu/about.html
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
• 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• ...
Onde o usa o Python?
18
O usa!
“Python é rápido o suficiente para o nosso site e permite que nós produzamosfeatures que podem ser mantidas em tempo recorde, com o mínimo dedesenvolvedores.“ Cuong Do, Arquiteto de Software, Youtube.com.
http://www.python.org/about/quotes/
“O Youtube (uma das propriedades mais valiosas do Google) é essencialmente todoPython [...].” 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 umprojeto do tamanho de ‘Guerra nas Estrelas: Episódio II teria sido muito difícil desair. 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 delea linguagem escolhida pela empresa de Lucas. E sorte mesmo é quando o preparose une a oportunidade.” Rand Pausch, A lição final.
http://pythonologia.org/2008/09/24/a-licao-final/
20
http://www.ilmfan.com/projects21
DreamWorks
“Gostaria de ser tudo Python, mas hoje ainda temos muito de Perl.”Ed Leonard, Diretor de Tecnologia de Animação, DreamWorks.
“Nossa equipe tem baseado a transição de Perl para Python na facilidade. Há trêsrazõ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 [...]. EPython é uma cidadã de primeira classe [...] na nossa industria.” Darin Grant, Chefede Produção de Tecnologia, DreamWorks.
http://www.linuxjournal.com/article/9653
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 Pythonno Brasil?
• Portal reimplementado usando Python / Django
26http://www.slideshare.net/ricobl/python-e-django-na-globocom
45 milhões de acessos / dia
• Reconstrução 3d de Imagens Médicas
http://svn.softwarepublico.gov.br/trac/invesalius/ 27
28
http://legiscidade.com.br/
29
http://painelmaiscultura.cultura.gov.br/
E muito mais!
30
E muito mais (Governo)!http://www.brasil.gov.br/http://www2.planalto.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• Engine de templates• Mapeador de URLs• Controle de sessões• Formulários e validações• Modulo de autenticação• Kit de ferramentas ajax
33
Acho que você vai precisar de
ajuda!
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
35
“Nós fazemos a parte repetitiva, você faz o que interessa”
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
Sede PARTEC – Recife (PE)
Átila Medeiros Bezerra
Av. Rui Barbosa, 472 – Graças – Recife/PECEP: 52011-040PABX/FAX: 81 3423-6466www.partecweb.com.br
currículos:[email protected]
Mais de 15 anos de atuação no mercado de TI
Membro do Porto Digital
Membro da Softex Recife
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