Jump to content

Learning Java on your own - book recommendations.....?


Guest FenestraeNunquam
 Share

Recommended Posts

Guest FenestraeNunquam

For my IT degree I am getting, there is only one Java class (an elective) - however the prerequisites are Intro to C++ and Intermediate C++ Programming.

 

I want to learn Java, but I don't really want to learn C++ at this time. The 2 C++ programming courses are also electives. I think for my 4 electives I am going to choose a couple of Web Design classes (or Web Programming), and JavaScript, and ASP.

 

Anyway, I thought I would buy a book on my own and learn Java on my own time. One book I was browsing through at a bookstore was Deitel's Java - How To Program, 5th Ed. It was damn big (and also damn expensive)

 

While on amazon.com reading peoples reviews about the Deitel book, I see that some love it, and some don't.

 

I also browsed through Murach's Beginning Java 2, which also seemed pretty good, and was alot cheaper.

 

anybody familiar with either?

 

PS: the last complete programs I wrote were in COBOL :) .... although I just finished an Intro to VB 6 course at my college.

Link to comment
Share on other sites

As a first step I'd recommend going through Sun's own tutorials. They offer a huge amount of documentation, tutorials and example code as html, which can download in a zip archive. It won't teach you everything but its a good place to start.

 

http://java.sun.com/docs/books/tutorial/

http://developers.sun.com/learning/

Link to comment
Share on other sites

The problem with learning Java is that you also have to learn Object-Oriented programming, this is probably why the two C++ courses are listed as prerequisites. I would recommend several different books thought

 

Beginning Java 2 by wrox - basic introduction into java

 

Computing Concepts with Java Essentials be Cay Horstman- This is the text book used at my university to teach Java and programming. The nice thing about it is that it teaches java, objects and classes, as well as programming fundamentals.

 

Thinking in Java by Bruce Eckel - this is probably one of two books that every java programmer should read. Bonus of this book is that entire text is online for free.

 

Core Java 2: Volume 1 Fundamentals by Cay Horstman - this is the other

Link to comment
Share on other sites

Guest FenestraeNunquam

fuzzylizard wrote:

Thinking in Java by Bruce Eckel - this is probably one of two books that every java programmer should read. Bonus of this book is that entire text is online for free. 

 

Actually, I think that is the textbook for the Java course at my college (that I don't want to take due to the C++ prerequisites). I remember my college mentioning that it is available online for free...

 

thanks for all the tips. I'll check out the Sun tutorials in a few days, and go to the Thinking in Java website to check out the freebie....

 

I'm not really familiar with any modern O-O programming. Most of my limited experiance was in the 80s & early 90s - mostly COBOL & RPG II.

 

One thing a buddy of mine mentioned (he's a senior I.T. manager at a huge company) is that he heard that if you learn Java, you need to use it frequently or you kind of forget what you know... does that make sense?

 

Since I'm an accountant all day, I won't be using it at work... :( ... but if I can practice it at home I guess I'll retain what I learn...

Link to comment
Share on other sites

One thing a buddy of mine mentioned (he's a senior I.T. manager at a huge company) is that he heard that if you learn Java, you need to use it frequently or you kind of forget what you know...  does that make sense?

 

Since I'm an accountant all day, I won't be using it at work...  :(  ... but if I can practice it at home I guess I'll retain what I learn...

 

But that goes for any programming language. if you don't use it, you will lose it. The two best ways to remember what you have learnt are (1) to practise and (2) to kep reading books. The first is only good to a point. If you only practise what you have learnt then the exersice is pretty much useless, however, if you read and continuely study, then the practise is very beneficial.

 

On a side note, if the two C++ courses teach Object-Oriented programming, I would strongly suggest taking them. I know, I know, you want to learn java. However, the leap from C++ to Java, once you understand OO (Object-Oriented) programming will be much smaller and I can not stress enough, you really need to learn OO in order to make the most out of Java.

 

Good Luck

Link to comment
Share on other sites

Guest FenestraeNunquam

Well, I suppose I could at least take Intro to C++ for one of my electives. I don't really want to burn up 2 out of 4 electives by using both C++ courses.

 

However, I notice that the Thinking In Java by Eckel is subtitled "An Introduction to the World of O-O Programming..."

 

I looked through the above book at Barnes & Noble, and found out it was a $50 book... :o , since its available free online I was thinking it was probably a small $20 book... :D . Guess I'll d/l it in a few days.

 

Is Java something someone can practice at home? I mean, is it only for websites, or do you use it on stand-alone machines, or what. My ISP lets me have a small webspace, and during my Intro to the Internet course, I learned a little HTML - and I ftp'd an index.html file out to my website just for practice... worked good!!! Will I be practicing Java by ftp'ing java code out to my website, or will I be running Java programs on my home machine only?

 

sorry for the dumb questions

Link to comment
Share on other sites

You almost certainly won't be able to run Java on your ISP's server - it usually costs quite a bit to host Java web apps.

 

You can, however, write desktop based applications in Java AND you can even write web applications and run them on your local machine if you download and install Tomcat jakarta.apache.org/tomcat

 

I would STRONGLY reccomend, however, that you do not even think about writing internet applications until you have a good grasp of basic Java.

 

The thing is - Java isn't really much good on the desktop because it's quite simply too slow (unless you havea reasonably fast machine and plenty of memory). BUT web applications (where Java really comes into it's own) are slightly more complicated to write because they involve multithreading, networking code (in Servlets - kind of) and JSPs (different syntax - more like HTML if used properly, but they're ultimately Java classes)

 

Learn basic Java and practice on your local machine until you can write simple classes and maybe even the odd GUI or two (although that's not crucial) and then download tomcat and start having a crack at web applications. DO NOT even think about EJBs until you are strong with all of the above.

 

I write this as someone who teaches Java professionally so I should (hopefully! :wink: ) no a little bit about what I'm talking about!

 

Edit: OO in Java and C++ are exactly the same (conceptually - not the actual code) so their may be some value in learning basic C++

 

Java is much easier to write however and ,arguably, as powerful

Link to comment
Share on other sites

Is Java something someone can practice at home?  I mean, is it only for websites, or do you use it on stand-alone machines, or what.  My ISP lets me have a small webspace, and during my Intro to the Internet course, I learned a little HTML - and I ftp'd an index.html file out to my website just for practice... worked good!!!  Will I be practicing Java by ftp'ing java code out to my website, or will I be running Java programs on my home machine only?

 

sorry for the dumb questions

 

Java is a complete programming language. This means you can create anything from java applets all the way up to stand alone gui applications. You will be running java programs from your computer at home. This means, though, that you will need to install the Java SDK onto your computer and not just the jre. The SDK includes the java compiler plus all the requried libraries and a lot of other things needed to create java programs.

 

And yes, java is something that can be practised at home.

 

Check out these links for programs that have been created in java:

 

http://www.jedit.org

http://www.netbeans.org/products/ide/screenshots.html

http://www.aquafold.com/

 

Just to show you what java can do.

Link to comment
Share on other sites

Guest FenestraeNunquam

thanks for all the recommendations.

 

I was at Barnes & Noble earlier and I read 15 or 20 introductory pages of Bruce Eckel's Thinking in Java. I agree with fuzzylizard - it seems like an excellent book - well written.

 

Since my programming experience is with old school languages such as COBOL, I never really knew what "object oriented" really meant. After reading Eckel's introductory material on what O-O is really about, I now understand what the difference is...

 

BTW - he doesn't think much of VB !! Ha, I was considering learning VB.net on my own, but now.... forget it !!!

 

I think I'm gonna just buy the Eckel's book (from amazon.com). It's $15 cheaper at amazon, and they have free shipping and no sales tax. I also think the Deitel book looks great, but I'll start with the Eckel's book and see what happens.

Link to comment
Share on other sites

BTW - he doesn't think much of VB !!  Ha, I was considering learning VB.net on my own, but now.... forget it !!!

 

im ashamed to admit that i once took a 3-month contractual job as a VB programmer. my only alibi is that i needed the money and have been out of work for 3 months already. its either that or i have to keep on asking my parents for pocket allowances.

 

vb is the evil that hounds the programming artform. i took the job without any VB programming practice, got the job done, and have been trying to forget that once in my life i succumbed to submitting shoddy VB code. :evil:

 

ciao!

Link to comment
Share on other sites

  • 2 weeks later...
Guest FenestraeNunquam

I contacted the Professor who teaches Java at my college, and told him I wanted to take Java without the C++ prerequisite. He said he would give me the permission.

 

He said there were some contrasts between Java & C++ during the course, but said he would help me with the C++.

 

Good deal.

 

Been reading the Eckels Thinking in Java introductory chapters over the last week. Definately a well-written book - thanks to fuzzylizard for recommending it.

Link to comment
Share on other sites

Guest FenestraeNunquam

still reading Eckel's Thinking In Java, learning all about O-O concepts and such (great book!)

 

I installed Java from Sun's site, along with the Netbeans IDE. I am used to writing COBOL programs with a DOS text editor, and compiling & running the programs from the DOS prompt. So this netbeans IDE looks kind of complex to me. Looks like I'll have to spend some time learning this IDE, before I get into java itself. At least I ran the "Hello, World" java program within the IDE :lol:

 

In the future, how do I run Java programs (outside of the IDE)? I mean, lets say that 6 months from now I have a little Java app that is working. If I want to run the program (on a win2k machine), can I click on an icon on my desktop, or do I go to the command prompt & run it from there, or do I click on some kind of executable file, or what? I know java is interpreted, and not actually compiled for each machine. Just wondering how you run finalized java programs...

Link to comment
Share on other sites

I would recommend not using a IDE while you are first getting into things as it just does too much for you and you learn less or more slowly.

 

When you do want to use an IDE - try eclipse. It's much simpler than netbeans, also free and IMHO nice to use - it's a lot less "bloated"

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...