Sun and Eclipse Squabble
gbjbaanb writes "CNET news is reporting on a potential spat between Sun and Eclipse: 'Sun Microsystems has sent a letter to members of Eclipse, urging the increasingly influential open-source project to unify rather than fragment the Java-based development tool market.' Although Sun's letter says it wants interoperability, and a 'broad base' for java tools, it then insists Eclipse should push to be a 'unifying force for Java technology'. Competing tools is a good thing, but it sounds like Sun just wants everything to work its way."
But it will be short-lived... maybe only a few minutes. Then Sun will be back.
Who in the sane mind would ask such a thing... Come on, wasn't java supposed to be write once run everywhere..., So how on earth multiple IDEs are going to cause problem...
.. those who set and standards decide for users what they want and pull the strings.
Opensource is the opposite of this. I would be pissed too if I were Sun. How can we sell Forte for $2000 and give java away for free to sell more copies of forte?
It goes agaisnt their business model and Java is the only thing keeping them afloat since their hardware sales are losing to wintel/lintel.
http://saveie6.com/
...Slashdot is days late on the scoop. The Java community has already figured out that this is business as usual between Sun and IBM.
Javascript + Nintendo DSi = DSiCade
Maybe if Sun actually released the source to Java under a free license, maybe, just maybe, people might improve it and use it.
I don't think it's as bad as the poster implies. Let's look at the facts:
1: Sun develops Java. We all owe them for that. Let's face it. Love it or hate it, Sun has created a widely used language. They control what goes into the language.
2: Eclipse, as a development platform, is gaining ground all the time. Great. I'm all for diversity.
But, Sun's position is understandable. The presence of programming tools, in this corporate climate, can make or break a language. It seems like sun, more or less, is looking to have a more formal place in Eclipse's management. Conspiracy theories, of course, are abound.... except,
JAVA IS SUN'S LANGUAGE. Imagine, if Sun had more a voice in eclipse development, think of what is possible!!! What a concept? The language developers and the IDE developers working togeter?
Sorry for my smart-assed comments. What my point is, this has just as much potential to be a good thing for Eclipse. Sun is certainly capable of providing constructive agreement, and the Eclipse foundation doesn't actually need to listen to Sun. I just think that there's a lot of potential for cooperation.
Recursive (adj.): see 'Recursive'
I'm just happy there is a real alternative to JBuilder now... don't get me wrong, I love JBuilder but there is no way I could afford it at the prices they are charging.
Sun - Shit or get off the pot.
Honestly, Sun has been a perpetual source of sub-standard implementations of their own technologies for almost 10 years. What is the most trusted Java JVM for Linux or BSD systems? IBM JVM 1.3.1 "Black down". Increasingly this is no longer the case, as sun continues to revise the Java API faster than a decent implementation can be produced. I ask, Sun wants their net beans IDE to be "The One". Why?
It's not as if they have done a great job implementing their own technologies in the past. In fact Sun is responsible for a day to day lack of leadership of the Java Platform as a whole. Take for example the great mess of XSLT and XML parsers. Sun's "reference implementations" of such things are infamous in the developer community. Incomplete implementations and low performance drive developers to find other tools, which may or may not do things the way that sun wants - more importantly it creates an environment where developers must use different tools to get the same job done, creating incompatibility and complexity in an environment that carries compatibility as a flag of independence.
IBM has finally rallied around the notion of Linux and Java as a common platform - and Sun in usual fashion tries to "gain control". I ask the community what has Sun's control *REALLY* gotten us besides a mess of different API's, frameworks and "reference implementations".
I find this interesting, considering that, not too long ago, the Eclipse consortium offered to join with Sun (and even change to a less threatening name if need be). Sun however, turned them down.
Personally, I like the direction that Eclipse is going. I tried Forte once and it just didn't feel right. Eclipse however, has been fantastic since I found it and started using it as my work IDE. (My whole project team adopted it as well.) It has made coding Java a pleasure as no other IDE (in any language) has, and has led to me using Java as a development language for personal projects where I otherwise would have used C or C++. I've largely given over using XEmacs for coding Java. I'm also impressed by the speed of the Eclipse development cycle with new milestones coming out approximately every month. I always get this kid-in-the-candy-shop feeling checking out the New and Noteworthy page with each new milestone.
Sun (to Eclipse): Hey, knock that crap off!
Eclipse (with exaggerated innocence): Moi? Whatever do you mean?
Sun: You know.
Eclipse: Actually, no, I don't.
Sun: Don't be coy!
Eclipse: YAWN. Do you have something to say or what?
Sun: You know damn well we're working on Swing, and Netbeans, and all that, and here you come out with SWT and start going off on weird tangents, I mean, hell, who's in charge here? I thought you were going to be cool about this.
Eclipse: I am. People really dig java, and they're having a blast using Eclipse to work on it.
Sun: Yeah, thanks a lot, poor Forte...
Eclipse: I didn't tell you to charge so much for it.
Sun: I didn't tell you to be free!
Eclipse: No, that was my idea. But it's cool anyway. Anyway, you've got problems of your own. It's like, make up your mind already.
Sun: What the hell are you talking about???
Eclipse: Java 1.1.8, then Java 1.2, then Java 1.3, then 1.4, and every five minutes you "depreciate" something, driving your developers nuts...
Sun: You... How can you... You...
Eclipse: And then there's AWT, no, it's Swing, no, it's going to be some kind of weird beany scheme...
Sun: You... OOOOH you make me SO MAD! Swing was a good idea! So were the beans!
Eclipse: Well, so's SWT. Deal.
Sun: It's not the same thing!
Eclipse: Sure it is.
Sun: Is not!
Eclipse: Is too!
Sun: Is not!
Eclipse: Is too! Anyway, what's the difference? SWT is based on AWT, so it works everywhere, doesn't it? You should really dig it.
Sun: (Sulks)
Eclipse: Aw, come on, join the board of directors. You know you want to. You can even keep your Netbeans. I promise.
Sun: I'll think about it...
Eclipse: Yep. I know.
Farewell! It's been a fine buncha years!
beacuse SWT is actually a nice cross platform toolkit, while Swing and AWT are horrible festering pieces of crap.
DrLunch.com The site that tells you what's for lunch!
Because eclipse is taking revenue from the over priced bloatware jbuilder and Sun studio.It's bad [eclipse] because it's free. I thought darl showed us all that this is clearly unconstitutional - there is no profit motive - it's unAmerican damnit - only a monopoly can truly bring us together /sarcasm
-
ymmv
Is it all about Swing vs AWT? I hope not. I think Eclipse is great! But Eclipse got it right and Sun got it wrong. I want my user interface to look like the operating system I'm using (not Java L&F) and I want it to be natively quick. Please compromise Sun - The native approach is better as long as the toolkit can always guarantee to draw the lowest common denominator. That's what Java should be - write once, run everywhere, to the best of individual platforms abilities.
Sun has a free IDE and IBM has a over-priced version of Eclipse as well, so that argument cancels itself out.
get real. I have os x, and I use Sun systems everyday - no comparison. it's makes me gag, to read you making such a simplistic and ignorant comparison. os x can't touch solaris/sparc - sorry game over,that's life. when os x can handle 70+ CPUs in ONE system - give me a call. Otherwise, take your little no experience skinny 14 year old ass back to the farm.
Your mind moves quicker than a nun's first curry. - A. Rimmer
Who in the sane mind would ask such a thing...
.NET start really competing for developer mindshare. And yes, I'm sure that will happen soon. Is that so difficult to see?
A sane company who's trying to beat everyone's favorite convicted monopolist at gathering developers around their campfire for the next big platform of application development (i.e. this Internet thing). Can you name more than 3 IDE's for Windows development? No fair using Google....
What I'm saying is that I think that Sun wants to have "... all the wood behind one arrowhead " when Java &
Anyway, my prediction is that IBM will have a good laugh about this whole thing. They'll ignore it, continue to make gobs of $$$ off of their services division, and not worry about fighting Microsoft directly. It's worked well for them for 20 years... why stop now?
--Mid
I've tried the 2 of them and they both are pretty decent IMHO. The big difference, and I mean big, is how responsive each are on a fairly moderate system. After starting forte, I can go have a coffee and a smoke and maybe even take a quick nap...at which point forte should be running when I get back and I can then get to work.
Eclipse on the other hand is really fast. When I first tried it I couldn't believe that it was a Java program. It even looks good, rather than that ancient, dull look that most Java apps have.
Since then, I've upgraded to a P4 with 1G ram and they both run pretty good (although Eclipse is still much faster). I do like both of them but Sun and IBM and anyone else interested in furthering Java should collaborate on 1 killer IDE that puts any MS tools to shame, and allows lazy programmers (like me!) to be more productive in less time :) As Eclipse appears superior to forte and probably has the largest installed base (don't know how it compares to Jbuilder) Sun would probably get a lot more respect from developers.
-Pat
I disagree with most people here. I think AWT is better than SWT. Why? Because AWT is equally fast on all platforms. SWT-GTK is dog slow on Linux (and probably any other *nix platform, like FreeBSD).
I repeat.
SWT GTK is unusable under Linux and Eclipse devs do not know what is wrong and cannot fix the bug, even after much screaming on bugzilla!
This shows a clear inferiority of SWT to me. It's not crossplatform in a workable way.
AWT may be ugly, but it works! It may not be the fastest, but it is fast enough on all platforms. IDEA uses Swing and it's fast enough. JEdit using Swing and it is fast enough. Shame on Eclipse's SWT.
I'm beginning to think that Sun's a company of very bright engineering types. Dilbert would only assume that the way he says is doing something is The Right Way. Now imagine if the company was full of Dilberts with not enough PHBs to keep them all in check. I think that's kind of the situation we have with them. They can't understand why everyone else can't see the genius of their solutions. It's just the engineer-with-the-perfect-solution mentality. We all get like that sometimes.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
It's easy for multiple IDEs to cause problems...
...).
Some form of unification wouldn't be all that bad - but unification should not be misread as "only one IDE".
As much as Sun created a "the same bytecode runs on all platforms" - and the much the same, that XML data is portable between platforms - exactly the same way we would need some unification in the "project properties" files. If you really WANT competition to happen, what we need is a way, that the same project can be opened with a number of IDEs, but before that can happen, we need a good way of doing this. Otherwise we will end up in a situation, where either whole teams need to decide which tool to use (so that the project metadata can be used by all) or there will be a semipermanent importing of projects/project data whenever the structure of the project got changed (e.g. during refactoring) by someone using a DIFFERENT IDE.
(Actually - I would even wish for SOME unification WITHIN eclipse; e.g. with all those DB plugins, wouldn't it be nice, if there was a SINGLE DB-Connection-Manager plugin, which would you would configure for all your DB connections, and other DB plugins would just query that single plugin for the known DB connections and prompt the user which connection to use? -- To ME this sounds a lot better, than to enter the DB configuration [JARs+JDBC URLS+Username+possibly passwords] into EACH DB Plugin (Azurri, DBEdit,
Don't get me wrong, Eclipse has easily managed to "eclipse" XEmacs as my primary IDE (and I've used (X)Emacs as my primary IDE for more than 10 years with no serious contender to its throne). But eclipse definetely has SOME quirks that could use some cleaning up work.
Benedikt
It seems Sun has a problem understanding GPL, and similar Free Software/Open Source Software type licenses and projects today.
Yeah.
Unix will be back. Really, it will. Customers will return to Solaris one day! After all, if schwartz said it, it must be true.
Schwartz, however, sees the fad of Linux wearing off in big businesses.
and even scott is a believer:
Sun, don't worry, everything is great. Everybody else should wake up and smell the java
And I'll trust an enterprise deployment to a company with individual leaders with the brains to make the above statements on the record.
Perhaps you were being too subtle. Next time slip on a banana peel at the end. That might do the trick.
KFG
...but this is no better. We always give M$ a hard time about everything, but let's not forget that any company found in the same position can act just as badly. It's hard being on top and not step into the same tracks.
Can you name more than 3 IDE's for Windows development? No fair using Google....
Visual Studio
Delphi
C++Builder
MinGW Developer Studio
Dev C++
...there is no sig...
I started enjoying Java when I found eclipse. And I think a lot of people feel the same.
Java feels as if it has a new lease of life thanks to Eclipse and GCJ. Sun have done absolutely nothing on AWT to make it any better - making sure that everybody goes for Swing instead - whereas I would imagine that IBM would have been fine with Swing sitting on top of a better AWT.
At the end of the day, there is almost certainly a technical solution to this. Eclipse might well move to a swing like system that can sit on top of either SWT OR Swing, and there are all sorts of projects to bridge the two. If the work continues onwards, then it might be quite impressive.
I have tried each and every release of Eclipse and found it to be a terrible IDE. It's so unintutive that I could almost believe that Sun made their Solaris developers work on it in secret just to piss of Sun.
What's with SWT? It's horrible to code with. It has no really control over look and feel. You have to dispose of everything explicitly (al la C++) which completely goes against Javas garbage collection paradigm.
I right an app in SWT it looks one way on Windows and another way on Gnome (usually a complete mess on one).
Don't get me wrong I think Forte and Sun One are pretty awful too. The only sensible choice in the IDE market right now is Intellij (no don't work for them). However this IDE is not open or free (unfortunately).
Personally I don't think Sun or IBM are particularly good at writing software and should stick to their Hardware and Consulting (IBM) core competancies.
----
As if to make things worse, SWT is not part of the standard Java package, so you have to make sure it's available for the platform you want to run an SWT-based program on.
Sun might do people a few favours by adopting it.
Interestingly, there's a bigger, more glaring example of an IDE that encourages the use of a non-bundled API, and that API covers way more than UIs: Apple's Xcode (and before that ProjectManager), which is based around Cocoa. Now, theoretically, there's a Java port of GNUStep which is portable, but that's not entirely compatable with Cocoa out-of-the-box (different .nib formats for starters), and it's very much a beta still.
As far as I'm aware, Sun isn't complaining about it.
You are not alone. This is not normal. None of this is normal.
I quite like JBuilder, but then
a) my company pays for it
b) my company also bought me a 2.6GHz P4 box with a gig of RAM
I have tried Eclipse and netbeans (and AnyJ), but didn't really get on with them. That was probably mostly due to being used to JBuilder, though, rather than through any real failing of the alternatives.
It's official. Most of you are morons.
He makes statements he can't back up and relies on opinions rather than facts. Newer versions of Netbeans are much better than Eclipse and older versions had many advantages. Swing has much better performance than SWT in the right hands and is widely considered one of the best API's for GUI programming.
according to the article, IBM is basically going to maintain control of this project. it is also hinted, in the article, that the project is not going to accept code contributions from outside of the group of people who are members of the project.
in other words, it is possible to obtain the source code, but the open-ness of the project is a complete sham.
that's fine by me, because at least the code is available.
why?
because the entry-level requirements for contributing to such projects are way beyond most individuals skill, knowledge base and time constraints.
this does NOT apply to the smaller projects, which could potentially be replaced with a rewrite in, say... three months, by one person.
remember mozilla? remember openoffice? those projects have taken several years to get up-to-speed, and they nearly swamped the open source community's resources when they were first dumped by netscape and sun.
what about sapdb[.org]?
what about dce/rpc (www.opengroup.org)?
so i find it quite ironic that Sun is bitching about the "open-ness" of an alternative large code-base with which their developers stand absolutely zero chance of dealing with, unless Sun is prepared to spend at least $2m on salaries - excluding funding of development and maintenance of their alternative existing "open" source code base.
Sun has their own, free (Mozilla public license derrived) Java IDE.
Netbeanswhile (!asleep()) sheep++
Speaking from professional experience, one needs only include an swt.jar and set of binary libraries in your distribution for the platforms which you are targeting. You can explicitly specify the swt library to be part of your libraries when you start up the VM for your java application, and then you're done.
The pain attached to using SWT is all but irrelevant considering the advantages of having the platform native widget set at your disposal through a homogenous API. If you love MDI then you won't enjoy working with SWT, otherwise there's really no reason not to develop with it. It looks alot better than Swing or AWT.
"Give away the stone, let the oceans take and transmutate this cold and faded anchor." - Maynard James Keenan
I have tried each and every release of Eclipse and found it to be an excellent IDE. Eclipse 2.0 was good, and it has only improved with version 3 Milestones 4, 5, and 6. Did you sample the new UI changes in M6? Some like it and some hate it. What's considered intuitive isn't necessarily something that can be objectively measured. The first time I tried out Eclipse I loved it. Sure, it has it's quirks (everything is a project of some sort...) but I think it's vastly superior to anything else I've tried. I switched over to Eclipse from Slickedit. I haven't had the opportunity to try out IntelliJ, although I have heard good things about it.
Now about SWT... can you honestly say it's worse than writing Visual C++ UI code? Other than the two drawbacks you mentioned (explicit object freeing, incosistent LAF) how is it worse than Swing? What about the benefits? SWT is much faster than a GUI written in all Swing because it's a wrapper for native widgets. But the SWT and Swing folks have never seen eye-to-eye and I don't expect you and I will either.
Quote: "Personally I don't think Sun or IBM are particularly good at writing software and should stick to their Hardware and Consulting (IBM) core competancies."
I resent that. All the people I work with are really freaking smart and darn good coders, too.
No, that's not the problem. The problem is that the IDE's use different project files etc. So these are incompatible. Furthermore, IBM is using their own SWT implementation, which is AWT/Swing done right with more support from the base operating system. This is more or less incompatible with Swing, the sun way to doing GUI's.
> You have to dispose of everything explicitly (al la C++) which completely goes against Javas garbage collection paradigm.
GC was not made to clean up (native) resource allocations, but only to reclaim memory. You should bear that in mind.
NetBeans (SunStudio) sucks completely, and developers feel more satisfaction making the move to Eclipse. (such as I did)
Eclipse is light years ahead of NetBeans, and gaining developers everyday.
Eclipse has NEVER crashed on me, not once in about a year. nor have I found any bugs. not a one.
Also note that IBM/Eclipse has SWT. SWT is a set of graphical tools that allow you to code once, but run on any OS and look/feel/run "native" to that OS. This sort of replaces AWT/Swing but it ties you to SWT.
Furthermore, there is not Eclipse/RCP or Rich Client Platform. This allows you to use eclipse as your underlying application architecture (sort of like MFC), and end users can't even tell.
There's also "eclipse.exe" and not eclipse.jar.
Sun's problem is that IBM is doing to Java what Sun initially sought to do to Java. IBM is going to steal Java away from Sun within 5 years.
I should mention that whining wont change anything Sun...
Eclipse and netbeans/forte have different strengths and weaknesses and are in some ways, not even the same thing.
Mysteriously, Eclipse has no built-in support for client-side GUI development. For a product that was supposed to be pushing IBMs SWT GUI library, this is a serious weakness. You can get rather second-rate plugins for Eclipse to do this, but in contrast netbeans has a first-rate Swing GUI designer tool. (For those who don't think Swing is a useful GUI, look at its integration into MacOS/X). Another serious weakness in Eclipse is its lack of J2EE support as initially downloaded, whereas netbeans has full JSP/Servlet support, including debugging of JSP at the source level (as well as in the generated The strengths of Eclipse are its incremental compilation of products and refactoring tools.
People misunderstand what Eclipse is - its not really an IDE - its more a platform from which IDEs can be implemented via plugins. Netbeans as 'shipped' is a far more fully-featured IDE for Java development, but with the option for additional plugins to be added. This is because Netbeans has been around longer and more options are included in the base install.
Sun are right about this. Let people use Eclipse, and let them use Netbeans/Forte, and let there be a common API for plug-ins for both. If IBM had done the right thing and collaborated, features such as JSP support could have been loaded into Eclipse at the start.
Funny how when it's an open source group doing the fragmenting it somehow becomes a good thing.
There's a big difference between what Microsoft was trying to do and what IBM is doing. Eclipse works completely within the current language constructs. Since everything I've seen in SWT is just done through JNI, it's just another library, so anything made in Eclipse can be run in Netbeans and vice-versa. You may need to port your project files and fix your classpath, but none of the actual code needs to be changed. You can even have applications with both SWT and Swing. All eclipse is is an IDE that supports the SWT library. It's a pretty slick IDE, and I use it for most of my normal java development even though I don't use SWT.
Microsoft on the other hand, from my understanding, was trying to hijack things that would make the language itself different - like they did/do with HTML. Let's say for instance that Microsoft made a compiler and VM that supported operator overloading.. then anyone that used operator overloading with their system wouldn't be able to use it in the standard system.
Personally, I'm a bit appalled that so many bits of Java are so tricky that tools are really needed.
When I code in C, I use Emacs and Make, and I don't think I'm at much of a disadvantage with respect to people who are using C IDEs. In an ideal world, when I code in Java, I'd like to use Emacs and Ant, and I'd like to be at not much of a disadvantage with respect to people using Eclipse and NetBeans.
I actually have high hopes for Java 1.5 in this regard. The whole "metadata" thing could totally revolutionize Java development, making it pretty simple to do fairly complicated things. My hopes are that once that's in place, the tools are much less necessary.
If Sun had done their job properly, this would never have happened. IBM considered (I think they even tried) using swing for Eclips but found that is was too porly optimized.
And even worse, swing was full of bugs. Up until j2se 1.4.x swing doesn't support european keyboards, and some characters commonly used in many programming languages can't be typed using various European locales on some platforms. This bug has bin around since the day of jdk1.2 and there are numerous others that act as show stoppers for writing serious applications with java GUI. And they have bin around for years.
This is very sad since the swing architecture is quite elegant. But somehow Sun decided that java was for the server side only.
Now they complain that a major app like an IDE isn't using their archtecturally good, but in reality unsuported GUI framework. Sun would do much better if they started to fix the bugs in swing, and perhaps use some profiling tool to find the worst performance bottlenecks, than to try to make development tools of their own.
That way people could actually use java for creating cross platform GUI apps. This is what java once was intended for. As it is today, you are probably better of using QT and C++ for cross platform work.
Today the developers have already chosen Eclips.It have a good chance of replacing emacs as the swiss army knife of software development.Just like most people extending emacs didn't complain that they had to use lisp to extend their tool even if they normally didn't do their work in lisp, people extending eclipse will not mind using swt.
As Eclipse is the dominating java IDE of today tool venders will have to support it for a long period of time. A defacto standard is alread set.
By creating an alternative standard Sun is the one who is creating the fragmentation. And given Suns long tradition of creating IDEs with low usability fragment is probably the only thing it will be.
The only OK development tool I have seen so far is Forte/Netbeans and that was adopted by Sun in a quit mature state.
Instead Sun should focus on fixing swing. That way people might start using it for their cross platform GUIs regardless of what IDE they prefer to use. If they don't, people might find out that swing in reality only sort of works on windows, and then having a native swt library support for a few other platforms doesn't seam too bad.
God is REAL! Unless explicitly declared INTEGER
Someone at work replaced the sun jre with jrocket....the jdk that came with a demo of BEA's application server.
We noticed a dramatic improvement in the performance of our JSP site.
IBM's jdk is also better then SUN's jdk
What can you say about a firm's moral authority ( or its self respect, care for Q/A ) to speak for a technology when OTHER companies consistently render their own products better then they do?
Steve
Not sure I'm with you on pass by value, it's already done with RMI/Serializable Objects for instance.
Big +1 on generics, I can't wait until 1.5! Also, Java 1.5 attributes will make themselves useful in some situations, but they are already here in several open source libraries.
I'd take C# as an option in a real solution (read: billable) only in two scenarios: 1. I have a MS only client (I do!) or 2. The open source community gets a lot more excited about it.
To elaborate, the fact that Java has such a rich open source landscape eclipses C#'s marginal feature wins. There has been a compiler supporting generics for quite a while now. Attributes and real AOP have several open source projects implementing them in different ways. These types of things are on the fringes of the java open source community.
There are so many mature java open source projects that provide real benefits to a programming team that I am about to be absolutely unfair by naming some. The C# community is a long way away from boasting these achievements.
As many programmers will protest, my list above is far from representative; also, it shows my Apache and Codehaus bias. My point is exactly that; not only is the list far from representative, most or all of the components I mentioned have competitors! The advantage this bestows on java over .NET is significant.
I do not mean to argue that java is the only language that enjoys these advantages; I hear CPAN is a boon to perl hackers, and I have the impression that there is a lot going on in the open source python world. My utter lack of experience with C/C++ prevents me from commenting on the similarity of that situation, but the existence of glibc suggests some open source activity.
In summary: .NET is young, and suffers from a lack of a thriving open source community.
What the hell? Sun wants Eclipse to start doing things more like NetBeans? I hope not. I switched to Eclipse because NetBeans was nearly unusable. Ostensibly Sun's move is an effort to prevent vendor lockin, but really, they just want to prevent developers from being locked in to any vendor but Sun.
Eclipse allows you to develop plugins for the IDE, and provides a powerful interface to do so. NetBeans allows for plugins as well. More people are doing plugins for Eclipse. Plugins help drive the market. Seems like Sun has plugin envy.
"Don't define 'interoperability' on your own terms, but rather work with other major players in the industry to achieve actual interoperability," the Sun letter told Eclipse members. "Push the organization to be a unifying force for Java technology."
Sun should take it's own advice. I hope Eclipse doesn't try and fix what ain't broke. Sun should adopt Eclipse's model. It is clearly superior.
SWT is a set of graphical tools that allow you to code once, but run on any OS
That's not strictly true. The GUI widgits in SWT are provided by a shared library compiled for the local platform and linked to Java code with JNI.
This means you need a shared library compiled and tested for your platform. To see what platforms are currently supported and the status of those platforms, check out the port status section of the eclipse homepage.
My impression of SWT is it's more feature rich than AWT, faster and nicer looking than Swing, but the downside is it won't necessarily run on any platform that supports Java.
It's a general-purpuse IDE that happens to be implmented in
Let's see: you want to build an IDE. You want to write it in a high-level language with garbage collection. You want high performance. You don't want to use a non-mainstream language like Smalltalk. There aren't so many options.
So you pick Java.
The GUI APIs suck. So you build a new one from scratch and create SWT.
The fact that Eclipse is written in Java is not supposed to be of interest to its users except the few power-users that write extensions. The fact that it can be used to write Java code is irrelevant, too. After all, you can write Java in Emacs or J# in Microsoft Visual Studio.
Sun, get off IBM's back.
Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
"The big-picture (goal) is a Java technology solution that ensures no 'lock in' to a given platform," the letter states.
That is, no lock-in other than into Java itself, of course.
In particular, Sun warned that the new bylaws of Eclipse give the position of executive director, now held by an IBM employee, an "unusual amount of power" to dictate the work of the open-source group. Sun also questioned whether IBM employees will continue to make up the majority of project staffers.
Sun is one to talk. Eclipse is open source. Anybody can take it and fork it if they don't like what the Eclipse effort is doing.
That's in stark contrast to Sun's Java implementation: not only is it fully owned and controlled by Sun, Sun even owns the patents and copyrights related to the specifications. And Sun's "Java Community Effort" is run by numerous people from Sun. And because Sun is so afraid that people are going to run away in droves given a choice to do their own thing, they are refusing to open up their Java specs or implementation. They say there is "a risk of forking"--you bet there is, given how poor a job Sun has been doing.
So, what does that mean? IBM has a little influence over an open source effort to produce one of many development tools, an influence that only matters as long as Eclipse does a good job because the minute they stop, people will fork it. Sun, on the other hand, has sunk their teeth and claws into the Java standard and platform and isn't letting go. Sun has the entire industry by the throat and various other unmentionable parts.
Sun's hypocrisy is simply astounding. What I can't figure out is whether anybody at Sun actually believes the PR bullshit they are releasing or whether the entire company is in on it.
Microsoft on the other hand, from my understanding, was trying to hijack things that would make the language itself different - like they did/do with HTML. Let's say for instance that Microsoft made a compiler and VM that supported operator overloading.. then anyone that used operator overloading with their system wouldn't be able to use it in the standard system.
Unless MS added operator overloading as a bunch of methods called "op_Inequality", "op_Addition", etc... Then the people with the crappy compiler could just call those methods. This would be much like how generics are getting added (old compilers still work with it).
Really what Microsoft did wrong had nothing to do with adding incompatibilities to Java. MS had a license that allowed them to do so (they just had to have different modes to compile, one which compiled to the standard). They also had a license that mandated they stay up to date with Java, implementing just about anything Sun wanted them to implement in some reasonable time. That's where they probably fucked it all up, as it's well known they didn't implement many major Java features (RMI I think was one of them, JNI another where MS choose to go with J/Direct or whatever it is they called it). And if you think about it, this is much worse for Java then the OPTION to compile incompatible binaries. Now you just can't use certain functionality on one platform, and that really destroys WORA.
You can even find the license on the web if you're really interested. It's an interesting read.
As far as IBM it is a similar fragmentation as towards Microsoft. They're creating multiple types of Java apps (SWT vs Swing). That's going to split the Java developer camp into 2 and make each Java developer less general purpose. That'll force companies to standardize on one API, and it'll put up some barriers for Java developers who are highly experienced with one API but not the other. Even if the APIs are similar people will prefer the person w/ hands on experience to the technology at hand and those people will certainly spend less time in the on-line help. And that's the real problem. It seems like SWT is technically better, Sun should just dump Swing. That'll probably never happen though.
It should be noted that eclipse.exe is just a launcher for the various JARs in the plugins folder. All it does is display a splash screen and start the JVM loading up the necessary classes.
Random is the New Order.
Consider this: Java on *any* platform also needs some sort of native library for GUI access. It just turns out that they happen to bundle this with the JRE. In fact, if Sun was willing to ship Java without AWT (as it's commonly used in an server environment), they could probably port it to more platforms. Right now, SWT supports the vast majority of the machines currently running Java (Windows/Linux/Solaris/AIX/OS X), but even more "fringe" platforms like QNX.
And it does it pretty well. This is what AWT should have been. The fact that it actually uses the underlying environment effectively means they don't have to update their look and feel every time one of their platforms releases a new UI. As a result, applications look like other native apps, including "themes" and such.
I've tried both NetBeans and Eclipse and I don't get the point.
For me, both are too intrusive on the development process. I have a file with some program, script, or data and I want to edit it. Maybe this file will be fed to some type of filter, or is in some form that the editor does not "know" about. Maybe it is from one of my "projects" or maybe is a random file that I want to edit or examine.
It seems like in these situations, the typical IDE wants to know what "project" this file belongs to, or wants to *copy* this file from its working directory to some IDE owned part of the filesystem. Like I've made some commitment to never use other editors again, so I won't mind that the "real" copy of this file will now live off of some IDE owned directory now. I don't understand why an IDE can't keep what ever type of metadata it wants its own namespace but let me keep my working file in whatever place suits me.
It also seems that the point of these IDE's is to enable people to program who need crutches to do so. It seems with the excess supply of labor, it is now possible to hire people who don't need this type of help. I would question the wisdom of hiring someone who cannot build a mental model of the system they are working on, or need "wizards" that insert boilerplate "hello world" programs to get you started. Yet, I've seen plenty of job postings that seem to suggest that knowing how to use a particular IDE is equivalent to knowing the language itself.
That is not to say some automation like completion are not good. The less typing the better. But there is a difference between saving keystrokes and enabling people who don't know what they are doing. It is also interesting to me that the types of people who rely on their editor to know how to program are the same types who end up wasting more time navigating through a bunch of menus per lines of code written.
Its like the person who uses some GUI filemanager rather than a shell with file completion abilities. Witness the shell user change directories before the GUI users hand even reaches the mouse. While a GUI filemanager is a good tool to enable a secretary who doesn't care to learn how to use a computer, it is a sad statement when an IDE is used to enable a programer who doesn't care to learn how to program.