.

Traduzir

quinta-feira, 17 de fevereiro de 2011

Programação para cientistas, novos paradgimas

Existe um índice internacional que mede o ganho de espaço de linguagens de
programação, ou seja, o quanto essas linguagens são usadas
internacionalmente. Esse índice serve como referência para programadores
ao desenvolver uma plataforma, podendo ter noção do quão bem aceito, ou
não, o software será, dependendo da linguagem em que foi escrito.

Esse índice é corrigido mês a mês. É interessante notar que as linguagens
como java, c e c++ são as primeiras da lista, mas tem um gráfico que
mostra que essas linguagem tem perdido pontuação desde de 2002 e que as
linguagens dinâmicas e fortemente tipadas estão em crescimento, um exemplo
disso é PYTHON, que esse mês ocupa a quarta posição.

Outro dado interessante é que o FORTRAN ocupa a 23ª posição e o MATLAB a 29ª.

Quem quiser saber mais veja:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html



Vivemos um momento de mudanças de paradigma na área de computação.
Chegamos em um ponto em que o custo de mão de obra humana qualifica é
muito, mas muito maior que o de hardware.

O profissional é valorizado por adotar métodos ágeis, mantendo a
criatividade. E isso é válido para todas as áreas. Nós como cientistas em
potencial devemos ter isso em mente ao desenvolver nossos trabalhos.


Criatividade, agilidade, espirito de liderança, humildade para reconhecer
os méritos dos outros e força de caráter para enfrentar as adversidades,
essas são características fundamentais devemos agregar a nossas
personalidades para obter sucesso em nossa carreira.

terça-feira, 15 de fevereiro de 2011

Quando a cobra bota ovo, criando e executando arquivos .egg,

Já imaginou qual seria o equivalente em python ao .jar do java?
Em python temos o arquivo .egg, que em essência é um arquivo compactado (.zip) onde estão contidos os módulos python.

O primeiro passo será criar um pacote com a seguinte estrutura.
/Trabalho/
                /MyPack/
                               /oi/
                                   __init__.py
                                   __main__.py
                /MyModules/
                                    __init__.py
                                    uai.py

O que será feito aqui é o seguinte. O arquivo __main__.py será o nosso programa principal. Ele irá usar o modulo MyModules para realizar alguma tarefa.

Comecemos pelo pacote MyModules.
O arquivo __init__.py terá a seguinte informação:

__all__=['uai'] #Lista contendo os módulos em MyModules.

Já o arquivo uai.py terá:

#!/usr/bin/env  python

def Ola(nome):
     print'Muito prazer %s, bem vindo ao ovo' %str(nome)

Já o arquivo __main__.py terá o seguinte:

#!/usr/bin/env python
from  MyModules impotr uai

nome=raw_input("Ola, qual o seu nome?")

uai.Ola(nome)

O arquivo __init__.py do que está no primeiro nível de MyPack será:

#!/usr/bin/env python
__all__=['__main__','MyModules']

Agora em uma pasta assima de MyPack iremos criar um arquivo  chamado setup.py com a seguinte informação:


#!/usr/bin/env python
from setuptools import setup

setup(name='oi',
      version='1.0',
      packages=['MyPack','MyModules'],
)

Agora via terminal, dentro dessa pasta executamos o seguinte comando:

$ python setup.py bdist_egg

Pronto, aparecerá uma pasta chamada dist que irá conter o arquivo .egg

Para executar o arquivo .egg diretamente faremos o seguinte comando:

PYTHONPATH=oi.egg python -c "from MyPack import __main__;"


E ai está. A linha de comando anterior poderá estar em um arquivo . sh, por exemplo o arquivo RodaOvo.sh:

#!/bin/bash
PYTHONPATH=oi.egg python -c "from MyPack import __main__;"

Dá-se a permissão de execução

$chomod +x RodaOvo.sh

Assim bastará digitar

$./RodaOvo.sh

Que o programa dentro do .egg será executado.

Se você criar um pacote .egg para distribuir,  a instalação se da pelo comando:

$ easy_install meuarquivo.egg


Os arquivos usado nesse exemplo podem ser baixados aqui