Python programming is NOT easy… but it can get easier…

Neil Dias
4 min readDec 13, 2020

If you are a newbie in Python — read this! If you are an intermediate (or an advanced) programmer — or have programming experience in other languages — you probably don’t need to read this.

— — — — — — — — — — — — — -

Python is ubiquitous — and by that I mean you will probably find Python as the first programming language to learn in most of your Google search recommendations– thanks to the data science hype. And that recommendation usually comes with a sales pitch.

Many online education companies promote (and market) Python as easy. That’s the pitch. Some even qualify it by saying that Python is easy “to learn”. It’s like coding in English, we are told.

Let me break it out to you — python is not really easy for the absolute newbie. It is very important to understand that Python programming, like programming in any other language, is hard work! If it were easy, everyone could do it, and it (or programming skills in general) would not be such an in-demand skill! Exactly how many things do you know in life which are easy to do, and yet in demand commercially? There you go; I gave you the meat of my thesis right there. If you have understood what I wanted to say, you may stop reading here — else, continue reading to see why I say so.

I maintain that Python is not easy, but many people out there are trying to convince you that it is — so where is the gap? Are they all lying? I think not, however, I do think they are not giving you the full picture. They probably have one or two aspects of programming in mind which weigh in on their opinion on python being easy for the beginning student.

In some sense Python is easier than some of the other languages out there — like Java or C++. What I mean here is that syntactically, Python, like many other dynamic languages, is less verbose than say, Java. This is not a small thing for someone who has never coded in his or her life, and who stares at the screen in bewilderment in their first programming class wondering: “why does a simple print statement need 4–5 lines of code in Java? Is it because even something as simple as printing is so darn difficult to do?” Languages like python alleviate those apprehensions — because languages like Python are syntactically less verbose. That’s an advantage of learning languages like Python as a first language, for sure.

Photo credit: Karl Pawlowicz, taken from unplash.com
Image credit: Karl Pawlowicz, taken from unplash.com

However, that advantage is short-lived, I assure you, and therein lies the problem. This caveat to the “Python is easy” slogan is usually not expressed to the new student. You see, once you graduate from the typical “Hello-World” equivalent programs (like, say, the calculator program (without the GUI)) — the complexity builds up. And it builds up fast, depending on how quick you move on to more serious things. From very diverse but related concepts to other libraries and their functionalities, and the myriads of errors that each of them carries at every nook and turn — you soon begin to wonder how could anyone declare Python programming as anything but easy?

Don’t get me wrong — this lack of syntactic verbosity in Python can be advantageous for those new to programming — and “that” specific aspect of learning programming may be less intimidating and therefore, “easier”. But such ease is a smoke-screen as far as the larger picture of real-world programming is concerned. As you begin to do something useful with Python; more serious things that have some sort of production value — which is kind of the point in learning any programming language for most people — Python can be as difficult as Java or any other language — IF you don’t put effort into it. A lot of effort into it.

Clearly, learning the basics of Python syntax and “programming” in Python are two different things. I will explore that concept in my next post.

For now I will leave you with this — don’t fool yourself into believing that Python is easy (to learn or to code in) — it’s really not if you intend to proceed beyond beginner level programs, unless you have put in the work — — — BUT that also means it can get easier to code in Python as you spend hours upon hours on it.

This, friends, is true with any other skill one wants to acquire. I have seen new programmers, some of them my friends, literally buying into the proposition that Python is easy, only to wonder, while staring at the broken code on the screen — unable to understand Stack Overflow discussions on the error — how exactly was “this” easy?

Here is a short recipe to get comfortable programming in Python: stick with it, explore it, be curious about it, experiment, don’t be fazed by the gazillion hurdles (read errors) you will encounter — indeed, embrace the errors; and get ready to slog your tail off. Do this, and then any skill will get (relatively) easier. Programming, much less python, is no exception to that rule. I am yet to find anything that is.

Remember — it does get easier — but that usually happens after one has invested a lot of time and effort in a skill. This is completely normal. And this is something to be happy about; because this means that getting good at Python programming is within your control. That is something worth celebrating, if you ask me.

--

--