Python or C# As a First Language?

--

Let me put my cards on the table. I think that Python is a terrible language and is a poor place to start your coding — but I use it extensively in my work, and I probably use it more than any other programming language. So, when I teach cryptography, it is often Python I turn to. And, when it comes to jobs, Python is by far the most popular programming language for demand [here]:

So, why do I think it is poor programming language? Well, mainly because it differs in so many ways from a properly structured language. For me, I just can’t remember how to do a loop in Python, and I have to “Google it” every time. And, the usage of tabs (and spaces) to structure code and having no semi-colon just leaves me cold. I also don’t like the way it creates classes and in how it can easily break. And, the “pip install” command is not the most reliable in integrating libraries, especially where it wants to recompile C code from stratch. And, finally, it is relatively slow compared with compiled programming languages.

It’s not C!

Of course, this is mainly because my first serious programming language was C, and so I am drawn to languages that are C-like, such as Golang. I have…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.