If someone wants to develop his/her programming skills it is really difficult to choose products and methods to start with. There are way too many technologies, programming languages, platforms, development environments, etc.. to try, and novice users do not have the ability to compare them since many aspects are not understood in advance.

I recommend keeping in mind 2 very important aspects of technologies :

This page was written to make it easy and fast for beginners to get started.

J2EE technology is the most advanced enterprise level technology utilizing the power of JAVA language and JMX. It is suitable for a very large set of applications. The notable exceptions are: kernel programming (will remain C, C++ for a while) and some embedded systems (are already shifting towards JAVA). Suggested products:

The full comparison of technologies: http://www.theserverside.com/resources/articles/J2EE-vs-DOTNET/article.html

An article about J2EE - Microsoft dotnet in Hungarian