SlideShare uma empresa Scribd logo
1 de 92
Baixar para ler offline
Programando em alto nível


         Igor Sobreira
      www.igorsobreira.com
Eu te conheço?
• Me chamo Igor Sobreira
• Faço TSI no IFPB (antigo CEFET-PB)
• Programo em Python a uns 3, 4 anos
• Trabalho com Python pra web (Django)
  •   Smart Nuts Technology (www.smartnutstechnology.com)

• Velejo de windsurf (quando dá...)
Python começou ...
• ... em 1991, o primeiro release: 0.9.0
• Multi-paradigma
• Multi-plataforma
• Tipagem dinâmica e forte
• Biblioteca padrão extensa
• Fácil de aprender
• Preza pela beleza de código ... beleza?
Beleza Importa!
Código bonito é código legível




            mais fácil de manter
              http://www.fickr.com/photos/jorgenjuul/2315754513/
VHLL
Linguagem de Altíssimo Nível




               http://www.fickr.com/photos/carpe_feline/539715666/
Para os humanos
Interpretador interativo
Onde estamos?
         Pra onde vamos?
•   Python 3.0: quebra de compatibilidade

    •   2to3 ajuda na migração

    •   ainda pouco usada (poucos módulos externos)

•   Versão atual 2.6.2: compatível com a família 2.x

    •   traz algumas novidades do Python 3.0

    •   lança warnings de features depreciadas
Variáveis




      http://www.fickr.com/photos/mangtronix/404043506/
Objetos.
Eles estão em todos os lugares
Eles estão em todos os lugares
Tipagem Dinâmica
“ ... executam em tempo de execução muitos comportamentos
que outras linguagens realizam em tempo de compilação”
Wikipedia


   • não é preciso declarar o tipo de uma variável
   • mas é preciso inicializá-la
... e Forte
O que eu tenho disponível?
• listas [ coleção, de, objetos ]
• tuplas (listas, imutáveis)
• dicionários { chave: valor }
• “strings”
 • u’unicode’,
 • r’string cruasn’
Baterias Inclusas




Quase tudo que você precisa vem embutido



                 http://www.fickr.com/photos/fensterj/138774850/
http://docs.python.org/library/
re
               StringIO                             weakref
                                   datetime
 decimal         calendar                  itertools
      random
 math                                csv
          os.path os                           robotparser
                                   pdb
                                            email
     sqlite3                       gzip                json
                   shelve
      pickle                          xml.*     urllib/urllib2
                          tarfle
     hashlib      threading                multiprocessing
Multiplataforma
• Linux
                   • Maemo - PyMaemo
• Unix
                   • S60 - PyS60
• Windows
                   • Android
• OS X

    • E também na JVM e .NET
Python
Implementação X Especifcação
Implementação X Especifcação
CPython

• Implementação de referência, ofcial
• Escrita em C
• Versão atual: 3.0.1 / 2.6.2
Jython

• Python na JVM
• Implementação em Java
• Versão atual: 2.5.0
IronPython

• Python na .NET e Silverlight
• Versão atual: 2.0.1
 • Compatível com CPython 2.5
Stackless Python

• Um python “melhorado”
• Microthreads
 • Threads mais “leves”
 • Não são threads reais
 • Um round robin scheduler embutido
    executa as tasklets
Pypy
•   “... framework para produção de implementações de
    linguagens dinâmicas”

•   “implementação da linguagem Python rápida, fexível e
    compatível, usando esse framework para permitir novas
    funcionalidades avançadas sem precisar codifcar detalhes
    de baixo nível”

•   Python em (R)Python!

•   Geração de um compilador JIT!!
Unladen Swallow

• Branch do CPython feito pelo Google
• Meta? ser 5x mais rápido que o CPython
• Como? usando o JIT da LLVM
• Boa sorte google :-)
• Desenvolvimento ativo
Programação Funcional
flter()
zip()
E muito mais...
•   Python tem um exelente suporte a programação funcional

•   Muitas funções embutidas muito úteis

    •   http://docs.python.org/library/functions.html

•   functools, itertools

•   O tratamento de parâmetros é muito fexível

•   Funções são objetos de primeira classe

•   Closures
Decorators
• Modifcam, incrementam uma função ou método
• Fazem alguma coisa antes e/ou depois da função real
• Filtram parâmetros e/ou valores de retorno
• A partir do Python 2.6 podem decorar classes!
Programação
Orientada a Objetos
Métodos estáticos e de
       classe
Herança Múltipla
      Robô                    Carro
falar()                  acelerar()




               Trânsformer
Metaclasses
• Uma classe constrói objetos
• Uma metaclasse constrói classes
Classes Abstratas
•   Novidade no Python 2.6

•   Defnem a interface de um objeto

•   É uma forma de organizar as interfaces de suas classes,
    simplifcando a refexão

•   Classes abstratas + herança múltipla torna desnecessário um
    tipo interface, como existe linguagems como Java e PHP
collections.Container
Properties
• Evite getters e setters desnecessários
• Use-os somente quando precisar
• E quando usar, seja transparente
• Não precisa encapsular algo que (ainda) não existe!
Isso é só começo ...
•   OO em python é simples e poderoso!

•   é fácil deixar seu objeto parecido com um tipo nativo

•   sobrecarga de operadores (+, -, /, *)

•   descriptors

•   alto nível de refexão
Persistência
     de
  Dados
• pickle e cPickle: serializa objetos
• shelve: objeto dictionary-like persistente
 • o valor pode ser qualquer objeto pickleble
• Unix dbm: pares chave-valor
 • chaves e valores são strings
Bancos Relacionais
•   Python DB API (PEP 0242)

•   sqlite3 (builtin!)

•   MySQL - mysqldb

•   PostgreSQL - psycopg2

•   Oracle - cx_Oracle

•   Microsoft SQL Server - pymssql
ORMs
•   SQLAlchemy

•   Django ORM

•   DejaVu

•   Storm

•   SQLObject

•   Autumm
Banco de Dados OO
•   ZODB

•   Durus

•   pod - Pickled Object Database
couchdb-python
http://code.google.com/p/couchdb-python/
Programação Concorrente
subprocess


• inicar processos e analisar input/output/error
• subprocess.call( [‘ls’, ‘-la’] )
threading

• Fácil manipulação de threads
• Semáforos
• Locks
• Eventos
GIL
Global Interpreter Lock
• Não permite que duas threads executem em
  paralelo na mesma VM!!
• threads são concorrentes, mas não paralelas
• facilita muito a implementação, e módulos
  externos em C/C++
• Paralelismo real? Use processos.
multiprocessing

• quase a mesma interface de threading
• mas com processos, e não threads
• abstrai criação, interação entre processos ...
• Desenvolvimento web: frameworks
 • frameworks full-stack ou componentes
    separados

• Web Services
 • python conversa com: JSON, XML,YAML
 • SOAP, RPC, REST
Fazendo uma busca no Web Service do
            twitter.com
Testes Automatizados
doctests

• as docstrings viram testes reais
• documentação e teste num só lugar
• basta simular uma sessão no interpretador
  interativo ( >>> )
unittest

• Testes automatizados
• A versão em Python do JUnit
• Sua aplicação é formada por pequenas
  unidades testáveis
E por fora?




          http://www.fickr.com/photos/autobahn/377694041/
• Nose
  • py.test

Eles procuram e rodas os
    testes para você.
   E ainda extendem o
     unittest padrão


                           http://www.fickr.com/photos/rabbitriot/2910866645/
• python-mock
  • minimock
   Não teste objetos
       externos.
Falsifque-os, e espere o
      melhor deles.

  Ou simplesmente.
  Monkeypatch :-)
Conversa com outras
    linguagens

• C/C++
• Jython (Java)
• IronPython (.NET)
Onde usar?
• Web
• GUI
• Mobile
• Games e 3D
• Comp. Gráfca
• Ciência e Educação
• Rede
• Adm. de Sistemas
Quem usa?
www.youtube.com
www.cia.gov
www.brasil.gov.br
www.vericia.com
Aync - Stoq. Gestão comercial
InVersalius
Blender
Inkscape
INdT - Nokia
Documentação
python.org.br   docs.python.org
Python para
desenvolvedores
http://ark4n.wordpress.com/python/
A Comunidade

      Text
Encontro Brasileiro
• I PyconBrasil (2005) Unicamp, São Paulo/SP
• II PyconBrasil (2006) Interlegis, Brazília/DF
• III PyconBrasil (2007) SOCIESC, Joinville/SC
• Pyconbrasil [4] (2008) UVA, Rio de Janeiro/RF
• Pythonbrasil [5] UCS, Caxias do Sul/RS
  •   10 a 12 de Setembro de 2009
• python.org.br
• Grupos
 • python-brasil - 2960
 • django-brasil - 1034
 • zope-pt - 1047
• IRC
 • #python-br
 • #django-br
 • #qualquer-ferramenta-ou-framework
Bem vindo ao mundo
      Python
Obrigado. Dúvidas?




                                Igor Sobreira
                             www.igorsobreira.com


http://www.fickr.com/photos/pocar/3285251509/

Mais conteúdo relacionado

Mais procurados

2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com PythonJardel Weyrich
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamenteRodrigo Amaral
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação PythonCarlos Schults
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!Juliano Atanazio
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Introdução à linguagem Python
Introdução à linguagem PythonIntrodução à linguagem Python
Introdução à linguagem PythonAlex Tercete
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Marcel Caraciolo
 

Mais procurados (19)

2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação Python
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Introdução à linguagem Python
Introdução à linguagem PythonIntrodução à linguagem Python
Introdução à linguagem Python
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 

Destaque

Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonExtraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonPedro Valente
 
Linux4all#1
Linux4all#1Linux4all#1
Linux4all#1Daniel
 
Fundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CFundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CRogerio de Moraes
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e DjangoOsvaldo Santana Neto
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosDjango: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosRodrigo Nossal
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.comRaul Batalha
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª ediçãoLeandro Rocha de Oliveira
 

Destaque (16)

Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonExtraindo dados públicos na marra com Python
Extraindo dados públicos na marra com Python
 
Linux4all#1
Linux4all#1Linux4all#1
Linux4all#1
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Comandos Linux Parte 2
Comandos Linux Parte 2Comandos Linux Parte 2
Comandos Linux Parte 2
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Fundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CFundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem C
 
Ensinando OO com Python
Ensinando OO com PythonEnsinando OO com Python
Ensinando OO com Python
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e Django
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosDjango: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutos
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª edição
 

Semelhante a Programando em alto nível com Python

Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Jonh Edson
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4javamanrj
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeStefan Teixeira
 
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeçaTrês anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeçaFelipe Hummel
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Swift na linha de comando
Swift na linha de comandoSwift na linha de comando
Swift na linha de comandoTales Andrade
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorFelipe Hummel
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João PessoaOpenBossa
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesC. Augusto Proiete
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetMarcos Petry
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel PetryTchelinux
 
Análise estática de código Python
Análise estática de código PythonAnálise estática de código Python
Análise estática de código PythonGuilherme Vierno
 

Semelhante a Programando em alto nível com Python (20)

Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4
 
Python para devs
Python para devsPython para devs
Python para devs
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
 
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeçaTrês anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeça
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Swift na linha de comando
Swift na linha de comandoSwift na linha de comando
Swift na linha de comando
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Qt
QtQt
Qt
 
Seja DinâMico Com Python
Seja DinâMico Com PythonSeja DinâMico Com Python
Seja DinâMico Com Python
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
Automatizando Nmap com NSE
Automatizando Nmap com NSEAutomatizando Nmap com NSE
Automatizando Nmap com NSE
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidades
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 
Análise estática de código Python
Análise estática de código PythonAnálise estática de código Python
Análise estática de código Python
 

Programando em alto nível com Python