Fog Creek Software
Discussion Board




Why Eclipse is free

Did you ever wonder why IBM would offer such a great software and don't ask for a penny? What happened there? I'm not with IBM, so I can only offer my theories. But maybe they are not so far from reality.

One of IBM's major products (software wise) is Websphere, a J2EE based application server. Other companies offering application server include Bea and Borland. All of them have dedicated development environments.
IBM's has Websphere Studio, which is entirely based on Eclipse. Borland has the well-known JBuilder and Bea bought Symantec's Visual Cafe and evolved it into their own suite of development tools called Weblogic Workshop.
Since all J2EE app servers certified by Sun have to deliver a common feature set, these products became pretty much comparable. What makes a difference is their development environment.

Eclipse itself is build around the idea of plugins. The platform's core basically is a plugin manager. Every other feature plugs into this core. Since this mechanism has been documented publicly, anybody can contribute to Eclipse. That's actually what happens currently. There are already some hundred commercial and open source projects extending IBM's software.
I said "IBM's software" because anybody who extends Eclipse automatically also extends IBM's Websphere Studio, which will give them an additional advantage over Borland and Bea.

Recently I read an article, which was describing a web application project based on .NET. The author elaborated on why they decided for .Net. One of the reasons was: "Because MS Visual Studio is such a great IDE". Personally I think that nobody should base his decision for a technology on how good an IDE is which supports it. On the other side, this is exactly what’s happening every day. Developers have their favourite tools and if they have to choose between "their" tool and a different one they are not used to, it’s clear what they will do.
Eclipse is a great IDE and the fact that it is available freely for anybody makes it very easy to get used to it.
It takes time to learn all the nifty quirks, features and keyboard short cuts such a complex piece of software has to offer. If you would constantly switch your tools you will seriously harm your productivity.

So did IBM give us Eclipse because they are so nice?  No, because it supports their business interests. 

Stephan
Thursday, July 10, 2003

>Eclipse is a great IDE and the fact that it is available freely for anybody makes it very easy to get used to it.

Not to start a war, Eclipse doesn't even begin to compare to the VS.NET IDE.  I never found Eclipse, NetBeans, even IntelliJ to be very responsive/crisp in terms of UI.  And if I'm spending 8+ hours a day in this environment, it better damn well be responsive.  And Websphere Studio is even worse... 

On the .NET/free side you've got a decent IDE in SharpDevelop (available at http://www.icsharpcode.net/OpenSource/SD/Default.aspx)

>Personally I think that nobody should base his decision for a technology on how good an IDE is which supports it.

If you honestly believe this, go be a Lotus Notes/Domino programmer.  It's advantages in the business world over traditional application dev technologies are numerous (faster development, security, ease of deployment, great replication, apps work on both web & client without extensive changes, and so on.)  Be forewarned however, the IDE is awful and pales in comparison to even Visual Studio 5.  It's made me want to throw my laptop out the window on several occasions in the past 2 years ;-) 

Finally doing .NET work and I never want to look back.

GiorgioG
Thursday, July 10, 2003

IBM want you to buy more memory so you can run Eclipse :)

Walter Rumsby
Thursday, July 10, 2003

Eclipse is free because, as has been implied here, it is part of what may be called political software development. This is the development and promotion of a platform, not because it is superior to its competitors (it may be, but that is irrelevant), but because pushing it is one means of expressing a political viewpoint.

AnMFCAndJavaProgrammer
Thursday, July 10, 2003

I think people that don't love IntelliJ just haven't used it long enough. I've converted many, many people I know in person to IntelliJ, just by having them look over my shoulder as I work.

The VS.NET IDE is decent, but I still prefer working in IntelliJ. Of course, they aren't even for the same language.

One thing I hate about the VS.NET IDE is the error highlighting. With IntelliJ, if you make a mistake, it underlines the problems, on the fly. When you fix the problems, the underlines disappear. This is all before compilation.

In VS.NET, errors don't show up until you compile, and then it underlines them. Correct the errors, and they're still marked as errors until you recompile. Maybe this is just an option somwhere, but I haven't found it.

I also can't seem to get the GUI designer to work properly for anything complex. I've seen the code it generates, and maybe I'd just be better off doing it the way I do in Java: by hand.

Last night I added a bunch of controls, hit run, and half of them disappeared. Of course, they were still referenced all over the auto-generated code, but they no longer existed, so it was completely broken.

But anyway, VS.NET is not bad and pretty usable, but I just love IntelliJ.

Does Eclipse still not allow you to customize your keyboard shortcuts?

Fred2000
Thursday, July 10, 2003

The article above is not about which is the "better" IDE, and it's also not  about "Java vs. .NET".  Maybe I should not have mentioned that personally I like eclipse, because thats not the point.  It's about the effect and the motive of offering something for free which usually costs a lot of money.  We have seen this a lot with other software as well (e.g. Web Browsers, Mail Clients).

Stephan
Thursday, July 10, 2003

Like Fred2000: you have to use IntelliJ for some time and it becomes addictive. The best way to describe it is like having an extra teammember that points out what your refactoring actions might do.

Take for instance the way renaming a method in a class to a methodname that can be found in an interface the class implements. IntelliJ detects this and warns you. These are the simple things that help you be much more productive.

VS.net is a very good IDE, but is is more integrated than editor. IntelliJ is the other way around. The way it understands Java really helps you. Want to catch all the Exceptions that might be thrown by a block of code? Ctrl-Alt-T 6 and all exceptions are caught, one by one.

I think the real advantage of IntelliJ is it's 'language-awareness'. It really understands what Java is...

But of course, all this is just my opinion.

Jeroen
Thursday, July 10, 2003

http://www.joelonsoftware.com/articles/StrategyLetterV.html

Just me (Sir to you)
Thursday, July 10, 2003

I've tried many other IDEs including Eclipse and IntelliJ, they were just too slow and/or complicated to setup. I came across a free Win32 IDE called GEL. super fast & simple.

http://www.gexperts.com/gel.html

GelFan
Thursday, July 10, 2003

Eclipse isn't sellable.

pb
Thursday, July 10, 2003

I always thought that part of the motivation for giving away Eclipse was as a response to NetBeans.

NetBeans sort of came from Sun and is the basis for Sun's commercial IDE (Forte, or whatever they're calling it now). So IBM was worried that a good open source IDE would strengthen Sun's position in the Java world through driving sales into Sun's commercial IDE, driving Java standards, and driving sales of Sun's application server. So IBM launches Eclipse as a countering position (hoping that it will give them the same advantages).

Bill Tomlinson
Thursday, July 10, 2003

Eclipses gives OutOfMemory errors all the time.

IdeaJ does not.

Philippe
Thursday, July 10, 2003

>> Eclipses gives OutOfMemory errors all the time.

Try "eclipse -Xmx256m" perhaps?

Andrew Reid
Thursday, July 10, 2003

IBM recommend about 1GB of RAM to run WebSphere Studio (which is just Eclipse wrapped up with some extra plug-ins).

My understanding of Eclipse is that what is known as "Eclipse" is really just a subproject of Eclipse - i.e. the Java Development Tool. I suspect that SWT is IBM's response to complaints about Swing and a sign of their impatience with Sun's lack of focus on desktop Java.

I'm not sure I understand the motivation of Swing for Java look and feels as opposed to the look and feel of the underlying system. User's should not care what technology is used to implement a solution, interface consistency is important, etc - we all should know this by know.

The flipside is that I'm not especially sold on SWT. Eclipse takes up HEAPS of memory, while IDEA avoids all of the supposed memory problems and is a Swing application (I find running IDEA on a 256MB RAM machine comparable to running WebSphere Studio on a 1GB RAM machine). Troublingly, I can't help thinking that part of the reason IDEA is such a usable product is because they developed their own look and feel.

When it comes to SWT vs. Swing I think: IBM is right, Sun have neglected desktop Java and Java desktop apps should look like native apps; Sun is also right, Swing should be improved rather than dumped in favour of SWT (i.e. Swing will get better - or everyone will buy Macs :)).

Eclipse gives, along with IDEA, the Java platform that is - religious arguments aside - at least comparable to Visual Studio. Before Eclipse and IDEA most Java IDEs were horrible (slow, memory hogs, unusable etc) AND this is symptomatic of the non-MS development world - Mircosoft on the whole understand usability more so than most other technology companies.

Walter Rumsby
Thursday, July 10, 2003

Godwin's Law Of IDE Threads: "As any IDE-related thread grows longer, the probability of it turning into a listing of the features of Intellij IDEA approach one "

Andrew Reid
Friday, July 11, 2003

I think IBM may have managed to recognise there own weakness.  Neither Big Blue or Lotus have ever been able to come up with a decent IDE.  Instead they have given developers the Lotuscript IDE and Visualage for Whatever.

It also seems to me that IBM are trying to hijack the Java bandwagon for themselves.  For so many the enivironment is the app, so while Sun may own the language, if IBM can own the environment and everything around it they have the important ground.

I think this is whey they are hosting hot projects like AspectJ.

Ged Byrne
Friday, July 11, 2003

Eclipse is just a framework, 40,000 developers aren't gonna pay for framework, the hundreds of million of end users don't want nothing to do with framework, let alone use it. Eclipse has no business competing with the likes of Rogue Wave

Li-fan Chen
Friday, July 11, 2003

*  Recent Topics

*  Fog Creek Home