The Life of a Programmer

What is a closure?

Closures have been around a long time yet have experienced a resurgence in the last decade. They were first implemented in the functional language Scheme

A trail through custom languages

How often does one need to write a custom language? Many projects often shun them, but I think domain specific languages are important. They offer

Pitfalls of Performance Testing

Beware the casual performance test, it will lie to you. It is simple to write something that gives you timings, but it is difficult to

Dangerous and confusing casting

Casting in C++ is a confusing jumble of unclear and dangerous operations. It mixes unrelated concepts. It introduces ambiguities and redundancies. It’s an essential but

Implicit Type Promotion and Conversion

C introduced it and C++ mastered it. The hellish world of implicit conversion and type promotion. A system which silently modifies, truncates, rounds, and otherwise

The Ideal Language has “goto”

“goto”: the demonized programming construct. This little expression allows you to jump to somewhere else in the code while skipping the expressions in between. Opponents