Programming Is Hard. It's Also Easy. So... Which Is It?

Even the most boastful career programmer will admit that their first steps into the world of coding were fraught with moments of depressing incomprehension. However, once you have the hang of one language, it becomes significantly easier to understand others. Where, then, does that initial difficulty curve come from and are we doing a disservice to newcomers by saying coding is simple in any form?

Photo by Connie Ma / Flickr, licensed under Creative Commons 2.0

Microsoft developer Scott Hanselman penned a post on the topic recently, spurred by the following tweet:

Hanselman goes on to write that we should be careful about setting expectations about the difficulty of programming because by saying that it's straightforward, it could deter the otherwise enthused novices from forging ahead when the going does — inevitably — get tough:

[Programming] will get difficult. That's where people find themselves saying "well, I guess I'm not wired for coding. It's just not for me."   Now, to be clear, that may be the case. I'm arguing that if we as an industry go around telling everyone that "coding is easy" we are just prepping folks for self-exclusion, rather than enabling a growing and inclusive community. That's the goal right? Let's get more folks into computers, but let's set their expectations.

As to the difficulty of programming itself, a post by "Alhoshka" on Reddit does a good job of explaining the finer details:

When we say programming is hard, we don't mean the act of writing a for loop and populating an array, we mean the understanding and formalizing of complex logical problems and designing clean, efficient and reliable solutions for those problems. I suspect that's exactly the point which gets lost in translation.

This is why picking up a new language for a veteran is considerably easier — you understand the basic concepts of programming and probably a lot of computer science concepts as well. Then it just comes down to figuring out how to declare a variable, iterate an array, create a function, class or template, etc, in said language.

Stop saying learning to code is easy. [Scott Hanselman, via Reddit]


    Writing short bits of code can be easy. Problem is, the code won't do much.
    "Hello world" is about as simple as you can get. Depending on compiler etc. you can have various versions up and running within a few minutes.
    When you want your code to actually DO SOMETHING it gets progressively harder.

Join the discussion!

Trending Stories Right Now