December 2007
4 posts
1 tag
The Greatest Contribution to Programming Languages
Thinking about tools, it occurred to me that the greatest contribution to programming languages is not any single language. No, not Lisp, C, ML, Haskell, Qi, or any of the more obscure yet equally great languages.
The greatest contribution someone could make to the programming language and compiler community is not to make a great programming language, but to make the tools necessary for...
Design — A Life Philosophy
Every problem is a design problem full of design choices. Even the choice to take a hands-off approach is a design choice. Every decision you make in your life — what to eat for lunch, what to do as a profession, who to hang out with on Saturday night — is a design decision. Each and every one of us does our best to design our life. Why would you ever choose something unless you were convinced...
1 tag
On Practicality and Tool-Making
A comment on my last post on design and programming languages spawned the following.
Q: Are you implementing some of your ideas?
A: It’s always in the back of my mind to design and implement my dream programming language. This blog is in part my outlet for ideas that come streaming into my mind about programming languages. In fact, it’s my only outlet. The more specialized you...
2 tags
1, 2, n
It’s the 1, 2, n rule in software development.
You do something once. You do something twice. And the next time you do it, you generalize it for all times henceforth.
Waiting longer to generalize is painful at best. In the worst case, it leads to maintenance nightmares as when the same thing is done 14 times in 14 different places, each time slightly different than the rest.
...