Home Tags Joy of Programming

Tag: Joy of Programming

Joy of Programming!

0
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?

3
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’?

5
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

8
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

2
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!

0
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

2
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

5
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

1
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

1
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...