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:

The Careful Programmer said...

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