I currently know the basics of Python, including variables, data types, functions, file handling, object-oriented programming, conditionals, and loops. I enjoy using Python, but I keep hearing that it is not widely used for traditional software development, that companies prefer Java, C++, C#, or Go, and that Python is mainly useful for automation, web backends, and AI or machine learning. I am considering AI/ML, although I am not sure whether I will ultimately choose that path. I also plan to study data structures and algorithms in Java or C++ rather than Python. Should I continue improving my Python until I become highly proficient, or switch languages now? I would also like advice on what to focus on beyond language syntax.
4 Answers
Don’t choose a language solely because you’re worried about market demand. Python is absolutely used professionally in backend development, automation, data engineering, and AI/ML. If you enjoy it, keep using it and build substantial projects. Once you understand programming fundamentals, learning Java, C++, or another language later is much easier. The important skill is learning how to solve problems and design software, not memorizing syntax.
Your current assumptions about Python are too broad. It is widely used in real production systems, including web services, data pipelines, and machine-learning platforms. Java, C++, Go, and C# are excellent choices for particular areas, but there is no universal ranking where one language makes the others useless. Becoming very capable in Python is more valuable than being mediocre in Python and C++ at the same time. You can add another language when a project or career direction gives you a reason to do so.
Language choice matters less than learning how to build, debug, test, document, and maintain software. Employers generally care whether you can reason about problems and deliver working systems. Frameworks and languages can be learned relatively quickly once those fundamentals are solid, so pick a project that interests you and let its requirements guide your next language.
A good approach is to keep Python as your main learning language and use it to build different kinds of things: command-line tools, web APIs, database-backed applications, tests, and data projects. Learn SQL alongside it. Later, if you want enterprise backend work, Java with Spring can be a useful addition; if you want systems or performance-focused programming, consider C++ or Go. Learning data structures and algorithms in Java or C++ is fine, but you don’t need to abandon Python to do that.

Thanks, that helps. I’ll continue with Python and focus more on building useful projects.