Is Python actually the best programing language to start out with.
James Melvin
Computational Linguist managing language models and ontologies to structure raw data into knowledge. Experienced Lead in AI, NLP, Python, and .NET. Passionate about transforming ideas into intelligent solutions.
I get it. Its supposed to be fun. After all, it was designed to be fun to use, given the fact it’s named after the Monty Python TV series, so how could it not be, right? Google the words "I am starting programing. what language should I choose?" or pretty much any variation of that. Python is always right up there, if not number one.
I get it. After all 268,000,000 results cant be wrong, right? The fact that it was the language Google used to develop its search engine with, back in the day, gives it huge street cred too. I often hear arguments based on something along the lines of "Python is open-source and the language that powers websites such as YouTube, Reddit, Pinterest, and Instagram". O please. C# is not only open source, it has been successfully submitted to be an ECMA standard, way back in 2005.
Development trends such as machine learning make python even more compelling as a language to start with, because lets be honest, "I'm a programmer" vs "I'm a Data scientist" only has one clear winner, when you trying to impress everyone around the dinner table.
Yet, I scream bollocks. Admittedly, both Python and C# are object-oriented, but only C# is fully object-oriented. Yes, developers can take advantage of Python to write procedural code and as such, Python's fast development time is attractive but Python is a dynamically-interpreted language, whereas C# is a statically-typed compiled language. Simply put, that means the C# software will outperform Python in applications all day long. Never mind the fact, .NET Core is now the top performing framework on Linux among all frameworks that are widely used. Be it Java, JavaScript, Python, PHP, you name it! C# and .NET outperforms them all on Linux, and Microsoft just came to Linux three years ago. Think about that feat for a moment.
So next time you going to advise someone which language to start with, at least consider your answer because with the advances of ML.Net (You go, you little data scientist), NET Framework 5 (You go, you little productive beast) and .NET MAUI (You go, you little Multi-platform App developer), C# is quite simply the only language that truly gives you the ability to develop in a truly unified platform. There is no denying that C# has a more organized structure like an OOP language has. This means there are no inconsistencies in the syntax and formatting rules as well. This doesnt even take into consideration the fact that in Microsoft’s .NET framework world, it is also worth mentioning that there is a project called CoreCLR which aims to enable the creation of standalone, native binaries out of .NET code. It is still in development but expect a world of framework-free, compact, high-performance applications that are .NET runtime optimized for the Native AOT Form factor. The ahead-of-time (AOT) toolchain can compile .NET application into a native (architecture specific) single-file executable. It can also produce standalone dynamic or static libraries that can be consumed by applications written in other programming languages. The absolute definition of true cross platform.