Tag: Joy of Programming
Joy of Programming!
Design smells are poor solutions to recurring implementation and design problems. This article gives readers an overview on what design smells are, why we...
Joy of Programming: A Bug or a Feature?
A puzzling aspect of bugs is that they often turn out to be features (and vice versa)! Let's explore this interesting topic with an...
Joy of Programming: Why is a Software Glitch Called a ‘Bug’?
In this column, we've always covered unusual and interesting technical topics. This month, we discuss the word "bug", and the history behind its use...
Joy of Programming: Liskov’s Substitution Principle
LSP is a cardinal rule to follow in object-oriented designs. In this column, we'll introduce LSP to those new to OOP (Object Oriented Programming),...
Joy of Programming: Understanding Bit-fields in C
One important feature that distinguishes C as a systems programming language is its support for bit-fields. Let us explore this feature in this column.
In...
Joy of Programming: Fail Fast!
When a problem occurs in the software, it should fail immediately, in an easily noticeable way. This "fail fast" behaviour is desirable, and we'll...
Joy of Programming: The Legacy of C
Dennis Ritchie died on the 8th of October 2011, at the age of 70. His lasting contributions to computing include creating the C language,...
Joy of Programming: Scope, Lifetime and Visibility in C
Often, programmers confuse the scope, lifetime and visibility of variables. So I'll cover these three important concepts in this month's column.
Whenever you declare a...
Joy of Programming: The Technology Behind Static Analysis Tools
There are a wide range of static analysers available today -- both commercial as well as open source. Have you ever wondered how static...
Joy of Programming: Calling Virtual Functions from Constructors
Calling virtual functions from constructors is problematic, and this problem can manifest itself in many ways. In this column, we'll take a look at...