The Life of a Programmer

Archives

All of the things labelled as Posts, so that crawlers have a place to find them.

1/2 Should Not Equal Zero

There’s something wrong when a language allows 1/2 to equal 0. It’s easy to understand why this happens, and perhaps it’s even easy to forgive

Leaf: Simple type conversions

One of the problems with C++ is the way it handles type conversion. It inherits a lot of implicit conversion from C and then adds

Leaf: Preserving “lvalue” status

I’ve been reworking how I handle basic type conversion in Leaf. This is a mechanism which allows implicit conversion of simple types. As part of

What is a System Language?

Not all languages are made with the same purpose in mind. When it comes to designing a new language like Leaf, it’s important to choose

Divorcing a value from its name

Understanding “values” is perhaps the most critical part of understanding programming. We are inundated with a variety of terms like “by value”, “by reference”, “member

How to handle an error

Error handling should be simple. It can become mired in complexity, but I don’t believe it has to be that way. If we stay focused

Of Faults and Errors: Who’s to blame?

Is there a difference between a “fault” and an “error” within a computer program? A number of people commented on my previous article suggesting this

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

The syntax of a conditional

Conditionals are a key construct in programming: from the simple if statement, to loops and switches, and even to dynamic mapping. The essence of program

Complexity of simple data types

Sometimes the simplest of things have complex answers. In programming we like to think of simple data types, but in reality there aren’t any. While

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

Can a language be safe?

Some languages hand us sharp knives and encourage us to play with them. Other languages put us in padded rooms and discourage us from doing

Please join me on Discord to discuss, or ping me on Mastadon.

Archives

A Harmony of People. Code That Runs the World. And the Individual Behind the Keyboard.

Mailing List

Signup to my mailing list to get notified of each article I publish.

Recent Posts