Structure over Flexibility
At one time or another, someone thought that each of the following control structures was a good idea:
…
- Ability to have the program generate code on the fly and then execute the code it just wrote.
…
At one time, each of these ideas was regarded as acceptable or even desirable, even though now they all look hopelessly quaint, outdated, or dangerous. The field of software development has advanced largely through _restricting_ what programmers can do with their code. Consequently, I view unconventional control structures with strong skepticism. I suspect that the majority of constructs in this chapter will eventually find their way onto the programmer’s scrap heap along with computed _goto_ labels, variable routine entry points, _self-modifying code_, and other structures that _favored flexibility and convenience over structure and the ability to manage complexity. – Steve McConnell. Code Complete 2e
I guess Mr. McConnell isn’t too much of a fan of Lisp. Especially considering that everything he finds wrong with these strange control structures seem to be what Yegge and The Wizards seem to appreciate about the language, although I suppose that Lispers would argue that their language allows them to be far more expressive and semantic about what the crazy things they invent to solve their unique problems are than crummy goto statements…
- On February 25, 2010 @ 8:35 am
- In Commentary, Techvana
- Tagged code complete, lisp, mcconnell, mit, quotes, scheme, sicp, steve, wizard book, yegge
