Yesterday, I started blogging about a old blog entry I found titled “Ten Reasons to Use Eclipse”. Our fantastically gifted webmaster, Denis, found the original post which helped us to discover that the poster’s name is Renaud Waldura.
Today, I’d like to talk briefly about reason #2. To quote:
#2 – Eclipse is a Platform
Eclipse, although mostly known as a Java IDE, is primarily a platform, designed from the ground up to understand more than just the Java language. Thanks to its open architecture, Eclipse is wide open to extensions, by commercial entities as well as individuals. And while Eclipse is already a fantastic IDE for Java programming, other languages and tools are being integrated in the platform as we speak. And this mirrors the reality of my development: like most developers today, I don’t use one language, I use many languages. I believe in using the best tool for the job; most applications today require a mix of technologies and languages.
Consider J2EE applications: they are written in Java of course, but also JSP, XML, HTML, and other languages. A pure Java editor cannot handle all those different syntaxes which bear little or no relationship to Java. Eclipse, because of its open architecture, accepts plug-in modules which can handle almost anything.
In the 2.0 timeframe, Eclipse was effectively an IDE platform. It was about that time that folks in the community started to realize the more general value of Eclipse as a platform and used it as a foundation for applications. Eclipse as a general purpose platform gave birth to the Eclipse Rich Client Platform. It’s amazing how many very cool applications are built on top of the RCP. Many of the applications that we know about are listed here. We hear about more on almost a daily basis.
It’s probably also worth noting that Eclipse as a platform has been greatly enhanced by the adoption of OSGi as the underlying component model. The Equinox project has taken the notion of Eclipse as a platform to new heights. Not only is Eclipse a platform for client applications, it’s become a platform for applications on devices and servers. Equinox (and RCP) is even being used to explore space.
Eclipse as an IDE platform has exploded. I’ve been blogging lately about the Ajax Toolkit Framework (ATF) project which provides JavaScript editing and debugging. There’s support for more languages than you can shake a stick at (I’m not even going to try to enumerate them all, there’s just too many). The Dynamic Languages Toolkit (DLTK) promises to make the support of many more languages very much easier. And, of course, you can’t overlook the C/C++ Development Tools (CDT) project which—obviously—provides support for C and C++, but also supports for arbitrary tool chains for other languages.
Of course, not all development occurs at Eclipse, the eco-system provides much of the support. Eclipse Plug-in Central’s (EPIC) “Languages” category has no less than 49 entries; there is some overlap so the actual number of languages support is smaller than that, but it’s still pretty impressive.
So, yes. Eclipse is very much a platform. And it’s used to build just about everything.