View Full Version : Recomend a good Java programming book
jamescox84
August 22nd, 2009, 07:48 PM
Hi I was wondering if anyone could recommend a good Java programming book. I wish to buy one for a friend who will be leaving our place of work soon. Something he has expressed an interest in is programming, particularly computer games. He has however never looked at any programming language before. I recommended Java on the grounds that there are good integrated tools for it (NetBeans) and out of the box you can do simple Graphics and Audio programming, also I think it will put him in good-sted for tackling C++, from a OOP/Syntax point-of-view. However I never learnt Java from a book, I've picked it up from bit's and bob's from the web.
If anyone chose Java as there first language, and learnt it from a book, please throw in your two pence.
mcweaver1
August 22nd, 2009, 08:27 PM
I'm a fan of Big Java by Cay Hortsmann (http://www.horstmann.com/bigjava.html) - its a very hefty book but excellently presented and everything is clearly explained. It doesn't focus on any specific area of programming but covers everything in more than enough detail for a beginner to pick up the basics and more without being too intimidating...
mehaga
August 22nd, 2009, 08:40 PM
For game programming in Java: http://www.amazon.com/Killer-Game-Programming-Java-ebook/dp/B0028N4WDS/ref=sr_1_2?ie=UTF8&s=books&qid=1250969765&sr=8-2
For any book, I'd recommend going to Amazon, search and pick the book with best rating. Never failed me so far.
As a general advice, don't learn Java as your first language, you'll be wasting valuable time. IMHO, Javascript is an excellent choice for a first language. You can switch to Java in a month or two, just don't start with Java. I could elaborate on this, but that has already been discussed many times before :)
Mirge
August 22nd, 2009, 08:44 PM
For game programming in Java: http://www.amazon.com/Killer-Game-Programming-Java-ebook/dp/B0028N4WDS/ref=sr_1_2?ie=UTF8&s=books&qid=1250969765&sr=8-2
For any book, I'd recommend going to Amazon, search and pick the book with best rating. Never failed me so far.
As a general advice, don't learn Java as your first language, you'll be wasting valuable time. IMHO, Javascript is an excellent choice for a first language. You can switch to Java in a month or two, just don't start with Java. I could elaborate on this, but that has already been discussed many times before :)
Interesting... what makes Javascript a good first language? Just curious.
apmcd47
August 22nd, 2009, 08:48 PM
Bruce Eckel's Thinking in Java (http://www.mindview.net/Books/TIJ/). You can download the third edition in PDF format. If you buy the latest edition (this was certainly true for the 2nd edition) you will get a CD with "Thinking in C" and "Thinking in C++" on it, and probably the source code for the examples as well.
Andrew
mehaga
August 22nd, 2009, 08:54 PM
Well, when you learn your first programming language, you get introduced to lot of stuff you've probably never heard before. Variables, loops, functions, classes... If you add to that tools and procedures that are necessary or commonly recommended for Java programming, like compiling and associated tools, IDEs, etc, you are making the task of introduction to programming even more difficult than it already is.
With Javascript, you do your coding in an editor, execute it in a browser...
You still get to learn about variable types, scopes, loops, functions etc.
No new tools to learn about, no complex compilation procedures and complex programming constructs, which you really don't need as a beginner.
Once you've learned the basics, you take your knowledge to Java, almost nothing will change there. Except some deeper knowledge of the stuff you already know, but now you're prepared to learn it...
I hope I made my opinion clear. If not, I'll try again :)
Jimleko211
August 22nd, 2009, 09:50 PM
Well, when you learn your first programming language, you get introduced to lot of stuff you've probably never heard before. Variables, loops, functions, classes... If you add to that tools and procedures that are necessary or commonly recommended for Java programming, like compiling and associated tools, IDEs, etc, you are making the task of introduction to programming even more difficult than it already is.
With Javascript, you do your coding in an editor, execute it in a browser...
You still get to learn about variable types, scopes, loops, functions etc.
No new tools to learn about, no complex compilation procedures and complex programming constructs, which you really don't need as a beginner.
Once you've learned the basics, you take your knowledge to Java, almost nothing will change there. Except some deeper knowledge of the stuff you already know, but now you're prepared to learn it...
I hope I made my opinion clear. If not, I'll try again :)
On the contrary, I find that Java as a first language to be spectacular. My first language was C++, and that was hell...but I took a class in Java during freshman year of High School, and the teacher explained it all so well. My friends, who went in as total noobs to programming, became as good as me (and some even better) at the end of the course. Learning about IDE's and compiling are essential, especially since an IDE is there to make the programming easier for you.
mehaga
August 22nd, 2009, 09:58 PM
I also started with c/c++, moved to java... Anyhow, I wish you and your friend make the best choice. My suggestion for a starting book remains the same :)
Mirge
August 23rd, 2009, 04:02 AM
Well, when you learn your first programming language, you get introduced to lot of stuff you've probably never heard before. Variables, loops, functions, classes... If you add to that tools and procedures that are necessary or commonly recommended for Java programming, like compiling and associated tools, IDEs, etc, you are making the task of introduction to programming even more difficult than it already is.
With Javascript, you do your coding in an editor, execute it in a browser...
You still get to learn about variable types, scopes, loops, functions etc.
No new tools to learn about, no complex compilation procedures and complex programming constructs, which you really don't need as a beginner.
Once you've learned the basics, you take your knowledge to Java, almost nothing will change there. Except some deeper knowledge of the stuff you already know, but now you're prepared to learn it...
I hope I made my opinion clear. If not, I'll try again :)
Gotcha. I wasn't going into it to start a language war or anything, was just curious as I"ve never really ran into anybody recommending javascript as a first language. I personally wouldn't, but that's just me :).
jamescox84
August 23rd, 2009, 07:07 PM
Yes, I think JavaScript in HTML is actually quite a nice start into the world of programming. But I believe the way Java programs are written will be more transferable to other languages than the JavaScript. I think JavaScript leads more directly to functional style programming languages like Lisp, Scheme and Haskell rather than it does OOP style languages C++, SmallTalk, Ruby etc. Considering who I would be buying this book for would like to eventualy start making games, I believe the OOP way is probably more piratical/logical for games (no disrespect to functional programming).
Thanks for the suggestions:
Killer Game Programming - Might be jumping in a the deep end.
Big Java - I've read mixed reviews about this book, remember this is for someone who has never written a single line of code. Would this be suitable for this kind of reader.
Thinking in Java - I have come across this book in the past. I believe it is well written, but might be a little boring.
But maybe I'm being too picky programming is a vast subject and there is a lot of ground that must be covered before you can expect to write anything really interesting. That been said, please keep the suggestions coming. To be honest I think "Thinking in Java" is in the lead.
mehaga
August 23rd, 2009, 07:21 PM
Thanks for the suggestions:
Killer Game Programming - Might be jumping in a the deep end.
Big Java - I've read mixed reviews about this book, remember this is for someone who has never written a single line of code. Would this be suitable for this kind of reader.
Thinking in Java - I have come across this book in the past. I believe it is well written, but might be a little boring.
But maybe I'm being too picky programming is a vast subject and there is a lot of ground that must be covered before you can expect to write anything really interesting. That been said, please keep the suggestions coming. To be honest I think "Thinking in Java" is in the lead.
ok, if you don't want to go straight into game programming, this is what you're looking for:
http://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208/ref=sr_1_1?ie=UTF8&s=books&qid=1251051474&sr=8-1
Although I've read and liked almost everything by Bruce Eckel, Thinking in Java is just to dry and boring for a first book.
jamescox84
August 23rd, 2009, 07:25 PM
Squeak: Learn Programming with Robots (http://www.amazon.com/Squeak-Programming-Robots-Technology-Action/dp/1590594916/ref=sr_1_31?ie=UTF8&s=books&qid=1251051103&sr=1-31) anyone ever read this book, look quite interesting. I know it's Smalltalk, but the approach seems friendly, visual and well thought out. Also Smalltalk is one of the languages you just have to try at some point.
Reiger
August 23rd, 2009, 07:31 PM
Quite. JavaScript really has that "Functional Flavour" where your best code ends up being about chaining together closures/functions and using a whole different can of type conventions from your garden variety C/C++/Java.
For a beginner, I think, you should either use a more explicit language like Haskell which is very sure of what it wants to be and how it wants to be that; or a whole different kind of language like Python (which is reasonably firmly planted in the imperative family). A hybride like JavaScript will probably be too much about black magic and too little about understanding what you are doing (especially because the language does not provide a clean mechanism for imports on the JavaScript level, which leads to hacks that merely serve to confuse a beginner...).
bender1234
August 23rd, 2009, 08:48 PM
Hi I was wondering if anyone could recommend a good Java programming book. I wish to buy one for a friend who will be leaving our place of work soon. Something he has expressed an interest in is programming, particularly computer games. He has however never looked at any programming language before. I recommended Java on the grounds that there are good integrated tools for it (NetBeans) and out of the box you can do simple Graphics and Audio programming, also I think it will put him in good-sted for tackling C++, from a OOP/Syntax point-of-view. However I never learnt Java from a book, I've picked it up from bit's and bob's from the web.
If anyone chose Java as there first language, and learnt it from a book, please throw in your two pence.
Used Deitel's 6th edition Java How To Program, at the uni. Don't really know how good it was, because I haven't read any other java books. Hardly used the book at all to be honest, used sun and as you bits and pieces of the internet. If the guy is interested in gameprogramming I'd rather get him a dx, opengl or some c++ book directly. Object-Oriented Programming in C++ from Robert Lafore covers most of c++ I think, which I also had to buy ad the uni, but have hardly used either. (Think the book only covers consoll c++, no gui stuff or anything).
Though they make some cellphone games in java, C/C++ is the way to go. Managed code is hopeless for more intensive stuff like games. If he gets more into that I can recomend the GPUGems and shaderx series(got them all I think ^^), but for those books you need to know basic dx or opengl and c++ first. There is prolly some good basic gl/dx books out there.
cheers,
bender
Frak
August 23rd, 2009, 09:30 PM
Interesting... what makes Javascript a good first language? Just curious.
I consider it a full blown language. ECMAscript can do just about anything other languages can do. Besides that, it shares similiarities to languages such as Actionscript, and can be a good first step to learning AS3 and Flex.
ddrichardson
August 23rd, 2009, 09:38 PM
Schildt's Java - a beginner's guide (http://www.amazon.co.uk/Java-Beginners-Guide-4th-Ed/dp/0072263849/ref=sr_1_1?ie=UTF8&s=books&qid=1251059846&sr=8-1).
Mirge
August 23rd, 2009, 10:42 PM
I consider it a full blown language. ECMAscript can do just about anything other languages can do. Besides that, it shares similiarities to languages such as Actionscript, and can be a good first step to learning AS3 and Flex.
Javascript can't do just about anything other languages can do... unless you mean other web-based scripting languages.
Frak
August 24th, 2009, 03:18 AM
Javascript can't do just about anything other languages can do... unless you mean other web-based scripting languages.
Yeah, what did you think I meant?
Mirge
August 24th, 2009, 03:34 AM
Yeah, what did you think I meant?
What you meant & what you wrote are 2 different things :). Some people who read these boards don't know what you implied vs what you actually wrote.
Frak
August 24th, 2009, 03:52 AM
What you meant & what you wrote are 2 different things :). Some people who read these boards don't know what you implied vs what you actually wrote.
Some people who read these boards also think that all Javascript can do is make annoying rick-roll pop-up boxes and cool moving stuff :)
ksprasad
August 24th, 2009, 04:21 AM
This book is also interesting http://www.amazon.com/Java-2-Complete-Reference-Fifth/dp/0072224207
JAVA2 Complete Reference, written by herbert schildt.
kpkeerthi
August 24th, 2009, 07:50 AM
Get a copy of Head First Java
jamescox84
August 24th, 2009, 12:45 PM
I think I'm going to buy Head First Java. Two reasons; first, many positive reviews on amazon, and after flicking through the first few pages, I think this is targeted at just the right level. Second, I remember a student at the school I work at waxing lyrical about Head First JavaScript.
The book covers the basics, then moves on to GUI/Graphics, Serialization, Networking, and Java RMI (something I've only ever played with).
Thanks for all your advise everybody.
Mirge
August 24th, 2009, 02:27 PM
Some people who read these boards also think that all Javascript can do is make annoying rick-roll pop-up boxes and cool moving stuff :)
Preaching to the choir... I use JS daily, mostly using the jQuery library as I find it fantastic.
Frak
August 24th, 2009, 09:28 PM
Preaching to the choir... I use JS daily, mostly using the jQuery library as I find it fantastic.
Exactly the same. I usually use a trio of jQuery, Mootools, and Prototype. Absolutely love 'em.
SOULRiDER
August 25th, 2009, 01:32 AM
I really liked Head First Java.
mehaga
August 25th, 2009, 03:09 AM
I think I'm going to buy Head First Java. Two reasons; first, many positive reviews on amazon, and after flicking through the first few pages, I think this is targeted at just the right level. Second, I remember a student at the school I work at waxing lyrical about Head First JavaScript.
The book covers the basics, then moves on to GUI/Graphics, Serialization, Networking, and Java RMI (something I've only ever played with).
Thanks for all your advise everybody.
I recommended it first, I want an ice cream :p
HotCupOfJava
August 25th, 2009, 05:26 AM
I have to cast another vote for Cay Horstmann - he has a knack for explaining Java. I own Core Java volumes I and II, and I have yet to find better references for any aspect of the language.....
jamescox84
August 26th, 2009, 09:28 AM
Thanks for the recomendation, just received the Head First book today. Had a flick through, I think it will be perfect! Again many thanks!
kpkeerthi
August 26th, 2009, 09:48 AM
Not just Java, Head First series are the best as a beginner material for any topic, IMO.
SinCityBlues
August 28th, 2009, 02:34 AM
I don't know of any books because I took Java my Senior year in High School, it was my first programming language, well, the first was basic HTML, then CSS, THEN Java, I failed it my first time through, but that was only because I had just grasped the concept of how it all really worked. I would recommend if you don't know how well that person would that you get something lower level such as Perl, Java Script, or if still using Windblows, Visual Basic/J++ just to get used to how code works
Frak
August 28th, 2009, 03:27 AM
Whoever suggested the Head First series:
+1000 THANKS
That book (C# is the one I bought) had filled in SO MANY missing gaps for me.
mehaga
August 29th, 2009, 08:30 PM
I suggest you read "Head First Design Patterns" next ;)
Powered by vBulletin® Version 4.2.2 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.