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]

The Cheapest NBN 50 Plans

Here are the cheapest plans available for Australia’s most popular NBN speed tier.

At Lifehacker, we independently select and write about stuff we love and think you'll like too. We have affiliate and advertising partnerships, which means we may collect a share of sales or other compensation from the links on this page. BTW – prices are accurate and items in stock at the time of posting.


One response to “Programming Is Hard. It’s Also Easy. So… Which Is It?”