Ask HN: How to get started in Java Development?
I was wondering if anyone could give me good advice on getting started with Java. There's so many frameworks, platforms and versions, I'm unsure how to even begin. As far as programming goes, I've been developing with linux/binutils for years as well as the typical LAMP stack (PHP, Python). But I really want a language that lets me develop for the desktop & web. Where are (good) web resources for Java? I'd really like to start off learning the most "standard" and forward looking tools - think Symfony2 for PHP, or BOOST for c++). With Java its just overwhelming from though...
Thanks in advance,
With regards to Java itself, definitely check out Bruce Eckel's Thinking in Java (http://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0...). The 4th edition is the most current. However, previous ones are available for free here: http://www.mindviewinc.com/Books/downloads.html.
Another good introductory text is Head First Java (http://www.amazon.com/Head-First-Java-2nd-Edition/dp/0596009...).
In terms of frameworks, I would recommend checking out Play! (http://www.playframework.org/) for web applications. Spring is a bit more enterprise-y, it is also a good option (http://www.springsource.com/).
You don't need a "framework" or a "platform", nor does the version matter at this stage. Download the JDK, use the javac command line compiler and your editor of choice, write some programs with the default APIs (e.g. Swing for GUIs, JSPs for websites, etc). When you start to write bigger programs, think about what you are finding difficult, then look for a "framework" that solves it.
1. Download Eclipse for Java developers (http://www.eclipse.org/downloads/)
2. Try Oracle's Java tutorials which are surprisingly good (http://docs.oracle.com/javase/tutorial/)
I got started with Processing, and slowly expanded from there into Java.
It was quite fun (I built a few games) and I learned a lot about the language before I had to start learning the libraries, which was nice.
first you need to learn the Object Oriented Paradigm .and how you can write Classes and objects in java. then try to learn how you can develop desktop application you have two main frameworks for the GUI (JavaFX and Swing) I recommend JavaFX because oracle doesn't support anymore Swing. Then comes the best part, the Java Entreprise Edition (JEE ) ,its here where the fun begins ,JEE is for web application s, first you need to learn JSP and Servlet, and then take a look at the web frameworks that exists like (Play, Spring, Struts ,JSF ...)
you can also check out online beginner lectures for java.