Hi! I Want to Make a Program That Knits Elephants.

Can you help me? Don’t you love those newsgroup posts? Granted, this is not a real world example (at least I hope it’s not), but why do programming newbies always

  1. neglect to assess the complexity of the arbitrary problem they just came up with

  2. assess the complexity of the problem wrongly – far too low, that is

  3. assume it can’t be very difficult if only they find someone to “tell them how to do it”

I don’t want to rant, I find this really interesting. Maybe we’ll all be able to create better computer applications or even programming languages/frameworks if we understand why people think the way they do about computers. I’m sure there are psychological articles about this out there, but I didn’t go look for them.

I don’t understand (1), because if I have the idea of making a new hobby out of jumping from helicopters with a snowboard on my feet, I don’t fool myself by assuming it’s just a matter of tumbling out and falling downwards. Maybe it’s me, do other people do this? Accepting the fact that the problem won’t solve itself, I can’t help but think… and assess complexity. No way around it. Is there?

I don’t understand (2) because in the face of a problem that I know absolutely nothing about I don’t tend to assume that it’ll be extremely easy. Hell, any office clerk is used to the idea that it’s better to assume all tasks are a bit more difficult than they appear. Why is rocket science proverbially difficult, but a problem involving writing a computer program by definition simple?

I don’t understand (3), but I’m sure that’s because I don’t understand (2).

Sorry, this blog does not support comments.

I used various blog hosting services since this blog was established in 2005, but unfortunately they turned out to be unreliable in the long term and comment threads were lost in unavoidable transitions. At this time I don't want to enable third-party services for comments since it has become obvious in recent years that these providers invariably monetize information about their visitors and users.

Please use the links in the page footer to get in touch with me. I'm available for conversations on Keybase, Matrix, Mastodon or Twitter, as well as via email.