0% found this document useful (0 votes)
15 views

Coding Tips

Uploaded by

BASUDEB GUCHHAIT
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Coding Tips

Uploaded by

BASUDEB GUCHHAIT
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Don’t Start Coding With Python —

Begin With C
Don’t fall for the hype surrounding Python. You might regret it
later

Mohammed Ayar

Apr 20 · 5 min read


Photo by Dawid Zawiła on Unsplash.

Python is amazing for its ability to promote programming. It delicately


endorses the proverbial “if you know English, you should know how to code”
idea. With its English-like syntax, indentation paradigm, and extensive
libraries, Python makes other programming languages look useless.

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.

Python is also popular in blockchain, DevOps, and cybersecurity.

The hype around Python is growing exponentially. The language is used as a


coding medium in countless online courses and academic programs.

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.”

Python is a high-level programming language. This means that Python enjoys a


high degree of abstraction, allowing for a smooth connection between the user
and the language.
In other words, the Pythonic interpretation mechanism tends to tolerate errors
other programming languages are likely to flag. No variable declaration, no
column chase, autocasting. All of this enhances the programming experience
and makes Python user-friendly.

Interestingly, Python’s benefits are also its drawbacks. This “ready-to-eat”


approach cultivates a fragile programming mindset that endorses impatience
and laziness.

C, on the other hand, is a mid-level programming language. It sits between


low-level programming languages (assembly, machine languages) and high-
level languages (Python, Ruby, etc.). Practically speaking, this makes C harder
to write than Python. However, it is worth the grind.

C displays a genuine picture of what programming looks like. C programmers


endure hardship to get their code up and running, and that instills good
programming habits.

C developers are known to craft comparatively organized, clean code with


meticulous care. And because the process of building up such skills takes place
pretty prematurely, they tend to impact not only C coding but prospective
programming endeavors altogether.

Simply put, C is a great starting point because it sets a solid programming


foundation for aspiring developers. Computer science fundamentals such as
dynamic memory allocation and data structures make programming an
arduous journey, but developers will reap the rewards of their efforts down the
road.
Unrealistic Expectations
What breaks my heart about Python is the unrealistic expectations and false
hopes it sets up front. Many people trust that Python is the golden ticket to
their career aspirations, hence the rising wave of people looking to master the
language.

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.

Now, I’m by no means underestimating this boy, as many young developers


produce code denoting programming mastery. What made me cringe, though,
is the idea of looking for a job at such a young age.

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.

It’s as simple as that!


“Be realistic: Plan for a miracle.” — Osho

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.

The rules that govern Python could be implemented in some languages.


Usually, we concatenate the abbreviation of both the language used and Python
to denote the implementation.

For example, we have C for CPython and Java for Jython to name but a few
implementations.

The most popular Python implementation is in C. As such, a fair amount of C


knowledge would certainly come in handy when deciphering Python code.

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.

In summary, the path to Python mastery becomes less steep if supported by a C


mindset.

Thanks for reading. I hope I didn’t step on any toes.

Good luck coding.

You might also like