14 Nov 2005
- There is more than one way to do it, Larry Wall.
- Most, if not all, of them are wrong.
- If a program manipulates a large amount of data, it does so in a small number of ways, Alan J. Perlis.
- The small number of ways are never immediately obvious.
- They almost never have anything to do with the purported purpose of the program.
15 Mar 2007
I have no corollary for this one, but I like it. Robbert Haarman, on the ll-discuss mailing list, wrote:
For example, functional programming can lead to very elegant and concise programs, consisting of many small functions - but not in Java. The fact that Java has no first-class functions, all methods must be associated with classes, and syntactic salt is required around both class definitions and method definitions makes functional programs a lot less elegant in Java than they could be.
1 Jun 2007
Scott Myers, Effective C++, Third Edition:
The easiest way is to view C++ not as a single language but as a federation of related languages. Within a particular sublanguage, the rules tend to be simple, straightforward, and easy to remember. When you move from one sublanguage to another, however, the rules may change. To make sense of C++, you have to recognize its primary sublanguages. Fortunately, there are only four:
- Object-Oriented C++.
- Template C++.
- The STL.
"How do I know what sublanguage I am using? How do I know when I am moving from one to another?"
Yes? Potato? You, fill the bathtub with brightly painted power tools while I paint the weasel with yogurt?
23 Jun 2007
Randall Munroe, xkcd: