Python
Gespeak empacotado hoje para o Arch
by kalib on Mar.13, 2009, under Arch Linux, Asterisk, Impressões, Linux, Python, software livre
Ontem vi a notícia sobre o lançamento da versão 0.3 do aplicativo Gespeak. A mesma foi considerada a primeira versão estável do mesmo. Logo que vi resolvi empacotar para o Arch esta aplicação que poderia vir a ser útil para algumas pessoas, como é o meu caso.
Para quem não conhece, o Gespeak é um front end para o Espeak. O Espeak nada mais é que um sintetizador de voz. Como perguntariam alguns amigos meus: “What a porra is this?”
Um sintetizador de voz tem como objetivo transformar texto em áudio. Você digita algum texto e o aplicativo converte aquilo em áudio que pode ser utilizado de várias formas. A mais utilizada por mim é na administração de servidores de Voz rodando Asterisk, no qual posso gravar mensagens e utilizar facilmente de acordo com o meu propósito.
O Gespeak é desenvolvido em PyGTK e ainda está no começo de seu desenvolvimento. Espero que possamos em breve acompanhar outras funções no mesmo. Eu mesmo já entrei em contato com o pessoal do projeto para solicitar algumas funções básicas que o Espeak possui por padrão via linha de comando.
Hoje pela manhã o pacote para o Arch foi criado e já homologado pelo pessoal do projeto no final da tarde.
Link do projeto: http://code.google.com/p/gespeak/
Link do pacote no AUR: http://aur.archlinux.org/packages.php?ID=24659
Abraços

The Zen of Python
by kalib on Nov.24, 2008, under Arch Linux, Impressões, Linux, Python, software livre
Além de excelente linguagem de programação o Python ainda é Zen. Não acredita? Que tal conferir por si só as diretrizes Zen do Python?
Aproximadamente todas as distribuições Linux trazem um interpretador python instalado, portanto basta executá-lo com o seguinte comando:
$ python
Você receberá como resposta algo como o exemplo a seguir:
[kalib@tuxcaverna ~]$ python Python 2.6 (r26:66714, Oct 27 2008, 10:50:31) [GCC 4.3.2] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>>
Agora execute o seguinte:
>>> import this
Como resultado você terá o Zen do Python, como pode ser visto abaixo:
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!
Para sair do interpretador Python, pressionde as teclas Ctrl + D.
Abraços

Porque Python?
by kalib on Nov.20, 2008, under Impressões, Python, software livre
Muitos me perguntam sobre as vantagens do Python e o porque de, dentre tantas linguagens de programação, eu optei por ter o python como minha paixão oficial. Para evitar dar várias respostas à diferentes pessoas, resolvi compilar aqui alguns dos motivos que encontrei e que em minhas pesquisas iniciais me motivaram a escolher o Python como minha linguagem favorita.
Comecemos então pelas origens do Python. A linguagem foi criada em 1989 pelo holandês Guido van Rossum em Amsterdã. Influenciada pela linguagem ABC, desenvolvida no CWI por Guido e outros nas décadas de 70 e 80. ABC tinha um foco bem definido: ser uma linguagem de programação para usuários inteligentes de computadores que não eram programadores: Físicos, Cientistas Sociais, dentre outros. O projeto de sistema operacional distribuído da época, o Amoeba, precisava de uma linguagem de script. Eis que surge então o Python, trazendo como sua base os seguintes aspectos:
-
Elementos que eram bem sucedidos no ABC.
-
Estruturas de dados poderosas inclusas: Listas, Dicionários, Strings, etc..
-
Usar indentação para delimitar blocos, eliminando chaves. (Eu adoro isso! :p)
-
Fácil extensão (lição aprendida com os erros do ABC)
-
Fácil de portar: além do Amoeba, também era desejado que ele rodasse em Unix, Macintosh e Windows.
- Influências de Modula-2 e Modula-3: módulos e namespaces
Além destes aspectos o python teve alguns “favorecimentos” durante sua criação. Alguns detalhes que contribuíram para sua concepção de sucesso foram:
-
Universidade: pessoas altamente especializadas para desenvolver e opinar os elementos do projeto
-
Descontraído: o nome Python vem da séria de humor Monty Python’s Flying Circus
-
Sem prazos, Sem pressão: o desenvolvimento não foi pressionado por estratégias de marketing, prazos, clientes ou qualquer outro fator que pudesse influenciar nas decisões de projeto, resultando em maior qualidade.
- Software Livre: garante a vida da tecnologia
Dentre as características do Python que mais me chamaram à atenção, estão as seguintes:
-
Simplicidade: Python é uma linguagem muito simples.
-
Interpretada: usa máquina virtual, facilita portabilidade.
-
Interativa: pode-se programar interativamente, os comandos são executados enquanto digitados. Facilita testes, desenvolvimento ágil e outros.
-
Orientada a Objetos: Tudo é objeto. Incluindo herança múltipla, conceito apenas parcialmente presente em Java até então.
-
Exceções: Um moderno mecanismo para o tratamento de erros.
-
Coleta de lixo automática: Sistema que elimina os erros causados pelo acúmulo de dados inúteis na memória do computador.
-
Fortemente Tipada: Não existe casts e nem conversão automática. Não se mistura tipos “automagicamente”. :p
-
Tipagem Dinâmica: A tipagem de um objeto é feita em tempo de execução. Um objeto tem tipo, uma variável não.
-
Portabilidade: Portável para diversas arquiteturas como: Unix, Linux, BSD, Macintosh, Solaris, Windows, OS/2, Amiga, AROS, AS/400, BeOS, QNX, Palm OS, VMS, Psion, Acom Risc OS, PlayStation, Sharp Zaurus, Windows CE, PocketPC, etc. Quer mais o que???
-
Extensível: Facilmente extensível caso deseje parte do seu código em C++ por exemplo por algum motivo.
- Quer mais? o.O
E para os que se perguntam: Python é realmente utilizado por aí? Quem usa?
Vejamos….
No Brasil:
-
Embratel: monitoramento das interfaces de backbone e clientes de internet, também existem scripts de uso interno.
-
CPqD: monitoramento de centrais telefônicas.
-
Conectiva (Mandriva): Gerenciamento de pacotes da distribuição Linux e ferramentas de uso interno.
-
Async: desenvolvimento de software de automação comercial.
-
GPr Sistemas: Desenvolvimento de aplicações sob encomenda, sistemas como monitoramento de transporte terrestre via satélite são as soluções já feitas.
- Outras que também utilizam Python para sistemas web, como: Varig, Serpro, Câmara, Interligis, etc.
E no mundo a fora:
-
Industrial Light & Magic: automação interna: “Sem o Python um projeto do tamanho do Star Wars: Epsódio II, seria muito difícil de sair pronto.”
-
NASA: Repositório de CAD/CAE/PDM, gerência de modelos, integração e sistema colaborativo. “Nós escolhemos python porque nos proporciona uma máxima produtividade com código que é limpo e fácil de manter, sendo forte e extensível em bibliotecas, bem como excelente capacidades de integração com outras aplicações de qualquer plataforma.”
-
Apple: Ferramenta padrão desde o MacOS X.
-
Microsoft: Investimento no Iron Python para a plataforma .NET.
-
Disney: Jogos e Sistemas internos de automação e criação do patrocínio PyQT.
-
Bank Boston: Sistema web usando Python e Zope.
-
Nokia: Sistema de programação para celulares da série 60, permite mais recursos que o Java.
-
Atari: Jogos, como “Temple of Elemental Evil”.
-
Yahoo: Yahoo! Groups foi escrito inicialmente em puro python: 180.000 linhas de código cuidavam de tudo, tratando mais de 200 mensagens/segundo em um simples Pentium 400Mhz.
-
Nortel: Sistemas web “ChartWare”, “WebBook” e “WebTrack” são exemplos.
-
Philips: Automação da linha de semicondutores na fábrica de Fishkill.
-
Lawrence Livermore Natinal Laboratories: Ambiente de engenharia numérica.
-
Red Hat: diversas ferramentas para linux, o instalador das distribuições Red Hat e Fedora (Anaconda).
-
Gentoo Linux: Sistema de gerência de pacotes “Portage”.
-
Blender 3D: software pode ser estendido usando plugins python.
-
ArchLinux: O famoso Pacupdate que checa as atualizações de pacotes disponíveis.
- GOOGLE: Este é o maior case quando o assunto é Python. O Google é grande adepto do Python e utiliza em várias de suas ferramentas como: Sistema de Ajuda do GMail, Google Groups, Sistema de Compilação de aplicativos, Sistema de empacotamento e entrega de dados, Sistema de monitoramento e manutenção do cluster, Sistema de testes, Análise de registros, Prototipação, etc. “Requisito para contratar profissionais Java: Saber Python!
” (É mole?!)
Em resumo, Python é uma linguagem para quem quer produzir com código limpo e de forma bem feita com boa produtividade.
Menos porcaria, maior produtividade, sem marketing envolvido nas decisões, digitando menos! Bem vindo ao Python!
Fontes: Wikipedia, Google e Gustavo Sverzut Barbieri (www.gustavobarbieri.com.br)
Abraços








