
Declarative programming is a paradigm that expresses the desired result, not how to achieve it. It uses rules and constraints to describe a user interface, the layout of a network, the structure […]
Discussions about problems in programming in general. These may be motivated by concrete languages, or be abstract in nature.
Declarative programming is a paradigm that expresses the desired result, not how to achieve it. It uses rules and constraints to describe a user interface, the layout of a network, the structure […]
Communicating between components with events is one of the fundamental programming paradigms. One module publishes an event, and other modules respond via listeners. It’s an asynchronous model that provides an excellent separation […]
Three key concepts comprise the essence of functional programming: first-class functions, pure functions, and immutable data. Together they express a fundamental architectural paradigm on how units of code interact with each other. […]
Imperative programming is a paradigm that explicitly tells the computer what to do and how to do it. Unlike most other approaches it is a relatively concrete view on data and execution […]
The flexibility and usefulness of an API relate directly to its orthogonality. But what does “orthogonal” mean? It’s a term that’s tossed around a lot in programming, with varying degrees of clarity. […]
“Exceptions are bad because they introduce non-local flow into a program.” It’s an argument I’ve seen often and it even came up in the comments in my previous article. It’s nonsense though. […]
Am I, as a programmer, in danger of being obsoleted by a program of my own creation? A recent BBC article gives programmers an 8% chance of being automated, whereas an NPR […]
The platform as a service model adds new importance to the performance of our software. Despite ever decreasing hardware costs, metered services make every bit count. My previous article on performance touched […]
Sometimes I just like to sit back and code something. Free from deadlines. Free from requirements. Free from issue systems and planning teams. It’s so liberating to free ourselves from the shackles […]
Nobody cares about your code. It was quite a shocking moment when I learned this in my programming career. I would take great care in polishing my code only to find out […]
The code works, but it smells funny. A simple if statement makes the bug go away, but we know somehow we’re just masking a bigger problem. Should we take the time to […]
Complexity is sometimes portrayed as a corner stone to the theory of computation. What good would algorithm analysis be if we had no way to communicate our results? Theory has a role […]
In the middle of a major change to the Leaf type system I encountered the refactoring demon. It reared it’s ugly little head chanting, “you’re doing it wrong, all wrong!” It was […]
My fancy new website is broken due to a script blocking extension. I found this out when I showed a friend the Radial Blitz website. He complained that something was lacking. He […]