SlideShare uma empresa Scribd logo
Desenvolvimento RAD com Python Osvaldo Santana Neto [email_address]
Python Linguagem de programação orientada a objetos Linguagem de alto nível Dinamicamente tipada Multiplataforma Windows, HP-UX, SunOS, Linux, PalmOS, Symbian, Java, entre outras OpenSource e licença compatível com GPL ( Free Software ) à partir de sua versão 2.0
Orientada a objetos Altamente Orientada a Objetos Herança (múltiplas) Polimorfismo Tudo é objeto: Classes Instâncias Atributos Namespaces Métodos Funções (buildin ou não)
RAD Altamente Modularizada Ampla biblioteca de Módulos Interpretada Compilada em tempo de execução Conceitos modernos de linguagens de programação Sintaxe simples, clara e eficiente
Possibilidades Construções possíveis: metodo = objeto.metodo   # métodos são objetos delattr(objeto, "metodo") if not hasattr(objeto, "metodo"): print "Oops, se foi!“ if flag:   MyClass = Class1   # classes são objetos else:   MyClass = Class2 obj = MyClass() if globals().has_key("zip"):   # namespaces são objetos print "A função zip existe!“
Módulos XML XML-RPC SOAP Threads Unicode GUI Windows Mac X (Unix/Linux) PalmOS Muitos  outros … Banco de Dados Oracle PostgreSQL MySQL DB/2 OBC outros… Internet Http Ftp Sockets RPC
Interpretada / Compilada Interpretada à partir dos fontes Pré-compilada Distribuição de módulos compilados Ambiente interativo (testes podem ser feitos na hora) Compilador para código nativo ( Ainda em desenvolvimento )
Python e Java  (exemplos de código) import java.util.Vector; public class ListTest { public static void main(String[] args) { for (int i = 0; i < 1000; i++) { Vector v = new Vector(); v.addElement(&quot;a&quot;); : for (int j = 0; j < 1000; j++)  { v.addElement(new Integer(j)); v.elementAt(j);   } } }
Python e Java for i in xrange(1000): v=['a','b','c','d','e','f','g'] for j in xrange(1000): v.append(j) v[j]
Integração Integração com linguagem C/C++ Muito útil para resolução de problemas de desempenho Integração com Java Muito útil para resolução de problemas de integração entre softwares
Desenvolvimento Desenvolvimento GUI import sys from Tkinter import * def main(): r = Tk() r.title(&quot;Programa Python&quot;) b = Button(r) b['text'] = ' ' * 5 + 'Isto é Python!' + ' ' * 5 b['command'] = q b.pack() r.mainloop() def q(): sys.exit(0) main()
Ferramentas Desenvolvimento Glade Desenho de interface gráfica, gera definições XML interpretadas pelo Python em qualquer plataforma. Utiliza o widgetset GTK Boa-Constructor Interface gráfica para desenvolvimento Python. Semelhante à ferramentas como Delphi e Jbuilder da Borland
Desvantagens Falta de profissionais qualificados Linguagem muito nova e pouco conhecida Não possue suporte de uma empresa do porte da Sun Linguagem em desenvolvimento constante ainda sem padronização
Vantagens Linguagem de fácil aprendizado Linguagem em constante desenvolvimento, novas tecnoligias estão sempre sendo implantadas Documentação vasta, de qualidade e facilmente encontrada na Internet A comunidade do Software Livre costuma ser mais eficiente que empresas Por ser fácil de ser aprendida e coerente diminui a possibilidade de erros do programador.
http://haxent.com

Mais conteúdo relacionado

Desenvolvimento RAD com Python (Fenasoft)

  • 1. Desenvolvimento RAD com Python Osvaldo Santana Neto [email_address]
  • 2. Python Linguagem de programação orientada a objetos Linguagem de alto nível Dinamicamente tipada Multiplataforma Windows, HP-UX, SunOS, Linux, PalmOS, Symbian, Java, entre outras OpenSource e licença compatível com GPL ( Free Software ) à partir de sua versão 2.0
  • 3. Orientada a objetos Altamente Orientada a Objetos Herança (múltiplas) Polimorfismo Tudo é objeto: Classes Instâncias Atributos Namespaces Métodos Funções (buildin ou não)
  • 4. RAD Altamente Modularizada Ampla biblioteca de Módulos Interpretada Compilada em tempo de execução Conceitos modernos de linguagens de programação Sintaxe simples, clara e eficiente
  • 5. Possibilidades Construções possíveis: metodo = objeto.metodo # métodos são objetos delattr(objeto, &quot;metodo&quot;) if not hasattr(objeto, &quot;metodo&quot;): print &quot;Oops, se foi!“ if flag: MyClass = Class1 # classes são objetos else: MyClass = Class2 obj = MyClass() if globals().has_key(&quot;zip&quot;): # namespaces são objetos print &quot;A função zip existe!“
  • 6. Módulos XML XML-RPC SOAP Threads Unicode GUI Windows Mac X (Unix/Linux) PalmOS Muitos outros … Banco de Dados Oracle PostgreSQL MySQL DB/2 OBC outros… Internet Http Ftp Sockets RPC
  • 7. Interpretada / Compilada Interpretada à partir dos fontes Pré-compilada Distribuição de módulos compilados Ambiente interativo (testes podem ser feitos na hora) Compilador para código nativo ( Ainda em desenvolvimento )
  • 8. Python e Java (exemplos de código) import java.util.Vector; public class ListTest { public static void main(String[] args) { for (int i = 0; i < 1000; i++) { Vector v = new Vector(); v.addElement(&quot;a&quot;); : for (int j = 0; j < 1000; j++) { v.addElement(new Integer(j)); v.elementAt(j); } } }
  • 9. Python e Java for i in xrange(1000): v=['a','b','c','d','e','f','g'] for j in xrange(1000): v.append(j) v[j]
  • 10. Integração Integração com linguagem C/C++ Muito útil para resolução de problemas de desempenho Integração com Java Muito útil para resolução de problemas de integração entre softwares
  • 11. Desenvolvimento Desenvolvimento GUI import sys from Tkinter import * def main(): r = Tk() r.title(&quot;Programa Python&quot;) b = Button(r) b['text'] = ' ' * 5 + 'Isto é Python!' + ' ' * 5 b['command'] = q b.pack() r.mainloop() def q(): sys.exit(0) main()
  • 12. Ferramentas Desenvolvimento Glade Desenho de interface gráfica, gera definições XML interpretadas pelo Python em qualquer plataforma. Utiliza o widgetset GTK Boa-Constructor Interface gráfica para desenvolvimento Python. Semelhante à ferramentas como Delphi e Jbuilder da Borland
  • 13. Desvantagens Falta de profissionais qualificados Linguagem muito nova e pouco conhecida Não possue suporte de uma empresa do porte da Sun Linguagem em desenvolvimento constante ainda sem padronização
  • 14. Vantagens Linguagem de fácil aprendizado Linguagem em constante desenvolvimento, novas tecnoligias estão sempre sendo implantadas Documentação vasta, de qualidade e facilmente encontrada na Internet A comunidade do Software Livre costuma ser mais eficiente que empresas Por ser fácil de ser aprendida e coerente diminui a possibilidade de erros do programador.