PDA

View Full Version : Books to Start with



osiris2258
November 16th, 2007, 03:27 AM
I am looking to study up on C, C++, Fortran,and Java. (I am in physics, so Fortran is still alive and kicking in my field:biggrin:).

Can anyone recommend good books? I am currently taking a class on C but I have never worked with any Object Oriented Programing languages. I'm working from K&R and 'Programming in C' by Kochan (not the official texts of the course, but that one sucks).

LaRoza
November 16th, 2007, 03:30 AM
My wiki (in my sig) and look in the stickies.

I am a Fortran fan also, so it is in my wiki.

slavik
November 16th, 2007, 04:10 AM
For C, I doubt anyone could/would argue against the K&R book :)

As for others, one thing I can say is get something that is a good reference.

pmasiar
November 16th, 2007, 04:37 AM
I **would** argue agains K&R as book for **beginners** - it is well knows and repeatedly mentioned it is NOT good book for a beginner C programmer. Check for yourself, just read author's intro.

LaRoza
November 16th, 2007, 04:39 AM
I **would** argue agains K&R as book for **beginners** - it is well knows and repeatedly mentioned it is NOT good book for a beginner C programmer. Check for yourself, just read author's intro.

The OP is having a class in C, so K&R will be useful soon. I still want a copy..need money. I do read it in the book store, but am afraid to spend too much time on it:

pmasiar
November 16th, 2007, 05:04 AM
Yes, but there are good books dedicated to C beginners, I am sure (I don't follow C world anymore) - and K&R book is it not. Surely it is excellent book (I loved it years ago), but not for beginners.

Suggesting K&R book is typical elitism, sometimes found also in this forum, sadly: "if you are not smart enough to like book I, as expert, liked, you are not worth my time".

LaRoza
November 16th, 2007, 05:17 AM
Yes, but there are good books dedicated to C beginners, I am sure (I don't follow C world anymore) - and K&R book is it not. Surely it is excellent book (I loved it years ago), but not for beginners.

Suggesting K&R book is typical elitism, sometimes found also in this forum, sadly: "if you are not smart enough to like book I, as expert, liked, you are not worth my time".

A beginner shouldn't be doing C, in my opinion, until the basics are learned with a more...never mind.

K&R might be more useful to programmer who already knows a language.

osiris2258
November 16th, 2007, 05:19 AM
I would agree that K&R is dense (I spent several days trying to figure out exactly how the polish calculator program worked, then made a more understandable one), that is why I got 'Programming in C', which according to some of my friends is the best C book ever to learn from. I'm liking it so far, though he does a couple weird things, like spending the entire chapter on functions writing them above main, and not introducing char strings until chapter 14, after structs. Also, the book is strictly C99; he does things like declaring function prototypes inside other functions and initializing inside For and while declarations.

pmasiar
November 16th, 2007, 05:46 AM
A beginner shouldn't be doing C, in my opinion, until the basics are learned with a more...

I 100% agree with you, I read somewhere about high school teacher who was able to cover more "territory" in a year if he introduced students into programming by 3 months of Python: after that, he can cover more C in remaining 7 months than in full 10 months of C-only course.

But OP will be probably not interested, and not inclined to believe, so why bother?

pmasiar
November 16th, 2007, 05:49 AM
I would agree that K&R is dense

It is not dense. It is just aimed for different audience: experienced programmers, who know what variable, function, loop, argument, variable scope etc are, and just need to know how C uses these concepts, skipping fluff explaining trivial intro details.

Beginner, who does not have understanding of these concepts, has hard time (because they are not explained, just used) and slim chance to get it.

So if you were able to get it, even with some struggle, it means you are pretty good and aspiring hacker. :-)

KentS
November 16th, 2007, 10:41 AM
I like "C Primer Plus" and "C++ Primer Plus" by Stephen Prata. They are quite long, but he explains all the basics in a way that I think should be easily understandable for beginners.

osiris2258
November 16th, 2007, 03:15 PM
Alright, I guess those cover me for C and C++.
Any good books for Java or Fortran? I have heard horrible things about Java Primer Plus Plus, so I probably don't want to go there.

pmasiar
November 16th, 2007, 03:25 PM
Best book for java are: 1) "Head first java" - and buy couple other "head first" books, they have discount: "HF OO design", "HF Design patterns" are good.

2) Then buy "Thinking in Java" by Bruce Eckel (see wikipedia), which is **advanced** book explaining not how java works, but **why** and what are the consequences. Same author, "Thinking in C++" as advanced book. Bruce has also screen-cast course of C on his website as free download, you might want to try it.

iharrold
November 16th, 2007, 04:16 PM
I am partial to this C++ book, "The C++ Programming Language: 3rd Edition" by Bjarne Stroustrup

http://www.research.att.com/~bs/3rd.html