Realidades Paralelas

Thursday, May 26, 2005

Comparação

Há algum tempo terminei de reescrever o programa de teste dos algoritmos de contagem de referências (como mencionado em outro post); a versão anterior era escrita em C, a atual foi escrita em OCaml.

Claro que eu já vinha percebendo que a nova versão era mais compacta que a anterior, mas só para ter uma idéia eu comparei o número de linhas de código apenas na parte do interpretador (responsável por reduzir os grafos e obter os resultados dos programas). O Resultado:
  • Versão anterior (C): 1600 linhas de código
  • Versão atual (OCaml): 200 linhas de código
E não é manipulação: essas 200 linhas de OCaml fazem exatamente o mesmo, nada menos, que as 1600 linhas de C. Além do poder de expressão da linguagem, a tarefa também é bem adequada à linguagem: a família ML se dá muito bem para a escrita de compiladores e interpretadores de linguagens de programação. E uma coisa que ajudou muito a reduzir o tamanho foi utilizar funções de ordem superior. Functional programming rules.

Depois eu pretendo levantar o tamanho completo das duas versões e postarei aqui.

0 Comments:

Post a Comment

<< Home