4 ms·
I completely disagree. Java, C# and Python are all dramatically less complex than C++. And there is an additional issue: lack of knowledge about something in on
by nicoburns 5y ago
I completely disagree. Java, C# and Python are all dramatically less complex than C++. And there is an additional issue: lack of knowledge about something in one of those languages might lead to a suboptimal implementation, but it is unlikely to lead to anything akin to undefined behaviour. As such, there is a sense in which you need to know everything about C++ in order to use it safely that isn't true of almost any other language.
- FpUser 5y ago>"As such, there is a sense in which you need to know everything about C++ in order to use it safely" Completely disagree.
- nicoburns 5y agoWell you at least need to know a whole plethora of things that can trigger undefined behaviour, many of which are triggered by code patterns that are idiomatic in others contexts. This is very unlike language like most other languages where you can play around with little language specific knowledge and the worst thing that's likely to happen is a runtime exception.
- mxkopy 5y ago>you need to know everything about C++ in order to use it safely Well, you should know the libraries that you're using in C++, but I don't think that's any different in Python or Java. Granted, the mental model is more complex in C++ but that's the price you pay for the amount of control you get. Also, isn't undefined behavior a lot easier to come across in Python since it's dynamically typed?
- adgjlsfhk1 5y agopython doesn't have c style undefined behavior. you might get unexpected behavior, but that is very different from undefined behavior which allows the compiler to delete your hard drive and launch a nuke if it feels like it.
- pjmlp 5y agoWell, import ctypes. Are you sure you master all language and library changes between versions, even minor ones? What are the major differences between Python 1.5 and Python 3.10?
- nicoburns 5y agoWhy does it matter how Python 1 worked? Nobody is using that these days. In fact , in 2022 you can probably even get away without knowing python 2 either.
- pjmlp 5y agoUntil you find libraries that were never updated.... Very lucky ones, those that can do their work from scratch using latest version of everything, including the OSes where they get deployed.
- pjmlp 5y agoOnly if you disregard CLR, MSIL, .NET Framework vs Mono/Xamarin/Unity vs Core vs UWP, Windows Forms, WPF, WebForms, WCF, ADO, EF,....