Learning C++ from a Linux point of view?
For quite a while I've been looking at picking up programming again, purely as a hobby. I've been messing around (sometimes succesfully, sometimes not) with source code for things like kernel modules, applications, tools, etc for a couple of years and I want to be able to actually contribute to some projects and not only as debugger.
Surely I could start doing that now, but most of my patches/changes are far to much of a hack job to publish
So can anyone of you guru's point me to some good literature? Ideally I want 2 books:
- one up to date, modern, linux point of view getting started book
- one complete reference, for the 'why did they do it that way' situations
Bjarne Stroustrup's "The C++ Programming Language" (3d edition) is pretty much everything you need to know all aspects of the language. This is not Linux specific, this is C++ specific
I use this book as a paperweight, doorstop; it's perfectly suited for these tasks ;-). If you want to learn cpp, then I suggest you pick up
Originally Posted by RealNC
"Accelerated c++" by Koenig/Moo, which is not only a _lot_ thinner and lighter, but also focuses more on practical aspects (Stroustrup's book is more like a c++ reference manual).
You didn't read the OP:
Originally Posted by mlau
"I'd ideally like to know more about the core language [...] I ask here, because it seems a lot of books over here seem to be a mix between a C++ guide and a Visual Studio manual."
From his words it sounds like he would prefer a reference manual. And the book I mentioned excels at it. He already knows the language a bit so I don't think he needs an introductory book.
Thank you both!
I was going to order "The C++ Programming Language" for at least it's value as a reference manual, but then I just came across his newest book, which might suit me even better:
It seems it is just out a couple of days in the US and available in about a month over here (the Netherlands).
"Accelerated C++" looks like a good choice too, it is even in the bundle that is published under Bjarne Stroustrup's name.
Hmm, I didn't know he published that!
I just ordered
I still think TC++PL is a nice companion. It's the book I consulted the most through the years. It became a bit dusty though after I got a DSL connection and had constant access to http://www.cplusplus.com :P
Last edited by RealNC; 12-20-2008 at 01:03 AM.
Hi all, thats a very nice information you have shared here. Thanks for sharing.
Read the CodingStyle and ManagementStyle docs from a kernel release.
They actually make pretty good reading
Lipmann's C++ primer
I see you live in Groningen, nice city I live there to.
Pascal experience?, was this turbo pascal or delphi or just pascal? If it was one of the first two, the above books will indeed serve as paperpresses. If not then It might be interesting to have a few chapters about object oriented programming, datastructers and algorithms. But then again, a separate book about these subjects would be far better.
Programming linux apps isn't that much different from windows or other OS's. Just take any good C++ book to get started. For Example Lipmann's C++ primer (a LOT of programmers started with this one). Its for sale for less than 10 euro from the Slegte (look for the latest 2005 version).
In general: better not start with a reference manual or worse a visual oriented programming book, both have a high level of bullshit info and consume to much of your time. There is a reason no school ever uses either of these two types.
Hope this helps.
Excellent reading indeed, but irrelevant when learning a new language.
Originally Posted by curaga
Last edited by tmpdir; 01-23-2009 at 03:19 AM.
Go to CPlusPlus.com and see the manual.
I think its the best available resource.
After that, start learning console libraries like allegro and ncurses.
Then install GMP.
After that, start solving Project Euler Problems.
You would suddenly find yourself completely at ease with C++.
I skipped allegro and ncurses, but I am learning them now.
PS: Geany is a great IDE.