42 ms·
With languages as complex as modern C++, I always tend to hunt for a subset of features that makes me happy and productive, and effectively discard the rest. Co
by Udo 6y ago
With languages as complex as modern C++, I always tend to hunt for a subset of features that makes me happy and productive, and effectively discard the rest. Compared to that, I think there is relatively little in Go that one may want to disregard, and I'd argue it's due to the fact that it's a relatively tight featureset with practicality in mind, and is therefore easy to learn. With Rust, I'd say the experience is more subjective, but it's still not as sprawling as C++.
I know it's an unpopular opinion, but I believe personal fit in a programming language is just as important as its fitness for a purpose. I always like to check out new languages and features, but in the end I'm very likely to stick with what feels productive for me personally. If that means dropping half of a language's features, I'll do that, too. Chasing "modernity" or buzzword fads is a recipe for unhappiness in my opinion.
If C++ (modern or reduced) feels good and productive to you, I'd say there is nothing wrong in sticking with it.
- fauigerzigerk 6y ago>With languages as complex as modern C++, I always tend to hunt for a subset of features that makes me happy and productive, and effectively discard the rest. Perhaps you are in a position to make such choices, but it's not a realistic option for most developers most of the time. Not all projects are greenfield. Not all projects can restrict their choice of libraries to the ones that conform to some preferred style or language subset. Not everyone is self employed and working alone. You cannot know in advance what subset of the language any particular employer or client prefers. So my advice to a young developer would be to learn all of C++ or steer clear of it altogether. Learning C++ well enough to not be dangerous is a major undertaking.
- Udo 6y ago> Perhaps you are in a position to make such choices, but it's not a realistic option for most developers most of the time. You're implying a context that was not really part of my post or the post I was replying to. I didn't get the feeling that the OP was frantically trying to catch up on C++ because their workplace demands it. Rather, they seem to be a person trying to gauge what languages they should pursue in addition or instead of C++, of their own volition. > Not everyone is self employed and working alone. I'm not asserting otherwise. > So my advice to a young developer would be to learn all of C++ or steer clear of it altogether. Learning C++ well enough to not be dangerous is a major undertaking. My advice would be: it depends on what you're going to do with it. What kind of projects are you involved in? Are you programming for yourself or in a team? If you're in a team, these decisions all get made for you. If you're programming for yourself, it may not be a problem to "be dangerous" while you're learning. It's also worth considering what "learn all of C++" means. In my post, I didn't mean to imply that people should refuse knowledge of features. What I meant to say is, they should make informed decisions about the features they'll use. All of which applies of course only, as you so clearly stated, to people who actually have control over their usage of the language.