As a programmer, team lead, corporate trainer, and manager – I have been very fortunate to witness beginners get excited about mastering concepts of programming, and specifically Java. It is so rewarding to see those light bulbs go off.
Recently I was asked about approaches to learn Java.
With learning anything new, my best advice is to check out different resources. Hearing the same information, in different ways, can help concepts sink in better. Plus, when you start to see the same topics over and over, you can ease your mind that it is not a never-ending list.
Read, Listen, Learn! But in all of these do the EXAMPLES!!!! Reading is one thing, but when you are faced with the blank screen, you need to have a process in place, and muscle memory of how to code!
Resources for Learning Java
Java IDE (Integrated Development Environments)
Yes, you can code Java from notepad, textpad. But who wants to be on the hunt for a missing semicolon? And how fast can you actually move from one file to another?
Some options:
SlickEdit. (I registered their product and won a travel mug, so there is still a special place in my heart).
Netbeans and Eclipse are two options, that come with tutorials, and code completion to help enhance your learning. Look for the downloads page for your operating system.
Java Websites:
Oracle / Java.
OOOOOOOh OOOOH! Java 7 Java Docs are out! http://download.oracle.com/javase/7/docs/api/
There are a LOT of resources on the now Oracle branded sites for Java.
When you really want to know how the Java Classes work, read the JavaDocs!
They also offer tutorials online.
An old favorite is the website www.JavaRanch.com
There are plenty of tutorials for beginners and forums to support you on a variety of topics, from beginning Java, preparing for certifications, and exploring more advanced concepts.
Java Books:
I LOVE the Head First series of books. Rather than just boring text, they break up learning concepts into games, puzzles, diagrams, and interesting analogies. It really helps to stimulate learning.
One man that I respect is Bruce Eckel. He has a FREE earlier version of his book, Thinking in Java available online. This book is almost conversational in nature discussing the concepts of Java. You can get a free sample of the latest, 4th Edition of this book, or order an electronic or hardcopy here.
Get Certified! Or at least study for it.
Here is a link to the Oracle certification for Java.
This exam focuses on the syntax and basic usage of Java. Essential skills! There are numerous resources to study online, with sample tests. I believe, even if you do not want to take the exam, this book is a great checklist to making sure you know the basics.
Beyond Basic Java
One mistake I have witnessed developers make, is learning only the basics. I have walked into organizations in which Java was in use, but code was not truly object oriented. This leads to messy code, and code that is expensive to maintain or add new features to. Once I had to rewrite an existing application for an organization from scratch, the existing code was unusable. Don’t let this happen to you!
It really helps to leverage best practices and solutions and approaches that are known to work.
This act of observing what works and documenting it, leads to Design Patterns.
Now the seminal book on Design Patterns is known as the “Gang of Four” book*, due to the four author’s. Don’t let the year this was published full you – this is a developer’s bible to good OO.
*Note – i never knew the word seminal until reading about this book. But almost every single article or review of this book includes the word seminal. To save you from doing a Google search…just make sure you focus on the first definition.
sem·i·nal/ˈsemənl/Adjective
1. (of a work, event, moment, or figure) Strongly influencing later developments.
2. Of, relating to, or denoting semen
The Gang of Four book is a GREAT reference, and as the first definition goes, it did pave the way for others, which reference the book profusely. I must admit, it may be a bit much for beginner’s for their first pass at Design Patterns. It certainly is a must for your library, but for your first exposure to Design Patterns, I highly recommend the Head First book.
Sweet! Thanks Judy!~