I spend a fair amount of time developing web applications, and for many years I’ve adopted a “lowest common denominator” approach to my choice of editor: we work mostly on Unix so I’ve used vim or vi, at about the same level of sophistication as Notepad. This wasn’t always the case: for ages I used emacs, which wasn’t only one of the very first open-source projects but also a way of life. The trouble is I wasn’t an emacs true-believer: I knew I could customise it by rewriting its Lisp macros, but was never sufficiently motivated, which is why I strayed from the path over to vim. It did hurt when a hotshot MIT theorem-prover guru said I’d never become a “real programmer” having abandoned emacs, but still I soldiered on.
But recently, I’ve become an evangelising convert to Eclipse and have even made everyone in my company use it. My principle reason was a strong feeling that there had to be a better way: everyone in the company was using a different editor, and while most of them were better than vim, they weren’t that much better. In the ten years since I stopped using emacs, surely something better must have arrived? I knew about Eclipse, but it was slow and buggy when I first tried it. Even so, I gave it another chance, and have been impressed.
So this column is devoted to Eclipse, not just for programming but increasingly as a framework for various other tools: for example, report-writing systems.
What is Eclipse?
Eclipse originated at IBM, developed as an integrated development environment (IDE) for Java programmers, in Java. First released as open source in 2001, an Eclipse foundation was formed in 2003 to co-ordinate annual releases of the Eclipse Platform. As I write, the current version is 3.3 (named Europa), but by the time these words are published, version 3.4 (Ganymede) should have been released: it’s due on 25 June.
Many of the add-ons available for Eclipse are aimed firmly at Java developers: not only does it support Java syntax out of the box, but there are many tools available for planning and building Java projects. If you’re writing in Java you can create your UML diagrams, refine them to Java code, build the application and run your test plan, all without leaving the Eclipse environment. However, I don’t write much Java, so what about other languages? Eclipse supports all the modern languages you’d expect: C, C++, Perl, PHP, Python and Ruby – plus a few others you might not such as COBOL. It will also help with all the supporting technologies you might need, including HTML, Ajax and SQL. For example, there’s a reasonable HTML wysiwyg editor and a variety of SQL tools (which are probably better than the Query Analyser tool supplied with SQLServer). There are even tools that let you write and test regular expressions, or send raw HTTP requests to a web server.
I’m going to show you here how I got into Eclipse. The first thing you need to decide is where to get your copy of Eclipse from, as there are various places that distribute Eclipse bundles either free or as commercial products. My main development language is PHP, so I used the bundle from Zend – the company behind PHP – which you’ll find at http://downloads.zend.com/pdt/all-in-one. If you’re not a PHP developer then I’d recommend www.easyeclipse.org, where you’ll find not only bundles for Java but also C/C++, Perl and Python. I should point out that Eclipse requires a Java virtual machine to be installed on your computer, so you may need to download one of those as well from www.java.com.