Europa: D+7 days
Well, after a year of work, cumulatively hundreds of thousands of hours of thought and planning and several million lines of code, Europa has finally been released. And - speaking personally here - it's everything I've been hoping for. Starting with the brand new download site, which finally resolves Alex's long-standing pet-peeve, to the new features in the JDT editor, to the superb job Mik and company did on this latest release of Mylyn. All in all, Europa is a masterpiece and I would pit it against any other IDE on the market.
Of course, Europa is really just an agreed collection of projects who decided to all release simultaneously. If you really wanted to peg one set of things as being "Europa" it would have to be the integrated update manager and pre-packages on the download page (which are excellent btw). A great deal of credit is due here to the system administration team at Eclipse: Denis Roy, Matt Ward, and Karl Matthias. Major kudos to you guys! Without you, none of us would have the binaries, so I suppose when it comes down to it, you're that final, critical piece in the entire Europa release. And, to pull out the best compliment I can think of for a sys-admin: I didn't see any latency in the servers when I made my download. :-)
Of course, there's no point in having this massive, 21 project opus without taking advantage of it and experimenting a bit. Europa's main selling point is that it enables the quick and easy installation of all of the tools in the Europa train. This makes it really easy to try out some of those features you've been curious about for a long time.
I started out with the vanilla, Java Developers package (JDT, Mylyn, XSD, and related dependencies). After I added my customary, third party plugin set (mainly just Subversive and QuickREx), I realized that perhaps it was time to give WTP a try. I had been hearing a lot of good things about it and how far it had come since 0.1 (which was the last time I had it installed), and I did need a JEE environment with which to develop web applications. I was impressed with the preinstalled XML editor (a subproject of WTP), and so I fired up the ol' update manager and installed the necessary plugins.
First let me say, WTP is massive. I've got a pretty snappy connection (especially considering how far in the backwoods I am), but WTP still took a good five to ten minutes to download, and a good minute to two minutes to install. That's a lot of data. After restarting Eclipse, I used the guide on java.net to configure Glassfish with WTP and started a basic Wicket project.
I was astounded at how well things worked. The managed server instance started flawlessly, files added to WEB-INF/lib were automatically parsed into the classpath, and changes were seamlessly redeployed into the running instance. It even allowed for dependent projects (such as my ORM, which I wanted to keep in a separate JDT project so I could actively develop and debug it). However, this was where things began to hit a bit of a snag.
WTP started choking every time I tried to redeploy the app into a running instance (so basically, whenever I hit Ctrl+C). I was able to trace the problem to the fact that an open InputStream (or equivalent) on Windows holds a lock on a given file, prevent it from being overwritten. Glassfish wanted to overwrite some of the JAR files in the context on every redeploy (even if they hadn't been changed), but the Glassfish server itself was holding a lock on the JAR file as a dependency to the webapp currently running. So any time I wanted to make a change, I needed to stop the server, manually delete the app dir in the glassfish directory, do a clean redeploy, and start the server. It was a mess (especially factoring in Glassfish's startup time, which is easily twice that of Tomcat).
I was about to give up in disgust when I bethought myself of Tomcat. Long the de facto standard for Java application servers, Tomcat is still pretty common when looking through guides and examples online. I grabbed the 6 MB zip file from Apache, unzipped it into my home dir, pointed WTP and everything worked again! I was able to switch the project over from Glassfish deployment to Tomcat without a hitch, and suddenly everything was running, deploying, redeploying and even debugging just as it should.
Since then I've been using Mylyn, JDT and WTP every day and they've been absolutely incredible. I can't say that there haven't been weird moments or strange annoyances, but they've been so far and few between I could just as easily put them down to user error. On the whole, I've found the bits of Europa I've played with (JDT, Mylyn, WTP, DLTK, etc.) to be unbelievably stable and bug free. Major congratulations to all of you who put in so much time and effort!
Copyleft, Copyright and Center
Well, apparently Eclipse is a trademark now. I assume it always was covered under some protective legal mumbo-jumbo, but things have been codified a bit more clearly now. Mike Milinkovich, Director of the Eclipse Foundation, posted a link to the logo and trademark guidelines on the Foundation newsgroup. The first item which jumped out at me (maybe, because it was the first item on the list):
You may not incorporate the Eclipse trademark into the name of your company or software product name. If you have a software product that works with Eclipse, it is suggested you use terms such as '<product name> for Eclipse' or '<product name>, Eclipse Edition'
Hmm, is this bad news for "EclipseZone"? We're not actually
sure. Mike went on to say:
We realize these guidelines are being introduced at a point in time when some companies and individuals already have product names that include the Eclipse trademark. Companies and individuals using the Eclipse trademark as of February 1, 2005 will not be required to change their already existing product names to comply with these guidelines now or in the future. However, we do request that these companies and individuals give proper notice and attribution of the Eclipse trademark and that any new product name will follow these guidelines.
So potentially EclipseZone is in the clear and doesn't have to change its name to "Eclipse™Zone", but we can't be too careful. We've already shot emails over to the Foundation, trying to get a little clarification on this issue. And while we're reasonably certain they're not going to sue us, we'd still like to keep everyone as happy as possible. ;-)
Interesting Diversion
On a majorly off-topic note, I just wanted to draw a little attention to a challenge DZone's own Stacy Doss (better known as 3Monkeys) put forth on his blog. Basically, he wrote an algorithm which can spit out the Fibonacci series (starting at 0), all the way to the 20th term in just 56 characters of Perl code (multiple statements). The challenge is to implement a shorter version in the language of your choice. A few submissions have already been made (including Ruby, Java, and i386 ASM), but the field is still wide open. (LISP or Smalltalk anyone?)
While friendly "language golf" competitions like this one are hardly a new idea, the challenge still provided me with an interesting diversion for an hour or so as I tried to find a way to shave just one more character off my algorithm. :-) Enjoy!
Until Next Time,
Daniel Spiewak
daniel@dzone.com
|