Friday 8 August 2003 — This is almost 20 years old. Be careful.
I wrote a while ago that I was going to try Eclipse with some new Python add-ins. It was not an entirely smooth ride, for two reasons: one, the Python add-ins are very bare-bones at the moment, and two, Eclipse has got to get over itself.
On the plug-in front, I tried Xored TruStudio. Its editor support of Python is not there yet (for example, I couldn’t double-click a word to select it). One advantage: they also have a PHP plug-in for Eclipse, which worked admirably for me.
I downloaded pydev, but TruStudio seemed to still be the dominant Python plug-in, so I couldn’t really evaluate it. Next time I’ll try uninstalling TruStudio first.
About Eclipse: it is an extremely rich IDE, and is one of the best open-source projects I’ve seen in its support for developers helping out. There’s even a book in the works by Kent Beck and Erich Gamma about how to contribute. Eclipse’s Java support is phenomenal, with automatic refactoring tools that sound like research lab stuff.
On the downside: Eclipse has so much general purpose IDE infrastructure, that (as Steve Martin said about the French), they have a different word for everything. What’s a “perspective”? What’s a “view”? I figured out that an “editor” is not the IDE, but instead a document window inside the IDE. I’m sure it will become second-nature, but maybe there’s a first-nature way to describe these things?
Where Eclipse really burns my biscuits, though, is file handling. It’s got the new-age IDE concept that everything lives in projects, which is all well and good, but it has no concept of files outside of projects. Literally, there is no File - Open menu item. Ctrl+O does nothing. To edit a file that exists outside of Eclipse, you have to:
- Use the New - File command (!),
- In the New File dialog, click the Advanced button,
- Check “Link to file in the file system”,
- Enter the path of (or browse to) the file,
- Enter the name of the file again at the top, because it doesn’t default to the actual name of the file in the file system,
- Click OK.
And now the file is in your project forever. Can’t I just edit the freaking file? A friend who works at IBM, developing a product based on Eclipse, says, “I use emacs when I need to just edit a file”. WTF?
And yet, at the same time that I have to live with this “everything must be brought under the Eclipse umbrella” mentality, Eclipse opens unrecognized files with their default system associations, rather than in its own text editor. Working on a PHP project, I created some .sql files to work on the database schema. Clicking them brought up Microsoft Visual Studio! I finally found the way to change it (Window - Preferences - Workbench - File Associations), but it was one more aggravation while trying to be productive in my code.
I know, the thinking is that IDEs can do much more for you if you let them own the files, and collect meta-data, and organize them for you. I understand all that. But if I just need to work with files outside the Eclipse sphere of influence, why can’t Eclipse just bring up an editor and disable the stuff that won’t work.
I don’t mean to be down on Eclipse. I think it has enormous potential. It’s my PHP editor at the moment. I know it will only expand its reach, influence and utility. It’s well-designed from the ground up to be a federation of contributed components, rather than a monolithic project with “extensibility” added on at the end. I know they will work out the usability kinks, and support for other languages will come as the circle of contributors grows. They just need to get over themselves a little.
I also know that it isn't the other guy, because he uses vi...
Everything under there is now accessible from Eclipse. Not as easy as ctrl+O but you don't have to import files.
Perspective and view took me a while to grok but it's second nature now.
I didn't like the workspace / project orientation of Eclipse initially either but when you're working on a really large Java project with lots of cross dependencies, it's really terrific. Plus there are so many ways that Eclipse is better than anything else, it's worth the tradeoffs.
The other aspect of Eclipse that's great is the ability to add new functionality. We an this in-house Eclipse plugin that can read Java component description files (in XML) and automatically generate a set of interdependent Eclipse projects. Extremely useful
P.S. I've been reading the draft of Kent Beck and Erich Gamma's book. It's a good read. I met Kent many years ago when he was at Apple. Very sharp guy.
Eclipse's potential to expand into other areas is great. I've heard that the C Development Tools are doing well, maybe the other programming languages (there are others? j/k) will rise to the same sort of level in time. And of course, it's open source, whereas IDEA is not. And Eclipse is a lot better than NetBeans.
p.s. SWT sucks, but as long as you don't have to code in it, it's not bad. :-)
Add a comment: