Re:Essential C
by lost_vegetable on Sunday October 15, 2017 @09:16PM
(#15480260)
I'd recommend A Tour of C++, by Bjarne Stroustrup. http://www.stroustrup.com/Tour.html
Re:Essential C
by krat0sprakhar on Sunday October 15, 2017 @09:29PM
(#15480315)
+1 to this. I took a course by Prof Stroustrup and he strongly newcomers to start with this book
Word of advice. Don't learn any of the OOP stuff in C++, many learned it, but later they had to unlearn it. Search for data oriented design.
Good advice, why learn something that isn't used on STL, Qt, wxWidgets, boost.
This looks like the best resource, https://github.com/dbartolini/data-oriented-design
That’s as bad as saying OOP is the cure for all your problems! Learn all the paradigms and use them where they’re best used, don’t shun any or advise someone against it just because you’ve had a bad experience.
I am frankly getting sick of the notion "use the right tool for your problem", when discussing programming paradigms. No, programming paradigm is not a tool. Programming language is a tool, data structures are tools and algorithms are tools. I don't believe there exists such and such problem, that can only be solved/expressed in OO way and the only true way is to do it in OO way or the best way if you prefer.
Re:Essential C
by michaericalribo on Sunday October 15, 2017 @09:14PM
(#15480251)
In a similar situation, I constructed a crash course using a combination of Accelerated C++, for succinctness & idiomatic C++, and Statistical Computing in C++ and R, for language features relevant to my graduate field.
Advanced C++ Programming Styles and Idioms by James O. Coplien
https://www.amazon.com/Advanced-C-Programming-Styles-Idioms/...
For a beginner, I think it's hard to beat "C++ Primer" by Stanley Lippman.
"Thinking in C++" by Bruce Eckel
"Effective C++" by Scott Myers
Is there something similar to this for C++? I understand that C++ is a much larger language and I'm definitely not looking for something comprehensive, more of a solid overview of a workable subset of the language. Enough to be productive, produce reasonably modern idiomatic code that can be improved or expanded in the future.
In the end, the graduate course ended up using Python, but I'm still somewhat curious about modern C++.