Category Archives: Programming Philosophy

In Defence of Simplicity

Recently, Joel Spolsky wrote about Don Norman’s article Simplicity Is Highly Overrated. Joel used this as a springboard to another talk of how simplicity doesn’t matter in Joel on Software: Simplicity. He referenced and expanded on his views from Strategy Letter IV: Bloatware and the 80/20 Myth. As I’ve said before, I often find Joel’s… Read More »

Notation vs. Paradigm

Recently, I’ve been taken with the idea of programming languages as notation. When most people look at a programming language, they see syntax and possibly an underlying paradigm. I see the same, I just find the idea that each language also provides a unique notation for expressing ideas quite appealing. Lately, I’ve been thinking about… Read More »

Resource Management Revisited

A couple of years ago, I wrote a set of three essays on Resource Management: The Semantics of Garbage Collection, More Thoughts on Resource Recovery, and Other Resource Recovery Approaches. In summary, my argument in these articles was that the standard mark-and-sweep garbage collection falls down for two major reasons, it doesn’t deal with any… Read More »

Programming and Writing

Over the years, I have come to the amusing realization that many people feel like they could program if they just tried. You know the type. He (or she) has used computers for a while. He picked up Computer Programming for Total Morons or Object Oriented Programming in C++ and Java in an Hour and… Read More »

Kinds of Problems

Of all of the lessons I have learned doing software development, one of the most important was to recognize what kind of problem I’m trying to solve. This sounds pretty trivial, but I’m not talking about the categorization you are probably thinking of. As software professionals, we tend to look at all problems as solvable.… Read More »