December 20, 2011

Programming considered harmful

  • gotos make it possible to write bad programs
  • threads make it possible to write bad programs
  • global variables make it possible to write bad programs
  • anonymous functions make it possible to write bad programs
  • macros make it possible to write bad programs
  • mutable variables make it possible to write bad programs
  • continuations make it possible to write bad programs
  • dynamic scoping makes it possible to write bad programs
  • objects make it possible to write bad programs
  • recursion makes it possible to write bad programs
  • ...

Take this argument far enough, and you are left with the S-K combinators, and now it is impossible to write good programs.

Having few features in a programming language is a fault, not a virtue. The bigger fault lies in failing to provide the language with the facilities to be extended with new features.

No amount of language design can force a programmer to write clear programs.

--Guy Steele & Gerald Sussman

1 comment:

  1. I totally agree. I'm getting so tired of seeing posts named "whatever programming feature" considered harmful.

    ReplyDelete

Hi there! Thanks for taking the time to comment on my blog. To avoid spam, all messages are personally reviewed by me prior to being posted - don't worry if your message does not show up right away.

Note: Only a member of this blog may post a comment.