OPEN-SOURCE - PHYTON, TWISTED, ZOPE
Autor: Carlos Alberto Sowek
Phyton linguagem de programação orientada a objetos, interativa e interpretada, desenvolvida em 1990 por Guido van Rossum. No final de 1998 contava com uma grande base de usuários.
Phyton não oferece novas características revolucionárias, combina muito dos melhores princípios de desenho e idéias de muitas linguagens de programação diferentes. É uma linguagem simples e poderosa.
A seguir estão relacionadas algumas características da linguagem Phyton:
- Interpretada
Códigos Phyton existem em arquivos textos finalizados em .py. O Programa compila o arquivo texto por um conjunto de “bytecodes” independente de máquina de forma similar ao Java. Arquivos compilados são salvos com o final .pyc. Estes arquivos podem ser importados e executados rapidamente. O código fonte é recompilado somente quando necessário. A rapidez do Phyton é similar em ordem de grandeza a Java e Perl.
- Tipos de Dados
Todas as linguagens de programação suportam tipos básicos de dados, assim como inteiros, números de ponto flutuante, entre outros. Phyton tem tipos de dados construídos em alto nível, assim como listas e dicionários, e tem operações de alto nível para trabalhar com estes dados. As funções construídas são escritas em C e extensivamente otimizadas.
- Interativa
Pode-se usar Phyton de modo interativo, entrando expressões uma linha por vez. Este modo permite testar idéias rápida e fácilmente, testando cada função ou método assim que forem escritos. Assim como o Smaltalk, o modo interativo é talvez a maior razão do aumento de produtividade com Phyton.
- Interpretador Sempre Disponível
Todos os programas Phyton contêm a habilidade para compilar e executar arquivos textos enquanto está executando: não têm distinção entre “runtime” e ambiente de desenvolvimento. Isto resulta numa poderosa linguagem macro para outros programas, podendo adicionar uma linguagem macro ou capacidade de “scripting” para aplicações existentes.
-Sintaxe Limpa
A sintaxe é direta e óbvia, não tem caracteres especiais. Contém blocos delimitados e alinhados.
- Características Avançadas de Linguagem
Phyton oferece todas as características esperadas em uma linguagem de programação moderna: programação orientada a objetos com herança múltipla, manuseio de exceções, sobreposição de operadores comuns, argumentos “default”, “namespaces” e pacotes.
- Independente de Plataforma
Phyton é escrita em ANSI C e é avaliada para um grande número de plataformas incluindo Windows, Unix e Macintosh. O núcleo da linguagem e a “library” padrão são idênticas em todas as plataformas, entretanto, cada plataforma pode oferecer suas próprias extensões.
- Extensível
Phyton é escrito em C em uma arquitetura modular, isto permite adicionar novas características ou API´s.
- “Libraries” Extensivas
A “Library” Phyton incluída na instalação padrão tem em torno de 200 módulos, cobrindo quase todas as funções do sistema operacional e estruturas de dados. Os principais site´s Phyton na Web apontam para muitos projetos usando Phyton e para “libraries” de terceiros.
Um dos problemas do Phyton é o suporte. Apesar do número de Web site´s e grupos de usuários não existe ainda suporte comercial para Phyton, embora algumas empresas ofereçam consultoria. Existem várias publicações, tais como:
- Master Phyton Programming
- Zope Power Tools
- Phyton Scripting
- Phyton in a Nutshell
- Phyton Cookbook
- Phyton Essencial Reference (2nd Edition)
- Learning Phyton (Help for Programmers)
- Programming Phyton (2nd Edition)
- Practical Phytonn:
- Phyton 2.1 Bible
- Phyton Web Programming
- Phyton Programming in Win 32
- Phyton & XML
- Phyton and Tkinter Programming
Pode-se facilmente combinar ou juntar Java com seu código Phyton usando Jython. Pode-se desenvolver Phyton com o framework .Net da Microsoft, usando Visual Phyton da ActiveState (www.activestate.com).
As duas empresas mais significativas para Phyton são:
- Twisted Matrix Laboratories e seu Framework Twisted
(www.twistedmatrix.com)- Zope Corp. e seu Sistema de Gerenciamento de Conteúdo - Zope(www.zope.com).
Twisted, escrito em Phyton, pode ser essencial para desenvolvimento de aplicações em Phyton porque provê um framework para desenvolvimento que integra uma coleção de serviços comumente usados nas empresas, assim como servidor de Web, servidor de e-mail, sistema de mensagens instantâneas, autentificação de usuários, compartilhamento de objetos e servidor de Chat.
Zope é outro “open-source” para construir aplicações estratégicas para o negócio em Phyton. Essencialmente, Zope é um servidor de aplicação especializado em intranets e aplicações de portal. É um “engine” de colaboração que facilita o uso de aplicações dinâmicas na Web e permite criar o sistema de gerenciamento de conteúdo definitivo. Companhias estão usando Zope em suas organizações, assim como:
Estados Unidos (USA)
- General Eletric- Bank of América
- Verizon Wireless
- Órgãos do governo assim como:
- U.S. Navy
- NATO - NASA,
- U.S. Department of Agriculture.
Um padrão para ambiente de desenvolvimento corporativo atualmente envolve servidor Windows NT 4.0 / 2000 e Microsoft Office no desktop; redes usando TCP/IP; desenvolvedores construindo sistemas e objetos de negócio em C e C++, desenvolvendo aplicações gráficas em Visual Basic, Delphi; usando banco de dados relacionais assim como Oracle, Sybase e Microsoft SQL Server. Isto pode envolver sistemas legados acessando banco de dados relacional em Unix rodando em back Office. Ambientes mais sofisticados estão movendo da arquitetura de duas para três camadas e construindo sistema de objetos distribuídos com COM e Corba, com “library” de objetos de negócio C++ entre o banco de dados e a aplicação.
Mantendo a diversidade de estilos necessários para suportar cada ambiente, uma nova ferramenta de desenvolvimento poderá oferecer benefícios mais claros aos negócios.
A seguir estão relacionados exemplos de alguns produtos “open source” mais populares:
Referências:
1. HAMMOND, M; ROBINSON, A. Phyton programming on win 32. Sebastopol: O’ Reilly & Associate, Jan. 2002. 652 p.
2. HUDSON, M. J. The major leagues. Intelligent Enterprise, San Mateo, v. 6, n. 4, p. 44-46, 1 Mar. 2003.
3. MURTHI, S. Free and clear? Intelligent Enterprise, San Mateo, v. 6, n. 6, p. 33-36, 5 Apr. 2003.