Eclipse has set a new standard in IDEs and component-based development. Most of us get to know it as an IDE, but it can be much more. It also can be used as the basis for developing applications.
Every programming language comes with a learning curve, but Java shares many similarities with C, C++ and JavaScript. Anyone with experience in any of those languages will pick up Java syntax quickly.