Herberth Amaral

Software development adventures

Python e computacao cientifica

with 3 comments

Há algum tempo eu venho notando algumas aplicações desenvolvidas em Python e desde então eu venho me perguntando: será mesmo possível utilizar Python, de forma eficiente, no meio científico? Bem, minha pesquisa me leva a crer que sim, absolutamente.

O Guido Van Rossum, criador e atual mantenedor da linguagem, postou recentemente em seu blog sobre a Py4Science, um workshop que visou demonstrar como o Python está sendo útil na prática em pesquisas científicas.

Eu sabia que Python era perfeitamente aplicável à pesquisas científicas, seja pelo poder da linguagem ou pelas bibliotecas e frameworks que ela provê para facilitar o desenvolvimento de aplicações científicas, mais notavelmente o SciPyNumPy e o MatPlotLib. O me impressionou foi ver o nível dos projetos envolvidos:

  • O time do Telescópio Hubble utiliza Python há mais de 10 anos
  • O pessoal da Universidade de Washington está trabalhando no SAGE, um software com o objetivo de servir de alternativa viável ao Matlab, Mathematica, Maple e Magma.
  • Nipype, software para criação de interfaces de softwares de neuroimagem.
  • SymPy, biblioteca para matemática simbólica, escrita em Python puro.
  • Um projeto de $1 bilhão do governo indiano para melhorar a educação na Índia. Inclui o Departamento de Engenharia Aeroespacial em IIT Bombay na educação de Ciência e Engenharia. Mais em http://fossee.in/
  • Biopython, conjunto de ferramentas para computação biológica.
  • Vários outros.

Recentemente, eu vi uma discussão no Google Groups em que o autor pergunta por que o SciPy é melhor que o Matlab. Tá certo que uma pergunta dessas é bem tendenciosa (um amigo disse que aconteceria o mesmo na lista do Matlab), mas eu li toda a discussão e vi coisas bastante interessante, principalmente quando dizem sobre o f2py. Para quem tem código legado em Fortran, quer mudar e tá com qualquer dificuldade, essa é uma ótima oportunidade.

Algo que eu não posso deixar de falar é da Python in Science Conference (SciPy Conference), uma super conferência anual sobre SciPy e Python em computação científica que acontece no Caltech, Califórnia. Ainda não vi nenhum trabalho brasileiro lá. Já é hora, hein?

Eu sou longe de ser um cientista de renome para falar como o Python tem me ajudado em minhas pesquisas científicas. Mas, como acadêmico, eu posso dizer que serve perfeitamente para meus trabalhos universitários e eu percebo que a vida para outros acadêmicos poderia ser mais simples se eles utilizassem Python. Somente o fato de não precisar lidar com ponteiros ou gerenciamentos de baixo nível atrai algumas pessoas. Outra coisa importante: Python é livre e gratuito. Você não precisa piratear ou comprar uma cópia cara como algumas pessoas fazem com o Matlab e outros softwares ;)

Links úteis:

==EDIT==

Por algum motivo ainda desconhecido, o título não está aparecendo com os devidos acentos. Irei alterar quando eu souber o que está acontecendo.

Sem posts relacionados.

Written by Herberth Amaral

November 29th, 2009 at 10:28 pm

Posted in Python

Tagged with ,

3 Responses to 'Python e computacao cientifica'

Subscribe to comments with RSS or TrackBack to 'Python e computacao cientifica'.

  1. Realmente massa o que você tem para falar Herberth. Eu particularmente sou fã do poderio do Mathematica mas vou dar uma bela conferida nisso ai depois^^. Vai sim ter um trabalho brasileiro…logo logo ^^.

    Garou

    29 Nov 09 at 23:46

  2. Os recursos sugeridos no post são muito interessantes. A academia de modo geral sempre flertou bastante como o Open Source, mas a computação científica por assim dizer sempre foi dominada por pacotes proprietários de software.

    O Python ainda tem um longo caminho para ganhar maior adesão na academia principalmente nas atividades relacionadas a engenharia onde o MatLab tem um domínio grande. É importante lembrar que no caso da biotecnologia o Python e o Perl são as linguagens de maior utilização na analise de sequências de DNA.

    Seguindo esta tendência de penetração do Open Source na comunidade acadêmica não podemos nos esquecer do crescimento vigoroso que a linguagem R, muito utilizada em estatística, vem apresentando.

    Estas transformações no uso de ferramentas dentro da academia levam tempo. Acredito que é importante que os membros da academia e da comunidade open source estejam dispostos a não apenas a utilizar estas ferramentas mas também a repassar este conhecimento para os seus colegas.

    Edmar Ferreira

    1 Dec 09 at 01:26

  3. A idéia da academia seguir a filosofia do Open Source não é tão real assim. Muitos até tentam, mas a cultura de usar software proprietário e pirata impera em várias faculdades e Universidades que eu conheço. O mais complicado é que as vezes os próprios professores incentivam (ou pelo menos não inibem) os seus alunos à utilizar software pirateado.

    Pelo que eu pude pesquisar, a cultura do Python no meio acadêmico ainda é fraco no Brasil se comparado com países Norte-Americanos e Europeus.

    O interessante é que o Python possui interfaces para várias plataformas, como o Matlab e o R citado pelo @Edmar. Além de possuir interfaces para várias plataformas, o Python é suportado por duas das maiores plataformas de software atuais: o .NET e o Java, ou seja, além de todo poder do Python, é possível utilizar o poder das APIs das respectivas plataformas dentro do Python.

    Herberth Amaral

    1 Dec 09 at 21:05

Leave a Reply