I think the memory stuff is pretty good nowadays. I’m sure I saw modern C++ can have a garbage collector. And the syntax is only runelike until you learn it, like any language really. As an industry C# developer I’ve recently taken up C++ as a hobby to better learn the workings of low level code and I’ve been enjoying it so far.
c# has lovely syntax and languages like it and python are pretty readable with basic coding knowledge. C++ if you don’t know a symbol there’s too many options and the risk of misunderstanding is too high.
I will agree with your claim “if you learn the syntax then you know the syntax” but I don’t find this valuable.
Memory unsafe C++ is a choice. With modern C++ you have no excuse for accessing raw pointers or arrays without range checking if memory safety is a priority.
As I said: There are tools in place in modern C++ that are designed to catch the errors you make. If you are using a raw pointer when you could have used a reference, or accessing an array without range checking, those are choices you’ve made. They may be valid choices in your use-case, but don’t go complaining that the language is “unsafe” when it gives you the option to code with guard rails and you choose to forgo them.
It’s memory unsafe and it’s syntax is indistinguishable from the runes which summon cthulu.
I think the memory stuff is pretty good nowadays. I’m sure I saw modern C++ can have a garbage collector. And the syntax is only runelike until you learn it, like any language really. As an industry C# developer I’ve recently taken up C++ as a hobby to better learn the workings of low level code and I’ve been enjoying it so far.
c# has lovely syntax and languages like it and python are pretty readable with basic coding knowledge. C++ if you don’t know a symbol there’s too many options and the risk of misunderstanding is too high.
I will agree with your claim “if you learn the syntax then you know the syntax” but I don’t find this valuable.
Memory unsafe C++ is a choice. With modern C++ you have no excuse for accessing raw pointers or arrays without range checking if memory safety is a priority.
Yeah, just don’t make any mistakes and you’ll be fine. Come on guys, how hard can it be?
As I said: There are tools in place in modern C++ that are designed to catch the errors you make. If you are using a raw pointer when you could have used a reference, or accessing an array without range checking, those are choices you’ve made. They may be valid choices in your use-case, but don’t go complaining that the language is “unsafe” when it gives you the option to code with guard rails and you choose to forgo them.