Tag: Joy of Programming
Joy of Programming: How Debugging Can Result in Bugs!
We typically debug code to find and fix bugs. However, debugging itself can cause bugs. This is an interesting phenomenon that we cover in...
Joy of Programming: Levels of Exception Safety
The concept of "exception safety" is important for programming in the presence of exceptions. In this article, we'll look at different levels of exception...
Joy of Programming: The ‘Broken Window’ Theory
It is common to see software projects fail. One important cause is 'design and code rot'. In this article, let's try understanding the causes,...
Joy of Programming: Abort, Retry, Fail?
Exception handling is tricky to get right. In this column, I present some guidelines for writing good exception handling code, by giving real-world (counter)...
Joy of Programming: Bug Hunt
Every programmer knows that debugging is akin to a detective's work. In this column, we'll cover this "bug hunt" process with an example of...
Joy of Programming: SNAFU — Situation Normal, All Fouled Up!
The stories of software development projects in crisis are amazingly familiar to all experienced programmers and managers. In this column, we'll look at some...
Joy of Programming: Language Transition Bugs
There are subtle differences between languages like C, C++, Java and C#. Programmers transitioning from one language to another should beware of such differences.
When...
Joy of Programming: Penny Wise and Pound Foolish!
We often try to use a smaller data type to save space. Though it looks like clever programming, it can cause nasty bugs. Let’s...
Joy of Programming: Logical Bugs and Intuitive Thinking
Logical bugs are very common in code and are often very difficult to find and fix. In this column, we'll look at an example...
Joy of Programming: Types of Bugs
In this column, we'll look at four types of bugs, named after popular scientists. The classification is interesting -- we'll understand how strange bugs...