4 Reasons Why Python Isn’t the Programming Language for You

Ian Buckley 04-10-2018

Python is one of the most popular programming languages of recent years. Its clear syntax and readability make it the perfect coding language for beginners. It’s forgivable to think that learning Python was essential given its wide usage.


This raises the question: when is Python NOT the right answer? When is the Python programming language the wrong language to learn and/or use?

What Python Is Good For

In short, Python is becoming the language of machine learning. Most machine language courses are written using the Python language, and coding education as a whole has adopted Python as the language to learn, with wide use in classrooms, on Raspberry Pi, and elsewhere.

These reasons, along with the plethora of big companies using Python, leave many thinking it is the main programming language of the future. But if Python is such a Swiss Army Knife, when wouldn’t you use it?

1. You Want to Be a Web Developer

Python is more than capable of large-scale web development. Instagram is the largest site running Django, a Python web framework. This is no mean feat, as Instagram engineer Zekun Li explains:

“We began using Python early on because of its simplicity, but we’ve had to do many hacks over the years to keep it simple as we’ve scaled.”

That said, Django is a robust, elegant framework. The issue does not lie with its failings as such. The simple question is: why learn Django when JavaScript is still so dominant?


JavaScript frameworks like React 7 Best Free Tutorials for Learning React and Making Web Apps Free courses are rarely as comprehensive and helpful -- but we've found several React courses that are excellent and will get you started on the right foot. Read More and Vue.js are in high demand. Both can use Django or other back-ends like Ruby on Rails. However, since both are JavaScript-based languages, why would you use anything other than Node.js? This makes for a full stack JavaScript application. One language to learn and master.

This is not to say that JavaScript is a perfect language; many would argue the opposite The Worst and Hardest Programming Languages to Avoid Like the Plague Coding is tough. Before you start, know which of the worst and hardest programming languages to avoid. You can thank me later. Read More . If you are starting out in web development, however, there is still no better choice Which Programming Language to Learn - Web Programming Today we're going to take a look at the various web programming languages that power the Internet. This is the fourth part in a beginners programming series. In part 1, we learnt the basic of... Read More than JavaScript.

2. You Want to Be a Game Developer

Users of Pygame might find this section a little confusing. Isn’t there a well-regarded library specifically for creating computer games in Python? Yes, there is, and Pygame is a fantastic resource for learning Python and game mechanics.

Some good games have been written in Python, and there is even a first-person shooter made entirely in Pygame:


Without taking away from the incredible achievement that DUGA is, you can see the issue here. Most (but not all) people wanting to get into game development are looking for something more. A robust platform with development tools and an editor. The potential to scale from a small idea up to something large and more mainstream.

Python cannot offer this, whereas game engines like Unity and Unreal can.

Learn C# for Unity

Unity is based solely on C#, with a considerable number of libraries on top to help with game development. The Unity editor is a very powerful tool allowing for quick prototyping, and a fast start for beginners making their first game.

For a comparison of scale and visual beauty, Escape From Tarkov is a Unity Engine creation:


Much like low-level Python tutorials cover programming essentials, Unity’s official tutorials assume no prior programming knowledge.

Learn C++ for Unreal Engine

C++ is somewhat notorious for being difficult to learn. There are resources online for beginners, and the Unreal Engine website has some great getting started tools too.

If you need any evidence that Unreal Engine games can be a success, look no further than Fortnite. This hugely popular game, which you can even play on your mobile, was created and optimized using Unreal.

4 Reasons Why Python Isn't the Programming Language for You fortnite victory royale


Games that look like this, and run at 1080p with good frame-rates, are currently not possible using Python. This is not a failing on Python’s part, more a simple case of game development not being one of its strengths.

3. You Want to Work With Low Level Systems

While the amateur robotics community loves Python, it isn’t the best language for the job. In many low level and embedded systems, Python isn’t an option.

Embedded Systems

While the definition of what an embedded system is has become blurred in recent years, there is a good analogy. It’s safe to consider small development boards such as Arduino as embedded. Larger, more complex devices like Raspberry Pis or similar single board computers are generally not seen as embedded.

The issue lies where memory and timing are essential. An 8-bit chip in a piece of embedded hardware needs to have its memory managed very carefully. This is not something Python is suited for, and there is a reason why the Arduino language is a simplified version of C/C++. Getting a grasp of Arduino’s version of C++ is less complex than you would think Arduino Programming for Beginners: Traffic Light Controller Project Tutorial Building an Arduino traffic light controller helps you develop basic coding skills! We get you started. Read More .

The C programming language is as powerful as it can be dangerous. Despite being high-level, C and its C++ super-set can access low-level processes. Essentially, C was the first translation of machine code into something that humans could easily understand.

Precision and Speed

On top of the ability to manage systems at a low level, C comes with a speed increase. Since C is a very raw language, there are no overheads or garbage collection to slow it down. This is where C gets its reputation for being dangerous, as memory leaks can cause terrible problems. It does mean, however, that C shines where timing and speed are critical.

Anyone looking to get into hardware programming or any form of kernel programming should consider looking into C. The same is true for anyone wishing to create device drivers.

Bonus fact: Have you used VSTs to create digital music and wondered how to make them? You can write your own using C++.

4. Do You Need Python?

While this may sound obvious—if you already know another capable coding language, why change?

If you took a coding class in school, or started an online coding course The 11 Best Sites for Free Online Computer Programming Courses Using these free online computer programming courses, you can become a great coder without a computer science degree. Read More in a particular language, sticking to it has benefits. Learning your first language gives you the fundamentals of programming, and switching to learn a whole new syntax slows that process down.

Most top level Python coders didn’t begin working with the language. Due to its highly readable nature and intuitive syntax, many find it easier to learn Python coming from other languages.

Maybe You Should Learn Python After All

There are so many languages out there that choosing can be stressful. The truth is, there can never be a perfect language for everything.

For more, see our most commonly asked questions about Python The Most Frequently Asked Questions About Python Programming In this article, we'll walk you through everything you need to know about Python as a beginner. Read More . You should know about other functional programming languages 5 Functional Programming Languages You Should Know Want to know more about programming? It's worth learning about functional programming and what programming languages support it. Read More too.

Related topics: Programming, Python.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Koray
    July 28, 2019 at 6:09 pm

    I think the writer had bitten by a python and he/she wanted to take revenge by writing this article. 😂

  2. XxPro_GamerxX
    June 14, 2019 at 12:15 am

    You are specifying horrible points!!! "Do you need to learn another language? ", that is is a really dumb statement. If you are going to be a programmer, it is best to know as many languages as possible. You are how python isn't good for making games? Within an hour, I made a full tetras game! Now python isn't that good controlling robots, as you say, this may be true, but you have to take into account that python is a software language not used to control hardware. You can automate a lot of thing with python. If anyone wants to learn python, it is a GREAT starting language!!

    • XxPro_GamerxX
      June 14, 2019 at 12:17 am

      **"You are how" - "You are saying how"

  3. Don
    June 4, 2019 at 3:47 am

    "Due to its highly readable nature and intuitive syntax, many find it easier to learn Python coming from other languages." .. does this even make sense?

    In actually fact, the main thing I dislike about Python is it's use of whitespace for punctuation, and subsequent bitching about misplaced spaces and tabs.

  4. Chris
    October 10, 2018 at 10:30 am

    Unity is not solely based on C#. It allows for javascript coding as well. C# is more popular with the community so is probably the way to go though.

  5. Kevin
    October 4, 2018 at 4:36 pm

    Performance improvements can easily rival C and C++ with numba, Cython, and even pure C and C++ along with the CPython library. I don’t do much embedded programming, but high performance computing with Python is easily achievable. I would only really agree with the point that Python isn’t great for game development.

    • Sgtkeebler
      February 3, 2019 at 1:01 am

      I would agree with this. Some of the most advance labs in the U.S. use python. Not strictly python of course but nonetheless they do use it.

  6. James
    October 4, 2018 at 4:07 pm

    Circuit python and micropython are great for embedded prototyping, learning, and full blown applications, for supported board/chips, and then using c, c++, assembly, etc. when more speed efficiency is needed.

  7. Jano
    October 4, 2018 at 3:53 pm

    This is the first article I've read that shares my viewpoint about Python. Indeed, it has its uses, as do all languages. There is, I find, a "right" language for each problem you want to solve. Python is good if you want to create a quick prototype for something, but if you care about performance and memory usage then you probably want to use something that's not interpreted.

    • miraculixx
      October 5, 2018 at 11:47 am

      Python is compiled to byte code and run by the Python VM. Very much like Java.

      • Rick
        January 26, 2019 at 2:19 pm

        That's interesting. If it's being compiled at runtime, is there a compiler for Python allowing one to distribute pre-compiled executables? It should be possible. I've been googling for a Python compiler, but nothing so far.

        • Jamie Marshall
          March 28, 2019 at 4:00 am

          Python is not run by anything and it uses no vms. The most popular implementation of Python - cpython interpret and executes in C. As what you're really running is C, it can be pre-compiled and cpython has native support for that. However, C that is compiled by an interpreter and must support the functionality of a higher level language is pretty much guranteed to be far less efficient than C written and compiled by a talented C programmer.

        • Penguin Monkey
          September 10, 2019 at 12:48 am

          Use python dist tools like py2exe, or py2app.