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!
Many IDE (Integrated Development Environments) are in place. Netbeans and Eclipse are two options, that come with tutorials, and code completion to help enhance your learning.
Resources for Learning Java
Java Websites:
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. Thing is, it might be a little much for your first exposure to Design Patterns. So you may wish to reference the Head First book first.
*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