Bash vs Perl vs Python

By | May 11, 2008

Comentei aqui que estava fazendo curso de Perl na semana passada, além de ter decidido estudar também Python por conta própria.

Não posso deixar de citar também que tenho uma experiência considerável com bash script e que esta era oficialmente a única “linguagem de programação” que conhecia até os eventos anteriormente citados.

Nem me arrisco a dizer que conheço bem Perl ou sequer um pouco de Python, então por favor entendam minha opinião apenas como isso: Minha opinião.

Cheguei a conclusão de que se você precisa interagir com o sistema operacional com freqüência – o que é o caso em 95% dos scripts que eu faço – Bash e Perl me parecem as melhores opções.

Exemplo pra deixar claro, um script que salve o nome do host numa variável e depois mostre essa variável:

BASH:

#!/bin/bash
echo $HOSTNAME

Pois é… o Bash já deve ter esta variável por default…

PERL:

#!/usr/bin/env perl
$hostname = `hostname`;
chomp($hostname);
print "$hostname\n";

Não muito ruim também, mas ODEIO ter que colocar newline no final. 😛

PYTHON:

#!/usr/bin/env python
import socket
host = socket.gethostname()
print host

Pô… precisa importar coisa..?

Os exemplos acima podem não ser os melhores e alguém mais safo nestas linguagens podem ter idéias melhores, mas acredito que deu pra ilustrar.

Em compensação scripts que fazem outras coisas me parecem bem mais simples em Python. Principalmente se preciso olhar o código de outra pessoa como exemplo.

Estes dias queria ver como se gerava RSS em Python e usei como referência um código feito por alguém do Debian. O código não tinha nem uma linha de comentário pra facilitar a vida, mas Python deixa a coisa tão limpa e clara que não tive a menor dificuldade de entender o que estava sendo feito e usar o código. 😉

Então a ordem do dia agora será: Perl o tempo todo no serviço. Primeiro para me forçar a usar Perl, senão eu acho mais simples em Bash e nunca vou colocar a mão na massa. E segundo porquê lá é basicamente um “Perl Shop” mesmo e os dois caras à minha direita e os dois à minha esquerda manjam um bocado de Perl. Então não vai ser difícil achar ajuda.

Mas em casa, no Just-for-Fun vou continuar brincando com Python.