Dia 27 fui para o Google Developers Day. Tivemos algumas palestras simultâneas então não pude assistir todas as palestras que me interessavam. Assisti as palestras do App Engine, quem sabe eu possa escrever algo legal no futuro (não tão próximo). Queria assistir as palestras sobre o Android mas tive que escolher entre App Engine e Android. Alguns palestrantes apresentaram o OpenSocial e APIs de mapas. Foi legal encontrar velhos e novos amigos neste evento. Uma característica notável dos palestrantes era o entusiasmo em falar sobre o trabalho deles no Google. Em alguns momentos da minha vida profissional eu tinha aquela vontade de gerar “o código perfeito”, que me desse orgulho de falar “eu escrevi esse código”. A realidade pode minar essa vontade mas acredito que sem ela, os programadores podem estragar a vida de outras pessoas, usuários ou colegas programadores.
OK, chegou a hora de falar sobre um assunto recorrente nas listas de Python: IDEs. Cada um gosta de um determinado conjunto de editores, utilitários que normalmente você usa porque alguém indicou, você testou e adotou como ferramenta preferida. Queria registrar o que tenho usado e uma dica do que pode evoluir de agora em diante. Primeiro, vou listar os meus editores/IDEs: uso Komodo Edit no Mac OS X. Ele oferece a criação de projetos e tem code completion baseado num path que você pode configurar. Uma dica legal para qualquer editor é que ele tenha um hotkey para repetir alguma string do seu buffer. No meu Komodo, deixei Ctrl-K para iterar numa lista de palavras do buffer corrente. Você escreve menos (e erra menos). No Ubuntu, uso o Eric.
A minha dica para o pessoal monitorar de agora em diante seria o projeto nbpython. Ele é baseado na estrutura de módulos do Netbeans Platform, a API que fornece as classes para customização do Netbeans. Ela pode ser usada para se gerar uma aplicação nova ou para criar módulos para o Netbeans. Quando eu ficar ninja em Netbeans (is it gonna happen someday???), queria criar uma IDE Python. Um momento, mas Netbeans é escrito em Java!!!! Ohhh! Realmente. Mas dois pontos me chamam a atenção: a interface gráfica é bonita e o editor da versão 6.0 em diante ficou poderosa. Exemplo? Se você estiver com o cursor em cima de uma variável e renomear a variável, o editor troca todas as referências, fazendo highlighting. Acho que o Eclipse deve fazer isso mas o Netbeans promove a inclusão de novas linguagens na plataforma no site http://scripting.netbeans.org. Assim como aconteceu com Ruby, PHP e Javascript, gostaria que Python fosse integrado ao Netbeans. Afinal, javeiros usuários de Netbeans devem ter ficado interessados em outras linguagens assim como quem usa Ruby, PHP e Javascript devem ter testado o Netbeans. Acredito que bons programadores normalmente conhecem mais de uma linguagem e reconhecem as vantagens de cada uma delas. Assim acho que não faz mal a ninguém conhecer outras IDEs e linguagens, certo?
Dia 24 de Março ocorreu mais um encontro do Grupy-SP. Desta vez foi no Google, organizado pelo Rodolpho Eckhardt. Tivemos as palestras sobre a Pycon, Axiom, Callback design pattern, Python 3K e 2to3. Desconhecia o Axiom, um ORM que suporta o sqlite. Alex Martelli falou sobre Callbacks, Guido van Rossum falou sobre o Python 3K, Collin Winter falou sobre o 2to3, Cary Hull falou sobre o Axiom. O Rodolpho detalhou a última Pycon. Não tinha interesse em ir por causa do custo e por achar que seria uma conferência normal mas depois da palestra minha opinião sobre a Pycon mudou. Mas o custo…
Eu tenho que comentar sobre o Python 3K. O Guido deixou claro que a mudança não vai ser automática, a versão 2.6 vai emitir warnings e podemos contar com a ferramenta 2to3 para ajudar nas conversões. Como as dependências de módulos de terceiros podem representar um showstopper, pythonistas devem ficar atentos aos imports antes de apontar para o Python 3K.
E o que nós podemos fazer agora? Se você suporta algum módulo, fique atento às mudanças da linguagem na versão 3K. Gerar um branch e aderir as mudanças são os primeiros passos. Os scripts também devem seguir os mesmos passos prestando atenção para os módulos externos que você importa.
Finalmente, o que é mais divertido: ficar atualizado com as mudanças da linguagem e evitar usos de sintaxe ou módulos que ficarão depreciados. Coisas do tipo classic style classes e outras características (que não me lembro agora) devem ser evitadas e as novidades devem ser usadas e compartilhadas com a comunidade.
O link abaixo é um post do blog do Bruce Eckel sobre Django. De quebra tem um link para uma tira sobre Python.
Have fun!
http://www.artima.com/weblogs/viewpost.jsp?thread=227496
Ultimamente eu tenho testado o Subversion e o Bazaar para uso pessoal de controle de versão. Uma característica que eu uso é a capacidade de fazer o “ignore” de determinados arquivos. Ambos os softwares possuem esta característica mas não achei um modo fácil de declarar globalmente uma extensão a ser ignorada no Subversion. No bzr seria:
bzr ignore “*.pyc”
Para ignorar arquivos Python compilados. E a vantagem é que ele ignora recursivamente. Pela documentação do Subversion, você deve declarar as extensões em cada diretório.
Saiu uma nova versão do Open Komodo, a 4.3.0. Infelizmente não tem como ler o post sobre este release no link http://www.openkomodo.com/blogs/jeffg/komodo-4-3-released
pois o site está offline.
Hoje de manhã habilitei um plugin chamado KTextEditor Word Completion. Ele abre um dropdown com as ocorrências das palavras do buffer do editor conforme as letras que você digita. Simples e eficiente. Só falta achar um plugin de python refactoring… ![]()
Saiu o Python 2.5.2. Essa é uma versão de bugfix.
Hoje nós participamos do PythonBugDay, no SENAI de Santos. A galera de Santos providenciou o local através do SENAI e a experiência foi ótima. Uma vez mais discutimos sobre linguagens, Python hacks, Design Patterns,etc.
Tentei resolver um bug de cabeçalho http mas a revisão é gigante. O objetivo do BugDay é apresentar o processo de bugfix do Python.
Fui numa reunião do Grupy-SP no Senac. Lá, o Luciano Ramalho apresentou o Zope Interface, a galera do Invesalius deu uma palestra muito legal e teve uma apresentação do Gambiarra, jogo do estilo do Incredible Machines, escrito em PyGame. Fico muito feliz de saber que o Python age em várias frentes.
A primeira reunião de 2008 foi na Livraria Cultura e tinha mais de 40 pessoas. Vimos um Coding Dojo, livros sobre Python, Elixir e uma palestra sobre as vantagens de usar Python para iniciantes. Próxima parada? Santos!