5 ms·
Why do you feel the need to use every single feature? Are you constantly joining new projects that use vastly different features? Most programmers find a handfu
by pompino 3y ago
Why do you feel the need to use every single feature? Are you constantly joining new projects that use vastly different features? Most programmers find a handful of features that gets the job done, and keep using them. Your knowledge from 10 years ago (C++11) is still valid and useful.
- 7thaccount 3y agoMy problem is more about how to get started and use certain scientific libraries. Maybe I just need to dive in. I keep getting detered though when I find out that simple things like iterating through a text file seem to take up so much code. Then I need a dictionary and somehow have to figure out how to get that. Not trying to whine. It's going to be a lot of work though lol.
- protomolecule 3y agoGPT-4 can be a good help here. It mostly gets simple things right.
- Buttons840 3y agoIn one of Bjarne Stroustrup's books he recommends focusing on software engineering rather than learning every language feature, or something to that effect. I think it's good advice. (And it's a good coping thought, but no less true.) An actual engineer or carpenter doesn't master every conceivable tool before beginning their work, they can't, there's too many. Say what you will about C++ programmers, but at least they are free from the burden of trying to use a perfect language and can focus on more important things.
- wiseowise 3y agoIf you want what you describe you use Java.
- fsloth 3y agoYou don’t choose C++ because you want to but because you need to due to constraints that Java likely does not fullfill. As a C++ dev - If you don’t need C++ then choose whatever other modern language. We keep up with C++ because of specific constraints other languages don’t fill.
- angiosperm 3y agoC++ is overwhelmingly more pleasant to code in than Java. People use Java because they work in a Java shop. Similarly, COBOL.
- loup-vaillant 3y ago> Say what you will about C++ programmers, but at least they are free from the burden of trying to use a perfect language and can focus on more important things. I would say most programmers, in any language, are free from that burden: once they picked their language they can focus on those important things.
- bxparks 3y agoNo, but I need to know them to read other people's code. Every C++ programmer has a slightly different subset of C++ features that they consider "basic", "fundamental", or "essential". After 35 years of C++ on and off, I have pretty much given up it. I don't have the mental energy to deal with its complexity anymore. I will deal with parts of C++11 or C++14, mostly so that I can read other people's Arduino code. I think I would rather learn a new language (Rust?) than deal with the hairball that is called "modern C++".
- 01100011 3y agoThis 100%. The vast majority of programmers' lives is spent reading code. We need to be able to interpret, repair and extend the work of others. I often hear this defense of C++, that you only need to know certain parts and the rest are for "library writers". This is an absurd argument, but not exactly surprising from the core C++ cult(and I say this with 26 years as a C/C++ dev). It's almost as if there are two separate camps, one writing and maintaining production software, and another group which only works on language internals and is becoming further divorced from reality.
- wiseowise 3y agoAbsolutely this, 100 times. I will never understand “don’t use all features” argument. Open 5 C++ projects side by side and you’ll find 5 different languages and 5 different build systems that are nigh impossible to build if they deal with dependencies.
- UncleOxidant 3y agoSadly agree. I used to know something that was called C++ (or at least parts of it) and even used to get paid to program in it. But now that C++ has become this kind of constantly morphing target (see the discussion here about what the most modern way to display text to stdout is) it's just tough to get my arms around it anymore. It seems like there was a noble attempt to modernize C++ and certainly there are some welcome parts of that, but it's gotten so far out of hand now. At some point you just have to admit defeat and start over from scratch with something that has a more unified vision. I'm looking at Zig and Carbon for lowlevel stuff and Julia for mathy stuff now.
- freeopinion 3y agoGenerally true, but if you start from scratch and only learn "the good parts" you have to be careful that you don't accidentally wander into some syntax you didn't know had some other use.
- angiosperm 3y agoThat doesn't happen.
- gpderetta 3y agoAnd if you end up learning something new it would be an absolute disaster /s I learn something new all the time when I explore new codebases or even less beaten corners of existing codebases. Only a tiny fraction of the time it is a new facet of the language.