Archive for the 'programming' Category

Tools of The Effective Developer: Fail Fast!

It’s a well known fact that we regularly introduce errors with the code we write. Chances are slim to get it right on the first try. If we do, the risk is great that changing requirements and murdering deadlines will mess things up later on.
It’s also well known that the cost of failure increases with [...]

Tools of The Effective Developer: Programming By Intention

This is the third post in my Tools of The Effective Developer series. The other two discussed the habit of keeping personal logs, and the habit of daily planning. Now the time has come to the habit of programming by intention.
Please note that I’m not speaking of intentional programming, which by the way introduces some [...]

Constant Learning

One of my favorite quotes comes from Ron Jeffries on his blog Hot Needle of Inquiry:
“the river is moving, and if we don’t keep rowing, we are going to drift back downstream”
The quote reminds me of the importance of self-improvement. If we stop learning we are nothing but dead material in the stream of life. [...]

Quit Debugging!

I have a confession to make: I used to be addicted to debugging. Yes, it’s true. When I got hooked - damn you Delphi - I wasn’t able to see the dark side, the demonic side of the debugger. It lured me into thinking only quick fixes, and I lost track of the big picture. [...]

Donkey Patching anyone?

According to this slide show, the team behind D is thinking of incorporating an interesting addition to the language: The interchangability of a.foo(b) and foo(a, b).
This makes some interesting uses available. For instance, one could do something that looks a bit like monkey patching, adding functionality to library classes.
real round_to(real n, uint d) {
[...]

Should D have real closures?

It has been a vivid debate following my D doesn’t have real closures post. For most parts it has been a constructive discussion, but what I wanted to see was real examples that would convince me that real closures (those that carry the environment with them) were actually useful for a language that provides other [...]

D doesn’t have real closures

Note: This article was written before D got full closure support.
Delegates are something that gives me mixed feelings. While I used to embrace them in Delphi and Object Pascal, I now find them difficult to get used to in C#. I guess that is because they introduce a little of the functional programming paradigm into [...]

Programmer or Developer?

A comment on a recent post of mine made me think more about the distinction between a Software Programmer and a Software Developer. To me there is a subtle, but important difference. Let me give you my definition:
A Software Programmer is someone who really knows the environment he is programming. He knows everything there is [...]

Great use of annotations

C# entered the field of battle some seven years ago as a better version of Java. The one feature that many people referred to when claiming C# superior, was custom attributes. Now Java has them too, but they go under the name of annotations.
The ability to attach meta data to various parts of your program [...]

Rest In Peace Delphi

It’s not without sadness I see that what used to be my favorite language has taken a big dive in popularity recent years. Now Borland Delphi is only the 14th most popular programming language according to TIOBE Programming Community Index as per august 2007. That is five ranks lower than one year ago, and far [...]