3 ms·
Since I'm focusing on the job market, I'm collecting resources to learn C++. From what I gathered the best beginner book is Bjarne Stroustrup's Programming: Pri
by abzug 5y ago
Since I'm focusing on the job market, I'm collecting resources to learn C++. From what I gathered the best beginner book is Bjarne Stroustrup's Programming: Principles and Practice Using C++, which I think it'll be good since it's a programming book that uses C++ and not a book solely about C++.
But I'm open to any advice.
- ethbr0 5y agoBe aware that C++ is the organ of programming languages. There are many jobs that require this complex of a tool, but there are many jobs that do not. I went BASIC -> C++ -> Java -> Python (some years ago) while learning programming. Learning memory management fundamentals in an unmanaged language felt enormously helpful in recognizing the bigger picture in later managed languages. ... But! It wasn't required. Advice: Know what language(s) your target job market (there's a lot of programming) uses, and spend more time / practice on those. Most hiring folks don't know enough to evaluate language knowledge from a theoretically similar perspective.
- kaveh_h 5y agoA bit of algebra is good to know but more math knowledge is really only required if you want to work in a domain which requires it like Machine Learning, graphics engines, Scientific Computing, algorithm development and some other domains. So I would explore and see how far you can get in math before investing to heavily into a specific language. If you want to learn one that’s useful in many domains and is easy to learn while focusing your studies on math my suggestion is Python.
- daantje 5y agoThe is also "A tour of C++" from the same author, which might be a good start. Take care.
- abzug 5y agoFrom what I gathered, it's a book geared towards programmers new to C++.
- _huayra_ 5y agoIf you're focusing on just getting a software job and not shooting for a particular industry where C++ is used heavily, there are far more jobs that use much easier languages (e.g. C#, Java, Python). C++ really takes some time to understand the myriad nuances that other languages obviate through GC (or not having templates, or simpler rules about overloads, or no intricate distinctions over value categories, etc). Now if you're in to mastering complexity, C++ can be a great choice, as there are a ton of complex things to learn, but I would take a look at job postings where you think you might want to end up to see if it is actually required. It is very unsexy to talk about on HN, but for pure employability, Java (and other JVM-based languages) are probably the best in most areas. There are tons of remote jobs, and pretty much in any city, plus you can branch out into other JVM-based languages (e.g. Scala!) once you feel so inclined and still incorporate that at work. C# and F# have a similar "progression" and are now completely open source too! Good luck, whether or not you end up choosing C++!