I have to utterly disagree with EKR.

1) I make substantial effort to make sure my code is readable. If the
so-called programmers you know don't do that, well, so what? Every
class I had when getting my degree drummed structured coding, comments 
and readability in to me. Maybe some coders don't do that, but many
people can't write clear English either, and that doesn't make English 
not a language for humans to read.
2) Comments exist EXPLICITLY to communicate to humans.
3) free() is no less "for my benefit" than "char *foo". Sure, Java
doesn't have free(). Lisp doesn't have "char *foo". "So what?" -- in
different languages, there are different models of
computation. Keeping track of memory in an algorithm is just as
important as knowing what types are in certain models. Your example is 
completely specious.

Source code exists for people first, computers second. If this were
not the case, we'd all just write code in machine language. High level 
languages exist *explicitly* to make it easier for people to
comprehend computation tasks. Communicating algorithms, both to the
reader who is not the author, and later to the author of the code
himself, is why we use high level languages.

Maybe Mr. Rescorla doesn't believe it, but I do, and it is the
doctrine taught in every decent CS curriculum in the world.

Perry

Reply via email to