o poder do python/django

39
Átila Medeiros Bezerra [email protected] O Poder do e

Upload: atila-bezerra

Post on 13-Jan-2015

1.058 views

Category:

Education


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: O poder do Python/Django

Átila Medeiros [email protected]

O Poder do

e

Page 2: O poder do Python/Django

Alguém conhece o Python?

Page 3: O poder do Python/Django

Linguagem de Programação• Foi desenvolvida por

Guido Van Rossum em 1990

3

Page 4: O poder do Python/Django

4

Page 5: O poder do Python/Django

Monty Python’s Flying Circus• Seu nome é uma

homenagem aogrupo humorísticoinglês, adorado porgeeks de todo omundo

5

Page 6: O poder do Python/Django

Filosofia PythonicaBonito é melhor que feio

Legi

bili

dad

eco

nta

Agora é melhor que nunca

Exp

lícit

mel

ho

r q

ue

imp

lícit

o

Sim

ple

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

Page 7: O poder do Python/Django

Por que usar Python?

Page 8: O poder do Python/Django

É 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

Page 9: O poder do Python/Django

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

Page 10: O poder do Python/Django

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

Page 11: O poder do Python/Django

Python é Multiplataforma

Unix/Linux, Windows, Mac, OS/2 ... Por que isso é importante?

11

Page 12: O poder do Python/Django

Python é Multiplataforma• Ex: Governo brasileiro

http://www.brasil.gov.br/12

Page 13: O poder do Python/Django

Python é Multiplataforma• Python em dispositivos móveis

– Symbiam (PyS60), PySide (Maemo), ASE (Android)

13

Page 14: O poder do Python/Django

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

Page 15: O poder do Python/Django

Quem usa Pythonno Mundo?

Page 16: O poder do Python/Django

É Utilizada pelo Google desde 1998!

16http://web.archive.org/web/19990204033714/google.stanford.edu/about.html

Page 17: O poder do Python/Django

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

Page 18: O poder do Python/Django

• 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

Page 19: O poder do Python/Django

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

Page 20: O poder do Python/Django

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

Page 21: O poder do Python/Django

http://www.ilmfan.com/projects21

Page 22: O poder do Python/Django

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

Page 23: O poder do Python/Django

23

Page 24: O poder do Python/Django

E muito mais!

http://science.nasa.gov/

https://www.cia.gov/

1: http://www.djangosites.org/ 2: http://plone.org/support/sites/

...

24

Page 25: O poder do Python/Django

Quem usa Pythonno Brasil?

Page 26: O poder do Python/Django

• Portal reimplementado usando Python / Django

26http://www.slideshare.net/ricobl/python-e-django-na-globocom

45 milhões de acessos / dia

Page 27: O poder do Python/Django

• Reconstrução 3d de Imagens Médicas

http://svn.softwarepublico.gov.br/trac/invesalius/ 27

Page 29: O poder do Python/Django

29

http://painelmaiscultura.cultura.gov.br/

Page 31: O poder do Python/Django

E muito mais (Governo)!http://www.brasil.gov.br/http://www2.planalto.gov.br/

http://www2.camara.gov.br/31

...

Page 32: O poder do Python/Django

Desenvolvimento Web

Page 33: O poder do Python/Django

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!

Page 34: O poder do Python/Django

O que tem por aí?

34

Page 35: O poder do Python/Django

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”

Page 36: O poder do Python/Django

Django• Mapeamento Objeto-Relacional• Interface de administração automática• URLs amigáveis• Herança de templates• Suporte a multilínguagem• ...

36

Page 37: O poder do Python/Django

Metendo a Mão na Massa

37

Page 38: O poder do Python/Django

Sede PARTEC – Recife (PE)‏

Átila Medeiros Bezerra

[email protected]

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

Page 39: O poder do Python/Django

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