Call it the impossible dream. Every so often, somebody - usually from the Java side of the tracks - wants to best Microsoft's Visual Studio. Macromedia, BEA Systems and Sun Microsystems are just three who've tried - and failed - to bring Visual Studio's drag-and-drop tooling to Java and lure those using Visual Basic into the …
Sun killed an older set of tool to make room to the new and better ones, based on Netbeans... a fact that seems to have been forgotten in this article... I would put my money on Netbeans and not Eclipse
I am assuming you are talking about UI's here, because for everything else, it is my impression that Java IDE surpassed Visual Studio quite a long time ago.
Point and drool
Never been a fan of point and drool UI building anyway. I prefer to write a couple of lines of code that describe my UI - this gives me a single, common 'user interface' to my development environment and I have always felt that expressing anything more complicated than pointing and grunting benefits from the use of a bit of language. I've even been known to consider extending this rule to my interpersonal relationships, but pointing and grunting seems to work OK in that context.
Maven drag and drop?
What has Maven got to do with drag and drop vb like ui design?
...that Eclipse is so slow and bug-ridden.
Long live Notepad and PHP!
Mine's the one marked K.I.S.S.
I use both Visual studio and Eclipse on a daily basis. I much prefer Eclipse due to the vast amount of plugins available,the integration with source code control,the UI is far more intuitive,Mylyn plugin is a simply brilliant, the list goes on. So for VB jockeys Visual studio is the business. For serious enterprise development Eclipse is far superior.
Refactoring vs. DnD
@Kieron Wilkinson, I think where actual coding is concerned - you are 100% right. However I am not sure if the visual web tools for JSF are anywhere near Microsoft's. NetBeans' GUI builder is really decent.
Cold Fusion Studio
Anyone remember it? Adobe killed it when they bought Macromedia because it competed with their (inferior, IMO) DreamWeaver. Personally I have switched to using Visual Studio since then. It's not as good as CF Studio, but the price is right. CF Studio never interfered with your code, it had a reasonable interface, good syntax highlighting (which was extensible), and it was fast. Unlike the .Net bloatware that is VS 2005. VS 2008 doesn't even support classic ASP any more - even though classic ASP is still set for another 5 years of life thanks to support in Windows 7. But apparently they'll put the support back in service pack 1, so that's all right then isn't it? (Eejits...)
Java already has a VisualStudio beater
And shouldn't the Maven developers think about fixing the security issues first, before trying to take over the world?
Comparable in all respects?
True enough, VS is ahead of other IDEs when it comes to laying out a UI, but it is essentially a programming (as in coding) environment, and a five second delay with every new word or symbol that's typed, means any programmer with a typing speed of more than twenty characters a minute will be typing three lines ahead of the IDE.
No, I don't use an old banger PC, but a fine and varied selection of multi-processor beasts with far too much memory for their own good.
Me, personally, my own opinion, not an objective statement of fact but my own arguable view, just in case you're interested: I hate Visual Studio.
Just to clarify: this is my opinion; I'm not a 'fanboi', I'm not anti-MS and I've got no axe to grind. I just fucking hate Visual Studio.
At the time of Visual Studio 6, I can't think of any comparable IDE for Java. I don't know much about Visual Studio 2008, but the first 2 versions of Visual Studio .NET were left in the dust by the equivalent releases of Eclipse.
Does the writer actually use these tools?
The time of Microsoft dominance in developer IDEs is over.
Visual Studio is one of the most unpleasent IDEs I've ever had the misfortune of using. If it weren't for Resharper I'd refuse to do it.
JBuilder was better for GUI development than Visual studio, almost ten years ago, and still is better. Netbeans is better, and has been steadily improving.
The fact is, Visual Studio's dominance owes more to corporate inertia and risk aversion than it does to any failing of alternatives. It'd be a cold day in hell before most companies would switch from using a product that they understand, and all the staff have years of experience using, to anything else, no matter how good it is.
VS used to be good
I used to use VC++, way back in my Win32 coding days. It was great: best in class debugger with edit-and-continue letting you tweak your code as you debugged.
But things changed -we moved to Java. Where the lack of a debugger gave us stuff like JUnit testing, the lack of a single IDE gave us ant-based builds and deployment, and tools like Cruise Control.
Sometimes I go to VS, and find myself underwhelmed. But I hate eclipse too.It's way too complex, and adding maven to the mix doesnt help that much. IntelliJ IDEA wins for productivity, and NetBeans for laptops without enough CPU power for IDEA.
yet again going to play devils advicate
surely the article on means dominance in terms of sales ?
i used netbeans and hated it it always crashed when i was doing any thing important like booting i up
cold fusion was cool if alittle complex (that maybe cause i was just starting out when i used it many moons ago) dreamweaver is only use for html coding surely and even then i only use it to see what me code looks like.
and visual studio is great for visual basis but seriously for real work. sorry most codes i know still preffer the notepad approach and then maybe use a tool to refine it alittle
that said that's just my opinion ( my coding days ended after university over then the odd html or perl and maybe an asp page on the side for friends and friends home businesses i don't do much any more i'm a server/network guy)
my company thinks visual studio and .net are great though for there sins they are rewriting all there sites and web apps from php to .net based language :-( the fools those damn damn fools
Re : VS used to be good
I still think that VS has an extremely good debugger, and (perhaps obviously) I understand the integraton with Microsoft technologies to be excellent.. however remember where this comes from..
..until Borland released Delphi VS was widely reguarded as an overly complex pile of dung, with a very un-intuitive and un-friendly GUI builder. One developer of front-ends to control systems I spoke to reckoned on a 10-fold increase in productivity transitioning to Delphi. It has come a long way since then but I really can't see it ever exceeded other tools as a GUI builder (such as Delphi/C++ Builder) to any great degree - if at all.
All that aside - the obvious lack of any cross-platform support in VS can severely limit it's use in any case - no problem if you're a Microsoft shop but some of the most pervasive and technical industries have little or no MS usage, so it *can* be an issue.
The Netbeans IDE in Sun Studio has also come a long way as a general purpose IDE and the profiling and memory checking interfaces are very useful tools that i've not seen an equivalent of in other IDE's.
Eclipse sounds good from those that use it - personally I find it's interface and methodology far too complex to be bothered to learn and the lack of any real debugging capabilities make it a complete non-starter for C/C++ based work.. a common problem with a number of cross-platform IDE's IME.
Personally, for C++ GUI creation I find QtDesigner difficult to beat, the ease of use as a RAD tool for Python programs is an added bonus too. YMMV.
Matisse & Netbeans
Take a look at Netbeans and project Matisse (which is included by default.) It may be a little shy of Visual Studio for drag and drop development... but it's not as far off as one might think.
Confused dot Com
Has the author even touched VS and Eclipse ?
Using VS is like water torture nowadays and the lack of refactoring (and quick) intellisense makes using it on any large project a nightmare. The debugger can now be called awful - sure it used to be good(ish) 6 years ago but when you have to wait 10minutes for the debugger to show you some variables ... sigh. (and yes its a 2GB dual proc, dual core machine with 7.2k HD).
Eclipse isn't perfect by any means but its positively gleaming compared to VS.
Coding in notepad might make you feel like a big brute man, but failing to avail yourselves of the IDE features that coders have spent many, many man years building out, like syntax highlighting, UI builders and integrated source control and debugging actually just makes you a time wasting idiot.
You're Fired (tm).
My Eclipse IDE has long been integrated with Maven2 by q4e
My Eclipse IDE has long been integrated with Maven2 by http://code.google.com/p/q4e/
Hence I do not really understand this statement:
"Integration is currently tricky and done by hand."
I said Noooooooooooooooooooo
Has anybody ever seen the code generated by that "wonderful" drag and drop capability of VS??
Personal i was not at all impressed with VS and .net 2 a couple of years back.
VS refused to allow multiply ASP.net pages inherit from the same code behind object, how dumb, its a feature of the ASP.net spec.
And just dont try to intergrate with Visual sauce safe, which is anything but! Why should i chose to use a product that not even MS uses to source control its code??
If don't like using them, then you shouldn't try writing them..
I mean GUIs.
Show me a developer that thinks a text editor / make / ant etc. is a better way to build a GUI that a proper IDE and I'll show you a developer that shouldn't be let loose near a UI project. GUIs aren't just a veneer you slap on some business logic, they are a whole different way of thinking about HCI, and these guys obviously just don't 'get it',.
This is precisely why Java has such awful UI support. The guys that created it come from a UNIX backbround, and honestly, truely believe that UNIX, with its vast collection of arcane commands and randomly formatted text files, represents the pinicle of UI achievment.
So the Java guys knew that had to give us a GUI api, but they didn't really understand GUIs, and they certainly weren't going to look and see how people like Apple and Microsoft did it, as they just made toy computers fo plebs. And so they gave us AWT - a system so primitive it lacked things as basic as modal dialogues - and soon, even they had to admit it was rubbish. So instead they gave us Swing - but that was still rubbish, and now it was really slow too. So they admitted defeat, and retreated to the server, where things went pretty well for a while, but soon they felt unsatisfied by the lack of really big, arcane text files to edit and so that gave us J2EE, and they thought it was good - but actually that was rubbish too.
And all the time they looked down their noses at the plebs with their Visual Studio and their VB and their .Net, and somehow failed to notice that these were the guys who were actually delivering useful applications that real users could actually use. Poor things. Don't they understand it can't be 'real' software if normal people can actually use it. Where are the all the free-text config files that you need to edit to make it work. All looks very noddy to me.... Just a toy...
Believe me there will NEVER be a good Java IDE for creating GUI applications. It's just not in their blood.
btw I use both Eclipse and Visual Studio pretty much every day. They are both excellent tools and in reality they don't compete at all. If you are a Microsoft developer you're going to use Visual Studio, if you're a Java developer you're going to use Eclipse. So which one is better, or even which you prefer is completely academic, as you don't really have a choice anyway.
Jobs icon as they don't have an Alan Kay one...
VS's killer feature isn't drag and drop...
... it's intellisense and refactoring.
Sure, many of the other IDEs have this kind of thing copied in, but Visual Studio just does it so much better. Especially from 2005 onwards. Debugging tools are unparalleled in my opinion.
Problem also with most other IDEs is they end up written in Java and that means they take ages to fire up and have a sluggish UI. Face it, MS has the libraries built into the OS, and apps that use their libraries will always launch faster. That's why .Net is so great even if the concept is essentially the same as Java (just spread over many languages rather than one).
Talking of intellisense and refactoring, has John Bridges` lost the plot?
"Has the author even touched VS and Eclipse ?
Using VS is like water torture nowadays and the lack of refactoring (and quick) intellisense makes using it on any large project a nightmare"
Huh? Have *you* used VS in the last decade?
Maven's failing is its lack of support for VS
In the end, it is the users who will drive demand for Java or .NET and not the opinions of developers. This is why I think MDA/MDD is so important today and into the future when new VMs arrive.
On the topic of Maven, I was unable to get it working for VS2005, let alone VS2008 and found the whole experience very frustrating. I was exposed to Maven via AndroMDA. Even though I prefer VS, I am still interested in targeting customers who prefer Java, so AndroMDA seemed perfect.
AndroMDA / Maven seems to be a terrible implementation of a fantastic idea. I don't know whether to help tweak Maven/AndroMDA for .NET or drop it altogether and concentrate on implementing the concept for myself using a VS plug-in.
MDA is supposed to allow the same "model" to be executed, debugged, profiled, optimised, built and deployed on differing platforms (PIM/PSM). AndroMDA / Maven achieves this at a very basic level, but the advanced features of the VS IDE are lost.
In the perfect MDA world, the choice between a Java VM and .NET should be a matter of preference for the customer (not the developer). If AndroMDA / Maven was living up to it's promises, this would be the case. The platform specific IDE should only be needed to do the profiling and optimising before a build.
BTW, inheritence from the same code-behind file is possible in VS2005 and above. I use inheritence to define common routines for Web Services and Forms without a problem.