PDA

View Full Version : Trying to make a decision between two books...



cprofitt
February 19th, 2008, 01:51 AM
I am trying to narrow down my decision between two books, but have not been able to find one of them so I am hoping some of you may have the one I can not find.

First some background.

I have programmed in Fortran, BASIC (way back in the 70s/80s), VB.Net and C#; C# is my most recent language. I am going to be moving forward with Python and C and want to get a good C book or so.

The first one I am looking at is C in a Nutshell (http://www.amazon.com/gp/product/0596006977/ref=wl_it_dp?ie=UTF8&coliid=I29YUF95K3ZDHA&colid=Y39GROA8PE44)(for the quick reference style I prefer after learning) the second one is C Programming Language (http://www.amazon.com/gp/product/0131103628/ref=wl_it_dp?ie=UTF8&coliid=I2I9V1SPDRDGMA&colid=Y39GROA8PE44) (the famous K&R book) which I worry about perhaps not being a good beginner book and the final book is C Primer Plus (http://www.amazon.com/gp/product/0672326965/ref=cm_cr_pr_product_top) which appears to be a good beginners book (this is the one I can not find locally to leaf through).

I am really looking for advice on the last one, but if people were to tell me the K&R book was not too difficult for people new to C I would probably lean toward that book.

(note to the naysayers: I understand none of you can make my decision for me and am just looking for people who have either of the last two books to weigh in with their personal experience with the books)

Thanks for any feedback you have on the two books.

Zwack
February 19th, 2008, 01:55 AM
I have the K&R book, and I will buy it again (my current copy is a few thousand miles away)... I have no experience of the first or third books.

I'm not sure that I would suggest K&R for a complete novice, but it's definitely one worth having. I also have a Quick reference that I use from time to time...so I can see the advantage to the first one too.

Not too helpful I'm afraid...

Z.

ruy_lopez
February 19th, 2008, 02:29 AM
I can vouch for K&R. I learned C using K&R with little or no experience of programming beforehand. It doesn't prepare you for writing defensive code. That's about the only thing I can say against it.

I haven't heard of the other one, though. So I can't help with a comparison.

JimKurth
February 19th, 2008, 02:49 AM
I've bought many many books on C and C++ and yet I still can't learn it because a lot of code is always missing from the text and it's confusing if you're new to it. I have Tricks of the Game Programming Guru's 2, The C++ Bible, Teach Yourself C++ in 24 days, The C Primer (old 80's book), and I used to have an old 80's OOP book which I no longer have. All of these have great coding tutorials but I feel you need to understand the language in order to grasp the code because they throw it at you, telling you this does this and that does that.

I feel the best way to learn it is to save the money, pay a C++ programmer to teach you. These books claim that you need little or no knowledge of programming to understand it and it's true. You'll understand the first chapter, but afterwards is a different story for a lot of programming books.

I was taught BASIC in school and my teacher KNEW how to teach it. First we started off with the Hello World example, then we built up from ground-up. Programs with multiple lines, then program loops, then condition statements, then math functions, etc. The books on the shelves these days have 2 purposes:
1) To grab the people who need to learn a new language.
2) Give them the code necessary to make a 3D game, be it 1st person shooter, or a 3D Real Time Strategy game (Warcraft III). You don't see books about other game types because these are the most popular.

But the truth is (not trying to be negative about it) only advanced programmers should be learning how to build 3D games and the books should convey HOW to make a game, not just throw the code in their face (I use their because I'm not an advanced programmer). Besides, graphics should come MUCH, MUCH LATER and not just a couple text-based programs with loops and conditions and then 2D or 3D Vector math.

Well, that's my 2 cents. I hope you pick up on C/C++ better than me.


-Jim

cprofitt
February 19th, 2008, 03:31 AM
I will not be doing any 3D programming of any sort... that is just not my style. I am more of a business app / database person.

JimKurth
February 19th, 2008, 03:34 AM
I will not be doing any 3D programming of any sort... that is just not my style. I am more of a business app / database person.

Have you tried MSDN tutorials on C? They have a great set of tutorials that are geared towards Windows App building and learning C without all the game-oriented curves. Plus, it's free.

cprofitt
February 19th, 2008, 04:14 AM
I didn't thik that MSDN (Microsoft Developers Network) had C references, but I see that I am wrong... I still worry about MS only things being scattered in there, but it is worth a look.

Thanks.

kostkon
February 19th, 2008, 04:44 AM
I learned C using C Programming - A Modern Approach by K. N. King; a definitely good book (for beginners).

LaRoza
February 19th, 2008, 05:50 AM
Get K&R and learn the basics online for free.

lnostdal
February 19th, 2008, 06:53 AM
K&R is good, and it is the book I learnt C from.

I haven't read "C in a Nutshell" but it looks good and suitable for the Linux environment (GCC, GDB, etc. http://books.google.no/books?id=svQJ7itfcGUC ).

..as a reference for the C library (not language) I prefer to use man-pages:



man -k printf
man 3 snprintf
...

pedro_orange
February 19th, 2008, 10:26 AM
I have K&R, mainly cause it was all the rage back in the day.
If you can already program and just need something to learn the language, it's good. It'll give you a good basis to work upon.

My workmate has C in a Nutshall, he said it was alright. But then hes not very talkative!

cprofitt
February 19th, 2008, 08:11 PM
My workmate has C in a Nutshall, he said it was alright. But then hes not very talkative!

Sounds like a personal problem more than advice on the book... or are you saying the book made him that way?

:)