Coding Tips
Coding Tips
Begin With C
Don’t fall for the hype surrounding Python. You might regret it
later
Mohammed Ayar
Python is the default programming language of “the sexiest job of the 21st
century.” Yes, data buzzwords still make data scientists “sexy,” although the
current circumstances wouldn’t fully support that claim. Impressively, Python
happens to answer most if not all data science problems.
With that said, and despite all of Python’s promises, the language isn’t a viable
choice to test the programming waters. C is a better option.
In this article, I will lay before you the reasons why you should use C as a
starting point rather than Python.
Start Strong
My thesis supervisor once told me, “Always start strong. The first punch
decides the fate of the fight.”
For example, only the other day on a Facebook group, I stumbled onto a post
by a seven-year-old kid looking for data science freelance jobs. He attached a
Python online course certificate as proof of his programming proficiency.
Having seen that, I realized that the tech arena has radically changed. Now
everyone wants to master Python for the promised lucrative jobs.
I’m not saying that it’s Python’s fault. It’s our fault.
It’s our fault because we tend to set the bar too high and act as if Python is the
be-all and end-all. Realistically, it takes more than willingness and a
programming language to thrive in today's unpredictable world.
Take the economic downturn caused by the pandemic, for example. The crisis
turned the job market into a battlefield. This, in turn, crippled computer
science graduates who once used to get hired without entering the job-hunting
hurricane. Therefore, unless you went beyond a stupid certificate and worked
your fingers to the bone, you won’t stand a chance.
C is a good option to train your fingers as well as to get your brain in gear. In
the end, at least you will get an idea of the challenges awaiting you down the
road.
Python Is Cooked in C
Python is nothing more than a bunch of rules.
For example, we have C for CPython and Java for Jython to name but a few
implementations.
On top of that, a decent number of Python packages like NumPy are written
with C and its younger brother C++ to address efficiency drawbacks because
Python is dead slow in comparison.
It’s true that when one gets used to a lightning-fast runtime, they become more
sensitive to slow-executing programs. This leads to a propensity to produce
efficient code — whether with Python or another programming language.
Takeaways
I have worked with more than five programming languages in my lifetime, with
C being the first and Python the last.
While I am grateful for the programming foundation the old-fashioned C
bestowed on me, I’m certainly not biased towards C. My doubts concerning
learning Python first were cleared while working with “straight Python”
developers.
What I noticed is that most (not all) of the developers I interacted with lacked
refactoring skills. They hardly took runtime issues seriously and all they cared
about was having a functional code. In reality, coding is more than that.
At that moment, I realized that behind the Python makeup, there’s an ugly
face. A face that could’ve been prettier if it had been meticulously cared for
from the beginning.