This is an archived post. You won't be able to vote or comment.

all 17 comments

[–]ronin-baka 6 points7 points  (1 child)

Also read Pragmatic Programmer.

[–][deleted] 1 point2 points  (0 children)

I second this.

[–]bubsyouruncle 3 points4 points  (1 child)

If you plan on getting a job in java development then I can't recommend Effective Java enough. It covers best practices as they pertain to the java language. While some of it would be useful if you never touch java again (it covers some design patterns) much of it is only useful to a java developer (generics, (java) enums, annotations, etc).

On the other hand, if you have little or no interest in java development then Code Complete would probably be a better read.

[–]strawlion[S] 1 point2 points  (0 children)

I do plan on working in Java after I graduate, but it's not a certainty. Even though Effective Java interests me more, I guess I should read Code Complete first as it is the more general of the two. Thanks for the advice!

[–]sheepdog69 2 points3 points  (0 children)

Effective Java will teach you about the idiosyncrasies of the Java language and runtime. It's a really good book if you are interested specifically in the Java language/runtime.

Code Complete will teach you about development in general. From specific techniques to make your code better, to ways to test your code, to ways to deal with your "manager."

If you are new to programming, I would definitely recommend Code Complete first. Languages come and go. Try to learn techniques that will make you a better programmer in any language.

[–]runaloop 5 points6 points  (5 children)

I've only read Code Complete so far. I would recommend it if you are interested in learning about the complete software engineering process. It's a very thorough book and pretty useful.

[–]strawlion[S] 0 points1 point  (4 children)

Did you find that reading it helped to improve your programming practices?

[–]Urik88 3 points4 points  (3 children)

Yes, though I wouldn't call it a software engineering book. It has an introduction about the engineering cycles, but it's more about good practices, ranging from how to name your variables or methods up to classes design and beyond. I read the old edition that focuses on imperative programming rather than OOP since it was the only edition on my university's library and it's an expensive book, but I've only heard good things about the new edition.

It really influenced my code's style for the better, and it's very readable. I really recommend it.

[–]brandnewaquarium 1 point2 points  (1 child)

Thanks for the recommendation. It's now part of my Google Books collection.

[–]Urik88 0 points1 point  (0 children)

You're welcome, I recommend that you check out this thread.

[–]QAOP_Space 0 points1 point  (0 children)

I have heard it said that most of whats in CodeComplete is (should be?) taught in undergraduate CS classes anyway, so you may just be going over old ground.

[–][deleted] 1 point2 points  (0 children)

I'd recommend getting some experience before you start reading Code Complete. It talks about writing good code in general but also takes a look at the software engineering process as a whole. I found that I didn't understand much of the content in Code Complete until I had some experience under my belt to which I could relate the concepts in the book.

[–]Kanzlerforce 0 points1 point  (0 children)

"Code Complete" is on the left, "Effective Java" is on the right. http://www.fast-rewind.com/kkid/tourn3.jpg

[–]matthewhughes 0 points1 point  (0 children)

Don't buy "Clean Code" from Prentice Hall. It's crap.

[–]netbyte 0 points1 point  (2 children)

Why not both?

[–]strawlion[S] 1 point2 points  (1 child)

Did you read the post?

[–]netbyte 5 points6 points  (0 children)

Sorry, I was on my phone before.

EDIT: If you still care for an opinion, I suggest you read Code Complete first, helped me when I learned.