S-Expressions are an interesting notation for representing expressions. Taking the form of nested lists prefixed with an operator, they are most recognizable as the syntax of the various Lisp programming languages. Their somewhat alien appearance, and

Like many other software engineers out there, I love XKCD so whenever Randall publishes a comic with something computationally interesting I like to take a stab at it. Friday's comic

Anyone who has ever had the pleasure of working with 'C style' strings aka NULL terminated character arrays. Has at some point stopped and remarked about the terrible choice of implementation when it came to representing string

UPDATE: As of 2024 I recommend using the algorithms outlined in this post instead.

Many newer object oriented languages such as Java and Swift have a dedicated interface type for defining the methods of a superclass. C++ does not. What C++ does provide is purely virtual classes, which function in ess