[Cascavel-pm] Programar ou reaproveitar (was: Listando sub-diretorios ...)

Eden Cardim edencardim em gmail.com
Terça Março 13 14:38:13 PDT 2007


On 3/13/07, Fernando Oliveira <fernandocorrea em gmail.com> wrote:
> Desculpe, mas p/ q modulo qdo o problema se resolve 1 linha?!

Rapaz, eu pensava exatamente como você. Um dia, comecei com 1 linha
dessas, aí, de linha em linha, o bicho inchou pra 500 linhas. A esta
altura, eu preferia encarar 3 leões selvagens com um canivete do que
mecher no programa. Concordo que é bem prático poder escrever
compactamente com o perl mas só para fazer coisas rapidamente e depois
jogar fora. Em quase todos os outros casos, a qualidade e
manutenibilidade que seu programa vai ganhar por reaproveitar um
módulo que foi desenvolvido por um progamador experiente e que já foi
vastamente testado supera qualquer benefício que a sintaxe compacta do
perl poderá te trazer.

> Fora q respostas grandes, não são normais em perl. Sim, eu poderia responder
> em 10 linhas, eu eu faria praticamente em C. Eu tb programo em C, mas
> se eu quisesse fazer em 10 linhas eu faria em C, e não em perl.
> Eu programo em perl pq me facilita, me faz escrever menos.

Cuidado, as vezes escrever pouco significa escrever muito mais, no
futuro. Suponha que invés de listar o conteúdo de um diretório você
tenha que fazer uma travessia recursiva, não vai dar pra aproveitar
nada do que você escreveu antes, assim você vai acabar escrevendo
mais, a longo prazo. Isso é um caso típico de "false laziness".

> E quanto a módulos, resolvendo problemas simples como esse
> usando módulos, não estaremos ajudando em perl, embora modulos
> facilitem muito, mas esqueceremos o perl e o usaremos apenas como
> sintax, e o cpan como linguagem (a única frase famosa sobre perl q eu
> discordo).

Sinto ter que discordar de você, quase tudo que sei sobre perl aprendi
usando módulos, lendo o código fonte, afinal de contas ele está lá
para ser lido, não é mesmo? 'perldoc -m' é seu amigo.

-- 
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática
--
"you seem to think that 'close enough' is close enough...
please learn to be 'literal' around programming."
merlyn - on irc.freenode.net#perl


Mais detalhes sobre a lista de discussão Cascavel-pm