Web Development

General discussion


Your Advice

By john.templeton2004 ·
Hi Guys,

I am interested in learning Java and i would appreciate your advice on the best way to learn Java?

Kind Regards


This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Comments

Collapse -

Learning Java

by kelvin lin In reply to Your Advice

You have three choices -

1. Enroll in a basic Java course or get a personal tutor to teach u Java.

2. Read some books for beginners lik Java for Dummies, Teach yourself Java in 24 hours and so on.

3. Last one is the most affordable way, just google around for the Java tutorials and download simple Java sourcecodes and try to learn & understanding how they work.

Collapse -

Get a FUZZY idea first!

by kumar.siva In reply to Learning Java

Try a small worked example first without trying to understand anything. Getting a FUZZY idea first is one way of getting introduced to a new topic. See how it works and then plan your systematic approach to learn. Browse the web for a good example. Java Applets also help to maintain interest in Java.

Collapse -

Use RoboCode

by pez In reply to Learning Java

Originally released by IBM as an eductaion tool for learning programming in general and Java in particular, Robocode is now open source: http://robocode.sourceforge.net/

It's an excellent Java learning environment. The tast is easy to define and it is fun! We run a WikiWiki trying to collect and share Robocode knowledge. RoboWiki, http://robowiki.net/ It's a bit unorganized, but use the search engine and the fact that you can ask questions easily on the wiki to find vast amounts of Robocode info.

Collapse -


by robaii In reply to Learning Java

There is a method of self study and it is not hard if you look in the right place. Go to www.course.com.Find a book with student downloads that will also give you practical experience as you read.I recommend Java Programming by Farrell.

Collapse -

Thinking in Java

by WLLMNF In reply to Learning Java

I would recommend Bruce Eckel's "Thinking in Java". It's written very well and everything is explained in detail. Another advantage is that the book starts with a thorough foundation before moving to GUIs.
You can even download the book from www.bruceeckel.com.

Collapse -

One book can't give good knowledge of Java

by vijay.nama In reply to Thinking in Java

Yes, one should not stick to one book.
As there are many void spread topics in Java one should go through some number of books.
O'Rielly books on pirticular topics can give sound knowledge of over all Java.
It's good to follow documentations

Collapse -

Worked For Me Also!

by JohnnySacks In reply to Thinking in Java

Excellent foundation and principles. I've seen others and am eternally grateful to have found 'Thinking In Java' first. The on-line version was included in (I think) Sybase Power-J (wow, that goes back a ways!)

Collapse -

Build a strong foundation

by jashburn In reply to Learning Java

I would break it into two parts that should be learned in parallel:

1. Java language (syntax, API, etc.)
2. *True* Object-oriented programming (OOP) and object-oriented design (OOD)

My main problem with just attending a course or picking up a Java book to learn it is they usually don't teach you proper OOP and OOD. E.g., what good is it to understand Java inheritance without knowing how to properly use it (based on my bitter experience with maintaining code with an inheritance tree from ****, etc.).

Hence, I'd suggest you do the following:

1. Start by reading up a tutorial or an introductory book (Sun's Java Tutorial, http://java.sun.com/docs/books/tutorial/ , is a good start.)

2. Once you're comfortable with the Java syntax (but not necessarily be very familiar with the Java APIs), pick up a design-oriented book such as Craig Larman's "Applying UML and Patterns" while continuing with above tutorial/book.

2a. You should also start reading up on design principles such as the The Open-Closed Principle and The Liskov Substitution Principle, which embody good OOD practices on a small scale.

3. Once you have a good grasp of the Java language and OOD, you can move on to design patterns such as the Gang of Four's patterns (Strategy Pattern, Command Pattern, etc.), which teach you good OOD on a larger scale.

Learning Java APIs such as the Collections, Swing, Applets, etc., is a continuing thing as you can always look up the Java API Specs whenever you need to use them. Once you have a good OOD foundation, you'll really appreciate the APIs are designed, and even spot the implementation of design patterns there (e.g., the Decorator pattern in the I/O streams API).


Collapse -


by jashburn In reply to Build a strong foundation

Remember, learning Java is hands-on!

Collapse -

In Addition to Building a Strong Foundation

by nicruzer In reply to Build a strong foundation

I strongly agree with jashburn's post, "Build a Strong Foundation."

I would tack on the need for practical experience. Many of the books/tuturials encourage you to write out the sample code given and test it yourself. They also provide sources from which you can cut/paste the code to bypass "all that typing." However, I have found that actually typing out all of the source code is a good way to solidify learning syntax. If you miss a terminating semicolon or brackets around a group of statements inside an "if" block, the code may compile or run improperly. This forces you to analyze what you may have done wrongly. You can then use the packaged source code to run a compare against what you've written to help you discover what you may have incorrectly typed. This discovery is essential to solidifying your learning experience. When everything works properly, begin to experiment with the existing code. Change one thing at a time and test it out to see if it delivers the expected results. Once you're comfortable with what you've learned, design and build your own system based on the the material you've just processed.

Also, if you approach your learning in small bites, you will remember more things. Unless you're in a groove and really focused, I recommend intentionally limiting your learning intervals to 10-15 minutes at a time. Take a break (get up for a drink of water or something) and come back to it for another chunk of time. Your ability to remember more details increases dramatically with this approach.

Related Discussions

Related Forums