DEV Community

Mark Vassilevskiy
Mark Vassilevskiy

Posted on

Why You Shouldn't Learn Python as a First Programming Language

Python is one of the world's most popular programming languages, and its popularity only increases over time. Usually, it's used in several filed such as Back-end development and Machine Learning, and it's also a straightforward language to learn, because of its simple syntax and several other things about which I'll tell you later. But in this article, we'll talk about the nowadays problem for all beginners and why you shouldn't learn Python as your first programming language


Understand Why

First of all, before learning anything new you need to understand why you are doing it and ask several questions that will help you achieve your goals in the best way. Ask yourself what you want to do with this knowledge. Also, ask yourself do you really see yourself as a programmer in probably 5 years or just want to do it for fun and for the experimental experience. Then if you surely understand your goals you'll be able to choose between different programming languages, such as Python, JavaScript, C++, C#, Java, and many others. Because each programming language is better than others in some fields, and if you want to build your own Artificial Intelligence algorithms or work with the Web Dev then Python or JavaScript is the best choice for you. In other ways, it would be better to look closely at other languages.

Simplicity Not Always Good

As I mentioned earlier, Python is a very simple language, probably the simplest in the world. But it's not always a good sign if you're a beginner. Simplicity is ensured by cutting down on any functions, possibilities, speed, and much more. 
So if you'll compare Python with for instance C++ you'll see that there's almost nothing similar between them. In Python, to declare a variable you need just to write x= "Hello World", however in C++ you'll need to tell the computer which type of information you want, so it will allocate resources right and the efficiency of your code will increase. And the same principle with the Functions, Arrays, Loops, etc. All of them are declaring much harder than in Python, but with it, you'll get much more customizability and will be able to work with each parameter manually, rather than with Python. 

Python is like a template for programming and C++ is a full instrument for real programmers. Of course, Python it's a great way to start working with functions, however, with C++ you'll understand all of it much better and will work with all of its small differences every time. So you'll have more practice and will understand how it works on the lower layer.
Possibilities

Python is a great way to work with Machine Learning, Back-end development, and probably with a few other fields where you don't need any complex things, such as working with usual and temporal memory, optimization for better speed, and making a cross-platform app without any losses. But if you need at least one of them or any other advanced feature that I haven't included then Python isn't the right choice for you. As we saw earlier Python is too simple so many cool features that are available in C++ or Java aren't available in Python.

Understanding Programming Itself

To understand programming and everything that you can do with it in the right form you should again learn Java or C++. Because as I mentioned earlier you're getting much more possibilities and able to set up everything manually rather than use some sort of template. While learning C++ you'll understand how the computer works inside and not just write some inanimate lines of code.

Conclusion

I really love Python and have learned it myself as a first language too, but in many specific ways, you shouldn't just listen to what everybody tells you and think about what you need for what. Even if you don't want to know how to work with the temporal memory directly you'll anyway need to choose the right language related to your own path. 
I hope this article helped you a lot and now you understand what to do next. If you liked it then don't forget to leave a clap and also, follow me on Twitter :)

Top comments (3)

Collapse
 
nombrekeff profile image
Keff

While I see where you're coming from, I don't agree.

Python is an excelent language to start with, it's simple as you said, which helps you focus on the basics and logic aspects of programming without having to think about complex concepts at first, like memory, types, etc... It's also interpreted, which is a lot easier for beginners to setup and run. It has a humongus community and loads of learning resources which is very valuable for beginners.

Once you grasp the basics of programming, then start looking at more advanced languages. Once you know the basics, it is a lot easier to adopt new languages.

First learn to walk, then start running, finally do a marathon. Don't jump to a marathon directly, you will get overwelmed.

Of course it's up to each individual to decide what language to learn, based on the goal. But for general purposes I'd say that python is and excelent choice!

Collapse
 
metamark profile image
Mark Vassilevskiy

You're right. As I said, I personally started with Python, but now I'm now a Python developer, I usually work with JS.

It's because I just heard from everywhere that I need to learn it as a first programming language, on the other hand, it would be much better if I just started with JS. In other words, it depends on your goals in the most ways.

And also, important to mention that with Python you will not get the full programming knowledge. Like, you will know only some basics such as working with massives and data types, you're not allowed to control your computer manually and work for example with a memory.

Collapse
 
nombrekeff profile image
Keff

Yup that's true, but I think it help focus on the basics, memory handling is a very complex topic which in my opinion should not be learnt at first. Best to understand logic and programming basics before.

I guess it all depends in the goal, resources and what you find intertesting. If you don't like the language you will not learn as fast.