[SP-pm] Otávio: NÃO USE PERL NEM OPEN-SOURCE! [Was: Boas Vindas ao Otávio Fernandes]
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quarta Abril 18 06:02:52 PDT 2007
On Apr 18, 2007, at 2:43 PM, Otávio Fernandes wrote:
>> Você sabe usar o seu pre-processador C? Ou você tem medo dele?
>
> não tenho medo não, mas não entedi onde vc quer chegar ...
C é uma linguagem verborrágica, e a gente se repete muito.
Mas a maior parte dos controles e verificações podem ser
executados por macros.
Se você tem uma boa biblioteca de macros, desenvolvida ao longo do
tempo de acordo com a suas necessidades, não vai ter coragem de jogá-
la fora, e vai achar que qualquer outra linguagem é mais produtiva
que o seu C sem regras e sem macros.
Exemplo: o Itaú usa uma pseudo-linguagem para gerar muitas
aplicações internas em C. Os programadores mal tem a noção que
programam C, já que a maior parte do tempo basta usar as macros para
expandir C o bastante para realizar o que eles precisam.
Minha cunhada trabalha nisso, e é impressionante escutar ela falar
sobre a produtividade. E olha que o ANSI C dela não é nenhuma
maravilha... é aquele arroz-com-feijão da faculdade.
Como você reclama de produtividade com C, eu deduzo que você nunca
usou o seu pre-processador para nada muito grande, nem para nada
conscientemente maligno...
Claro, é preciso que um programador mais experiente com a
linguagem te guie no início, não é algo para sair fazendo do nada. É
preciso saber que tipo de testes você vai ter, por exemplo, e
estabelecer normas para cada pequeno "jargão" que você vai
transformar em macros.
Aqui, um programa C:
#include "company_macros.h"
#include "database_macros.h"
#include "io_magic.h"
#include "user_interface_magic.h"
#include "report_generation_macros.h"
STRING filename = ASK_USER;
FILE_HANDLE handle = OPEN filename;
DB_HANDLE db = CONNECT_TO_DATABASE('accountance');
ACC_DATA week_data = GET_ACC_WEEK_DATA( db );
REPORT report = GENERATE_ACCOUNTANCE_WEEK_REPORT( week_data );
CLOSE_FILE( handle );
CLOSE_DB( db );
CLAIM_MEMORY( week_data );
PDF_OUTPUT_REPORT( report );
CLAIM_MEMORY( report );
CLEANUP;
Espero que agora você perca o medo do seu pre-processador. Ele
morde, mas é seu amigo... ;-)
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão SaoPaulo-pm