4 ms·
I would argue that if you need to learn it the right way in order for it to make sense, then what that really means is that you just get used to it and it's not
by proc0 2y ago
I would argue that if you need to learn it the right way in order for it to make sense, then what that really means is that you just get used to it and it's not very intuitive to begin with.
Take the simple example of a pointer. It's just a data type, but it gets its own symbol. Ints or floats do not get their symbol, and pointer similarly could just be a keyword and not a symbol to be consistent. Pointer could be a type keyword for declaration, and * (asterisk) could be the operator to retrieve a pointer value. This disambiguates it easily and intuitively.
But again, I still like C++ and consider all of these inconsistencies as side effect of its longed lived legacy. It needed to change and evolve and making comprises is hard when it's already part of so many systems. I'm also not sure there's anything better. I have not yet learned Rust but it seems it's aiming for a different kind of experience alltogether. Not sure what could be the real successor to C++ while still remaining compatible in the way C++ is to C.