[SP-pm] SaoPaulo-pm Digest, Vol 71, Issue 49

Pinguim Azul bluepenguin at gmail.com
Fri Aug 20 06:47:10 PDT 2010


On Fri, Aug 20, 2010 at 10:03 AM,  <thiagoglauco at ticursos.net> wrote:
>  Embora eu discorde da opinião do autor que Perl tenha uma sintaxe estranha,
> que é o que estou tentando provar aqui... é muito mais fácil e rápido
> programar em Perl por que a estrutura do Perl é mais próxima da estrutura de
> um idioma real. Possui prefixos que indicam os tipos de token (@ $ %). Outra
> coisa são os castings de tipo... a real pain in the nuts para iniciantes em
> programação... Para iniciantes é muito mais simples usar uma linguagem que
> faça isso automaticamente. Isto também aproxima mais a linguagem do nível
> humano. Do contrário desenvolvimento em Perl não seria tão mais rápido que
> em C ou Java!!!

Sabia que, por esses argumentos, você está dizendo que MSX-BASIC é
mais legível que C? MSX-BASIC também usa símbolos pra indicar os tipos
de variáveis (A$=string, A%=inteiro, A#=float, etc).

Se o problema é legibilidade e aproximar o código da compreensão
humana, então acho tanto os exemplos do Kernigham quanto os que você
reescreveu bem ruinzinhos. Assim fica bem melhor:

float convert_to_fahrenheit(int celsius) {
  return 5.0*(celsius-32.0)/9.0;
}

void print_fahrenheit_table(int start, int end, int step) {
  int celsius;
  for (celsius = start; celsius <= end; celsius += step)
    printf("%3d %6.1f\n", celsius, convert_to_fahrenheit(celsius);
}

int main() {
  print_fahrenheit_table(0, 300, 20);
  return 0;
}

Agora sim fica fácil pra qualquer um entender o que esse código faz, e
você poderia fazer o mesmo em perl. O próximo passo é colocar uns unit
tests pra garantir que isso funciona mesmo. (Ou, em outras palavras,
legibilidade não depende da linguagem e sim do programador).

De curiosidade, quando eu estava em NY em 2007 eu passei na mesa do
Kernigham pra tirar uma foto com ele, mas ele já tinha ido embora.
Tudo que tinha na mesa era um pote de cup noodles que ele tinha comido
antes de sair. Aí eu fiquei na dúvida: PEGO ou NÃO PEGO um pote de
noodles comido pelo Kernigham pra trazer de souvenir?! Acabei não
pegando, mas vontade não faltou :)

-- 
Ricardo Bittencourt
http://www.ricbit.com


More information about the SaoPaulo-pm mailing list