• Skip to primary navigation
  • Skip to main content

Logistics Data Crunch

I help transport and logistics companies automate their processes

  • Newsletter
  • Archive
  • About

The programmer/user chasm

2020-06-12 By Antonis Christofides

Hello all,

Did you know that writing software is fundamentally easier than other branches of engineering? Richard Stallman once explained this quite eloquently:

[I]f we put an if statement inside of a while statement, we don’t have to worry about whether the if statement can get enough power to run at the speed it’s going to run…. We don’t have to worry about whether it will loop at a speed that causes a resonance and eventually the if statement will vibrate against the while statement and one of them will crack. We don’t have to worry that chemicals in the environment will get into the boundary between the if statement and the while statement and corrode them, and cause a bad connection…. We don’t have to worry about whether the heat can be dissipated from this if statement through the surrounding while statement.

Writing software is also fundamentally easier than logistics. We don’t need to worry about whether the if statement will be lost because we won’t know inside which of our while statements it’s going to be. We don’t need to worry about how much delay there will be when we transfer it from a while statement to a for statement under heavy traffic conditions.

If writing software is easy, why are good programmers hard to find and expensive to hire? Stallman explained this better than I could:

If we assume that the intelligence of programmers is the same as the intelligence of mechanical engineers, and electrical engineers and chemical engineers and so on, what’s going to happen? Those of us with the easiest field, fundamentally, are going to push it further. We make bigger and bigger things and eventually it becomes hard again. That’s why we can develop much bigger systems than the people in the other fields.

So there you have it: 1) At a fundamental level, writing software is easy; 2) Software systems are much more complicated than the systems of other fields.

The other day I was talking with a logistics professional who expressed his frustration at the difficulty the domain experts (i.e. the logistics professionals) have to transfer their business knowledge to the IT guys. This is a big issue and I think it has a lot to do with this fundamentally-easy-thus-extremely-complex peculiarity of software. I’m going to write more about it in the next few days.

Regards,

Antonis

Filed Under: Difficulties in IT

Did you like this post?

Previous Post: « Will we need programmers in the future?
Next Post: The programmer/user chasm: Blacksmiths and swordsmen »