4 ms·
C++ has plenty of uses outside games and it's still one of the most demanded languages, although here on HN most people seem to work on web development and rare
by gordaco 14y ago
C++ has plenty of uses outside games and it's still one of the most demanded languages, although here on HN most people seem to work on web development and rarely need C++.
The truth is, if you don't like C++, you won't like working on an industry that relies heavily on it (however, not every game is done in C++, and certainly few games use it exclusively), so in that case it may be a good idea to go for another industry where you feel more comfortable. If you like C++, of course, keep using it, and don't worry about finding a C++ job, they're still very common.
The best advice, and the one you'll read around here most often, is: don't learn a single language. It's OK that you specialize in C++ (so do I), but never put all your eggs on a single basket. From C++ you can very easily go to C, Java and C#, which also provide a lot of jobs, and outside of the C family there is a whole universe of languages you should always be aware of.
- azatris 14y agoI really like the way C++11 is and I already see how it is in so many ways more likeable than Java as an OO language. But a question arises: would the common C++ jobs be maintaining legacy C++98 codebases? Also, when I am thinking about possibly being in web development, then is it a much more diverged path from the C family or could I somehow keep this as an open option? Is the easiest solution simply learn e.g. Javascript in parallel?
- gordaco 14y agoGood question. It depends on the field, I guess. In academia there are a lot of ad hoc scientific simulations, and yes, many people still prefer C++ over Matlab, R or Numpy (because of speed or because they feel more comfortable with it). In those cases, you'll write a few medium-sized programs from scratch, and will probably be free to use the new features. In videogames you will likely develop new code over an existing engine, which means that C++11 may be available, but the engine will probably be written in an older version of C++, and C++11 maybe won't be allowed during engine maintenance. When maintaining big ancient systems, which are all over the place, chances are that you will be restricted to C++03 or maybe an even older version, but it's not the only possibility, so you may get lucky. In any case, C++11-ready compilers should accept C++98 and C++03 code, so there is always the option of starting to use modern compilers, and when every potential problem is solved, you can use the C++11 features. Just hope your boss is not too averse to changes, and keep in mind that mixing modern style C++ with older style may result in poorly readable code. As for web development, well, there actually exist a few people using C or C++, but the only languages from the C family you're likely to find on a web server are Java and C#, and they're less and less prevalent nowadays. You're more likely to find PHP, Python or Ruby. In the client you're obviously restricted to javascript, but beware: despite the syntax, it's very different from the C family. If you want to learn javascript, that surely won't hurt, just keep in mind that it carries a few paradigm changes (lack of static typing, object modeling and inheritance through prototypes, and A LOT of quirks about the syntax).