Saturday 31 May 2014

New to Java - Getting started guide

Today I thought to write a post for those, who are literally new to Java programming language and wondering how to get started with it!

If you already have expertise in Java and  you had followed unique efficient approach to get started with it, then please share your experience in comments for the benefit of others.

If you refer "Newto Java page on Oracle website", you will find key categories namely Java SE, Java Fx, Java EE and Java ME; as well as "Java SE conceptual diagram on Oracle Java 8 Documentation page" as per below screenshot. Also by this time, you might have heard few names of Java based frameworks like Struts, Spring, Hibernate, jUnit and many more. So you may be skeptical about, what to learn in Java space for getting started or what to prioritize in Java SE itself?


If you see history of Java, JDK 1.0 released in 1996 and recently Java 8 has been released on March 18, 2014. So obviously there are unlimited things to learn in Java SE itself, but the question still remains open that "what can be steps to learn Java?" and in the further post I tried to cover it .



Steps for Getting Started with Java

Don't keep switching your focus, instead learn it systematically as per below steps.

Step-1: Development environment setup

At the time of writing this post I would suggest to setup JDK8 and Eclipse Kepler SR2, but you should always consider latest stable release for the setup.  Eclipse IDE setup is optional, and instead you may use any other IDE or may learn Java even without IDE. But Eclipse is suggested, as it is one of most commonly used IDE.

Step-2: Gets your hands dirty with basic Java programming

Now I would suggest to learn java from tutorials point website or may be other videos like Bucky's Java Tutorials Series. Don't just read, instead you must consider basic hands-on with Java programming as you progress such tutorials. Once you gain some basic confidence, then step-3 is waiting for you to build strong foundation in Java programming language.

Step-3: Build strong foundation on Java programming language features and OOPD

Next attempt should be to learn *all* Java programming language enhancements such as Java 4 (assertion), Java 5 (generics, autoboxing/unboxing, enums, varargs, annotations…), Java 7 (Strings in switch statement, binary literals, try-with-resources statement...) and Java 8 (lambda expressions, improved type inference…). This is viable in few weeks time, because I am not telling to learn *all java libraries/packages APIs*. You may refer Java tutorialsby Jacob Jenkov as a basic level cookbook.

In future I will be writing separate posts to cover java programming features of each major release of Java 4 onwards, but for the time being you may refer sample code on my Learn-Java github repo. For example - it already contains thecodesnippet of new language features in Java 1.5 which is Eclipse project, so you can simply import it in Eclipse and start learning those quickly.

Only learning programming language features are not enough to become great developer, but also you should aim to be efficient in OOPDesign - Fundamentals and Principles.

This step would enable to design and write any simplest to complex custom APIs and algorithms for given requirements,  but next step would leverage your overall application development with numerous ready-to-use java based libraries, frameworks and tools.

Step-4: Explore Java packages, libraries, frameworks and tools on need basis


Sorry you can't stop here. Only Java programming expertise is not sufficient for industrial demands, but also you will need to learn more things as per your project architectural and technical requirements such as,

Disclaimer
My objective of this post is limited to provide general steps for getting started with Java. Though I mentioned some of website urls for the reference, in reality you may find other better resources too. So you should always consider any Java books you already have or other better online resources to follow the above-mentioned logical steps.

Also Refer



If you already have expertise in Java and  you had followed unique efficient approach to get started with it, then please share your experience in comments for the benefit of others.

No comments:

Post a Comment