ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
OK, I'm a little familiar with C/C++. I've looked into the IDE's and the gcc compilers, but I must admit I'm not going to program professionally, and don't want to dedicate half my day for the next so many months getting back up to speed.
So, the question is, is there a book (I'm nostalgic) that covers the languages so that I can re-familiarize myself with the intricacies of these languages.
Nothing ground-breaking, or monetary, mind you. I just do it as a hobby.
One of the best book about C i ever read was Kernighan, B. W., Ritchie, D. M.:C Programming Language
as for c++ i used mostly online manuals and tutorials
I work best with a hands-on goal in mind; therefore, I learn best when I set a somewhat arbitrary objective (e.g. create a binary tree,) then research everything incidental to creating it. Usually one thing leads to another and I find that I've learned much more than was required to reach my original goal.
ta0kira
Firstly, you'd better choose between C and C++, as they're totally different.
Then if you choose C:
-For sure the bible is K&R as pointed by millgates, be sure to take the last edition.
-"Expert C programming" (Van der Linden): really interesting and fun to read.
-"Safer C" (Les Hatton): after having reading this one, you won't ever do anything else than C, (and you'll be right), take a look to his web-site too, many interesting papers.
-"Object Oriented Programming in ANSI C" (http://www.planetpdf.com/codecuts/pdfs/ooc.pdf), after this one, you'll ask yourself why is there any other languages for serious programming...
OK, I'm a little familiar with C/C++. I've looked into the IDE's and the gcc compilers, but I must admit I'm not going to program professionally, and don't want to dedicate half my day for the next so many months getting back up to speed.
So, the question is, is there a book (I'm nostalgic) that covers the languages so that I can re-familiarize myself with the intricacies of these languages.
Nothing ground-breaking, or monetary, mind you. I just do it as a hobby.
Best way to enchance knowledge is to do few projects in those languages.
You forget 90% of what you read in the book unless you apply this knowledge to some interesting problem.
Firstly, you'd better choose between C and C++, as they're totally different.
Then if you choose C:
-For sure the bible is K&R as pointed by millgates, be sure to take the last edition.
-"Expert C programming" (Van der Linden): really interesting and fun to read.
-"Safer C" (Les Hatton): after having reading this one, you won't ever do anything else than C, (and you'll be right), take a look to his web-site too, many interesting papers.
-"Object Oriented Programming in ANSI C" (http://www.planetpdf.com/codecuts/pdfs/ooc.pdf), after this one, you'll ask yourself why is there any other languages for serious programming...
As stated, I've programmed a little. Know the main difference is classes in C++, and lower-level function handling of C.
C is great for addition to Assembly, which I also know. It can handle all of the data flow, and fangled user interface; whereas your assembly program can chug away at whatever bus level operations you are conducting.
Best way to enchance knowledge is to do few projects in those languages.
You forgot 90% of what you read in the book unless you apply this knowledge to some interesting problem.
My main concern is relearning data handlers and function types. As, since I trained myself in these languages, we've made a slight jump to 64-bit computing. And, the addressable memory space has increased somewhat. From around 2GB, on out to 16GB on a std. desktop.
And graphical elements. I might as well start over. Function calls when I was programming consisted of programming your own virtual machine to utilize standard libraries. Try that these days!. Heck, the GPU on a good video card is more powerful than the Pentium II @ 850MHz I was programming on.
If you're going to use C++ I may suggest you to also learn some theory of Object Oriented Programming.
Sometimes it's confusing to start seeing concepts such as "class", "object", "instance" when you're done learning the syntax of C++. And Classes and Objects are the "improvement" of C++ over C.
C++ Primer Plus by Prata is a really good book, the fourth or fifth edition. The explanation of the concepts are really clear and the book has a lot of sample code. If you're just reviewing maybe only online sites and examples will help, but the creator of C++ recommends that you be familiar with the concepts: "You'll need a textbook for learning C++. This is the case even when your implementation comes with ample on-line documentation. The reason is that language and library documentation together with sample code are not good teachers of concepts. Typically such sources are silent about why things are the way they are and what benefits you can expect (and which you shouldn't expect) from a technique. Focus on concepts and techniques rather than language-technical details." http://www.research.att.com/~bs/bs_f...l#how-to-start
There is another "Primer" that's just called "C++ Primer" (no plus). It's also a good book although a bit more complicated, and the editions before the fourth are nearly unreadable.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.