It’s a complaint that’s heard more and more often: why can’t I hire great programmers? Actually the answer is probably not what you think. Continue reading
Programmers, like builders, are famous for holding each others’ work in contempt. A new programmer arriving on an old job is likely to say, just like a builder: “What cowboy did this, then?” and “It’s all going to have to come out, you know!”, and most ominous of all, a non-verbal suck of the teeth and shake of the head. Continue reading
I have been programming for almost as long as I can remember. To give you an idea of how long that is: I learned to program on a brand-spanking new ICL 1901, (and an ancient Ferranti). Quite a lot has changed in this business since then! Continue reading
The two pillars of modern software design are objects and exceptions. Objects allow us to partition very large systems into smaller, comprehensible chunks, and exceptions keep them running smoothly, by protecting them against malfunctions.
Funny thing is: though modern software is huge in comparison to the old-fashioned variety, it doesn’t seem any more reliable. Even though everybody knows that exceptions make programs better, I’ve never yet seen any real evidence that shows any reason even to suspect that it’s true. In point of fact, I don’t believe it, and I rather suspect that in most cases, exceptions make matters worse. Continue reading
One of the reasons why C++ is still the professionals’ language is because of its flexibility. You can use STL collections, and they’ll work as automatically and as safely as anything in Java or C#. Or you can use naked pointers into unprotected memory, and it will be as fast as old-style C, but just as dangerous. But, between these two extremes, there’s a need for something as fast and efficient as real memory, but safe – as safe as Pascal. And that’s a different animal from either.