This is a collection of Software Development “aphorisms”. There are few arguments and many assertions, as I think these truths are self-evident, even if they require some thought. Sometimes they exaggerate, sometimes they contradict; but they are all still true. Yes, I’m aware of how the previous sentence sounded, yet I still maintain it. Later I may try to develop some into full arguments or blogs.
Language quality may be the least important factor in development.
Even when language quality matters, what defines quality?
All languages are inadequate; the better ones are less so. This includes English and math.
A language’s level is inversely proportional to the detail you must provide.
Make a to-do list for someone who speaks English but is from another planet. By the time you are on line 1,000 of explaining how to wash a dish, you will realize programming complexity is not due to language or technical issues.
Most of our work should be done away from the language, and bad languages make us avoid them as much as possible. Therefore, the best languages are bad ones.
Many X vs Y comparisons compare X’s assets today to Y’s liabilities yesterday.
To compare languages, compare source over a wide variety of tasks. See: http://rosettacode.org/wiki/Rosetta_Code
Beware language comparisons, they may be deceptive. See: http://augustss.blogspot.com/2007/08/quicksort-in-haskell-quicksort-is.html
Functional programming is a deduction from 1 axiom: Program with constants only.
Proponents claim functional programming lets you say what you want instead of how to do it. But this only works if the system already knows how to do it, in which case programming is unnecessary.
Concatenative programming is functional, imperative, both and neither. The secret is the implicit, ubiquitous, global stack.
Notation may all but solve a problem and some claim most math developments were due to notation. Kids regularly solve problems that stymied mathematicians of years past due to better notation. What power could we have with even better notations? To see how notation can aid thought: http://www.cut-the-knot.org/language/index.shtml.