About | ACP | Buy | Industry Watch | Learning Curve | News | Products | Search | Substack
Home » Learning Curve » Developers Workshop


Some might call it a secret.

Get It

Try It

There's a key to writing good software. Some might call it a secret, but it's not really a secret.

The idea comes via Brian Kernighan (who else) who was only assimilating what he'd observed in his colleagues (dmr, ken, et al) and in himself. Keeping things simple is part of it.

Part of this thinking comes via Doug McIlroy who also said 'keep it simple, build it in stages' and 'never add to an existing program, start a new one instead'. A bit like Ian Fleming's sentence building.

When things get too complex...

From the early days of postgrad Comp Sci. After half a year delving into the innards of the IBM mainframe, we started on our 40-program half-year project. We were to be divided into groups of five each, and write five programs per group. But yours truly was sick on the day this was to begin.

Crawling in on the afternoon of the second day, I found everyone - and my group, dubbed the 'Anarchists' - deep in study. The program's goals were clear and simple enough, yet no one had completed it, in over a day, despite five programmers working on it in each group.

I chatted with the other members of my group. (We were only four, as the instructor only found four anarchists in the class.)

'It doesn't work, it just doesn't work!' protested the one of them. 'We've written all the code, but it just doesn't work!'

I asked them a bit about the error code they were getting. I judged the general atmosphere surrounding them. There was a lot of that.

COBOL programs aren't simple things, even with the simplest of tasks. There are different 'divisions' that must be typed in. And so forth. All this represents a lot of manpower that's dutifully repeated for each task. It doesn't make sense.

'You should build this in stages', I told them. They stared back blankly.

'You should write - and save - a generic template that you run through the compiler. So you know that part of the program is flawless. You go back to that point if you ever run into trouble.'

'Well OK', said the one of them sarcastically. 'You write the template, we'll write the program!'

It was pointless reminding them that they had in fact been writing the program for over ten hours and come up with nothing. So I said goodbye to the 'Anarchists', never to return again, and went off to write the program myself.

I was finished two hours later, still an hour before closing, and was given the spec for the next program to take home. My 'anarchist' friends were still stewing over their first program, which still wouldn't work, despite their having written everything correctly.

When you write a complete file manager - for any platform - and it works, and works well, but you're still in the early stages, so quirks come up now and again, and you see something quirky, you know exactly where the error lies. You know the name of the file it's in and you know the name of the function (method). You're there two seconds later. You inspect the code, you 'discover' it, as it's called. You go 'dang, forgot about that', you fix it, you test it, and five minutes later you're live with an update.

That's how it's supposed to work. That's how it should always work. But it won't happen with most software houses.

Steve Jobs once said that 'above average' programmers weren't just two or three times better than the norm, but two hundred or three hundred times better. And it's not until you realise that, that you begin to understand the topology of software development.

Programming pays well, and unfortunately there are all too many people in the field who just don't fit, who know they don't fit, but reckon they can coast through by bluffing and bullshit and carry home the big bucks.

A lot of them get promoted to managers.

And so it begins.

You've obviously heard of us, otherwise you wouldn't be here.
We're known for telling the truth even if it's not in our interest.
We're now telling you to beware Apple's walled garden. Don't get locked in.
What you've seen so far may be only the beginning of something far far worse.
Download our Test Drive and at least check out our free Keymaster Solo.
That's the first step to regaining your freedom. See here.

John Cattelin
Media Contact
ACP/Xfile licences
About | ACP | Buy | Industry Watch | Learning Curve | News | Products | Search | Substack
Copyright © Rixstep. All rights reserved.