Java Forum / Tools / November 2007
A constructive debate: Eclipse or NetBeans?
Michele 'xjp' - 26 Jul 2007 18:40 GMT Hi there, I've been using Eclipse for a while. However, I've tried NetBeans recently. Here is my point:
Eclipse: + more speed and stability than NetBeans + more plugins available + better refactoring support than NetBeans
NetBeans: + more clean than Eclipse in managing plugins and installs + better support for creating GUIs than Eclipse
What do you think?
Thanks
Lew - 26 Jul 2007 23:42 GMT > Hi there, > I've been using Eclipse for a while. [quoted text clipped - 11 lines] > > What do you think? I think the refactoring support in NetBeans is on a par with that in Eclipse. I also find NetBeans equivalently stable.
While Eclipse has "more plugins available", NetBeans has more functionality built into the core product, so extra plugins aren't as necessary. I'd say that one tilts toward NetBeans.
I discern no speed difference between the two. On what are you basing the claim that Eclipse has "more speed"? What metric of speed?
I find the UI for NetBeans much easier for me to use, and deployment of Web and Enterprise projects is much smoother in NetBeans. NetBeans's options are much easier for me to configure, especially in the area of mounting databases and application servers.
For the record, I use both Eclipse (and its IBM productized version, WSAD) and NetBeans extensively, and have for years.
YMMV.
 Signature Lew
Mishagam - 28 Jul 2007 22:46 GMT >> Hi there, >> I've been using Eclipse for a while. [quoted text clipped - 31 lines] > > YMMV. I vaguely remember that NetBeans GUI builder used some non-standard Java classes - I didn't like this, and I use Eclipse for my Console Java and Swing Java projects. I prefer Eclipse for regular Java work, through I cannot remember concrete Eclipse advantages. It seems that starting debugging sessions in Eclipse is little bit more natural, You more clearly see what you are debugging now. Also NetBeans method of library management is too complicated. I, however, use NetBeans exclusively for Servlets and JSP programming. I was unable to achieve such functional debugging environment for servlets and JSP in Eclipse. I don't remember noticing very visible speed differences between NetBeans and Eclipse.
Michele 'xjp' - 30 Jul 2007 10:26 GMT Lew ha scritto:
> I think the refactoring support in NetBeans is on a par with that in > Eclipse. I also find NetBeans equivalently stable. > > While Eclipse has "more plugins available", NetBeans has more > functionality built into the core product, so extra plugins aren't as > necessary. I'd say that one tilts toward NetBeans. What do you think about EasyEclipse?
Mishagam - 04 Aug 2007 03:40 GMT > Lew ha scritto: >> I think the refactoring support in NetBeans is on a par with that in [quoted text clipped - 5 lines] > > What do you think about EasyEclipse? I never heard about it. I don't think that I myself need more "easy" IDE than Eclipse. It is easy and natural enough now to do most standard things for me.
David Kerber - 30 Jul 2007 18:06 GMT > Hi there, > I've been using Eclipse for a while. [quoted text clipped - 11 lines] > > What do you think? IMO, NetBeans UI is slightly more intuitive than Eclipse. Both are quite functional, though.
 Signature Remove the ns_ from if replying by e-mail (but keep posts in the newsgroups if possible).
Jon Harrop - 12 Oct 2007 15:42 GMT > I've been using Eclipse for a while. > However, I've tried NetBeans recently. [quoted text clipped - 12 lines] > > Thanks My background is Debian Linux with command line tools, "Emacs" as an editor, "make" as a build system and primarily programming in OCaml. I had never used an IDE until recently learning F# and Visual Studio. So I think my view point is unusual here! :-)
I've tried both Eclipse and NetBeans. My first impressions are that Eclipse is the only one with a signficant user base but it is extremely slow, invasive and cumbersome to use. NetBeans is slightly easier to use but has a tiny user base.
I actually found this extremely shocking because so many people complain that Linux and command-line driven languages like OCaml are so much more difficult to use and they miss a good IDE. So I think I should give some specific examples.
Writing a hello world program is much harder with either Eclipse or NetBeans. With the tools I am used to, you do (including installation of all necessary software):
$ sudo apt-get install ocaml $ cat >hello.ml print_endline "Hello world!" $ ocamlbuild hello.byte $ ./hello.byte Hello world! $
With Eclipse you do:
. sudo apt-get install sun-java6-jdk eclipse . Run Eclipse and wait *30* seconds for it to start. . Eclipse runs extremely unreliably and keeps crashing with null pointer exceptions. . Discover that Eclipse is using the GNU Java implementation rather than Sun's Java implementation. . Learn how to alter the chosen Java implementation used by Eclipse by running:
$ sudo update-alternatives --config java
. Learn about WorkBenches, Views, Projects and so on. . Click "Window -> Open Perspective -> Java". . Click "File -> New -> Project". . Select "Java -> Project". . Click Next. . Type Project name: HelloWorld. . Click Finish. . Right click the new project and then "New -> Class". . Type Name: HelloWorld. . Select "public static void main(String[] args)" . Sift through generated boilerplate code and fill in:
System.out.println("Hello World!");
. Right click the HelloWorld project, "Run As -> Java Application".
After several hours I had a working Hello world program in Java but I still do not understand how to build software using this IDE. The same thing using OCaml takes two minutes.
The next trivial example is a GUI hello world program. In OCaml:
$ sudo apt-get install liblablgtk2-ocaml-dev $ cat >hello2.ml ignore(GtkMain.Main.init()); (GWindow.window ())#show(); GMain.Main.main () $ ocamlbuild -verbose 1 -cflags -I,+lablgtk2 -lflags -I,+lablgtk2 -libs lablgtk hello2.byte $ ./hello2.byte Hello world! $
In Java using Eclipse:
. Start a browser. . Go to eclipse.org, "By Project -> Eclipse Platform Home -> SWT -> Download". . Click "File -> Import". . Select "Existing Projects into Workspace". . Browse for the downloaded file "Desktop/swt-3.3-gtk-linux-x86.zip". . Manually import the downloaded SWT file. . Create another HelloWorld Java project. . Right click on the project and select Properties. . Go to "Java Build Path -> Projects". . Add org.eclipse.swt. . Create another HelloWorld class in the new HelloWorld project. . Add the code:
Display display = new Display(); Shell shell = new Shell(display); shell.setText("Hello world"); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } display.dispose(); }
. Right click in the editor and select "Source -> Organize Imports". . Right click the project and select "Run As -> SWT Application".
This doesn't actually work though. I get:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-gtk-3346 or swt-gtk in swt.library.path, java.library.path or the jar file at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.C.<clinit>(Unknown Source) at java.lang.Class.initializeClass(libgcj.so.71) at java.lang.Class.initializeClass(libgcj.so.71) at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source) at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source) at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source) at java.lang.Class.initializeClass(libgcj.so.71) at HelloWorld.main(HelloWorld.java:11)
However, I actually want to develop OpenGL-based libraries and applications. Given the enormous base of Java programmers compared to OCaml programmers, I was surprised to discover that this is also much easier in OCaml.
For example, the following gets you a running OpenGL program in OCaml including installation and setup of all software and libraries and complete source code:
$ sudo apt-get install liblablgl-ocaml-dev $ cat >demo.ml let argv' = Glut.init Sys.argv;; ignore (Glut.createWindow ~title:"OpenGL Demo");; GlClear.color (0.1, 0.3, 0.1);; Glut.displayFunc ~cb:(fun () -> GlClear.clear [ `color ]; Gl.flush ());; Glut.mainLoop () $ ocamlc -I +lablGL lablgl.cma lablglut.cma demo.ml -o demo $ ./demo
This takes a few minutes and works on Linux and Mac OS X.
In contrast, it took me two days and several requests for help to get even a minimal OpenGL demo working from Java and that only works from the command line. I started by trying to find OpenGL bindings for Java but, amazingly, none are as mature (reliable) as OCaml's LablGL and, consequently, there is nothing of use in the Debian package repository. Apparently Sun are aware of this deficit and they are working with SGI to resolve it.
I discovered that NetBeans has an add-on to provide OpenGL from Java. I tried it, could not get it to work and went to ask for help on their forum only to discover that nobody has ever posted to the forum:
https://netbeans-opengl-pack.dev.java.net/servlets/SummarizeList?listName=users
Needless to say, this is not what I was expecting from a mainstream language. Installing JOGL required various .properties files to be copied to certain locations and edited, various environment variables to be set and so forth. Even after all that, only a couple of the demos actually work. Trying to run other people's OpenGL-based Java demos from the web I find that all are unstable on both my Linux box and my Windows box. Asking around, this seems to be a ubiquitous problem specific to Java.
So my impressions so far are that command-line tools are much easier to use and obviously far more powerful than these "industrial-strength" IDEs. I believe people only use them because they feel more comfortable with a GUI but, when the GUI is this complicated and unintuitive, I think you have to question whether or not a command line is better.
Perhaps you should consider ditching IDEs altogether?
 Signature Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u
Ville Oikarinen - 12 Oct 2007 20:45 GMT > Writing a hello world program is much harder with either Eclipse or > NetBeans. With the tools I am used to, you do (including installation of [quoted text clipped - 10 lines] > With Eclipse you do: > ... As silly as it generally is to cite one's own text I don't know how else to put it:
http://www.theserverside.com/news/thread.tss?thread_id=34619#175257
If helloworld is really all you want, why don't you just type echo Hello World and be happy?
Yes, I agree that Java and Eclipse require some effort to get you going, but in real projects this really doesn't matter.
OCaml versus Java is another topic and I'm not going to discuss it here. I'm just pointing out that your "helloworld is difficult" point is irrelevant.
> . sudo apt-get install sun-java6-jdk eclipse > . Run Eclipse and wait *30* seconds for it to start. > . Eclipse runs extremely unreliably and keeps crashing with null pointer > exceptions. Do you really think this is what most Eclipse users experience? I believe your system is broken.
> . Discover that Eclipse is using the GNU Java implementation rather than > Sun's Java implementation. > . Learn how to alter the chosen Java implementation used by Eclipse by > running: > > $ sudo update-alternatives --config java This problem is not related to Java or to Eclipse at all. It's a Debian problem at most. Or "GNU Java", I don't know. Or a local problem?
> However, I actually want to develop OpenGL-based libraries and applications. > Given the enormous base of Java programmers compared to OCaml programmers, [quoted text clipped - 5 lines] > > ... Just one example: Jake2, a Java version of Quake2 (http://bytonic.de/html/jake2.html).
This is a fine example of how to do SCM. At least when I tried the source distribution (a year or two ago), it was very easy to build the application. Just run ant. Windows or Linux (Gentoo), no difference.
> In contrast, it took me two days and several requests for help to get even a > minimal OpenGL demo working from Java and that only works from the command > line. I started by trying to find OpenGL bindings for Java but, amazingly, > none are as mature (reliable) as OCaml's LablGL and, consequently, there is > nothing of use in the Debian package repository. Apparently Sun are aware > of this deficit and they are working with SGI to resolve it. Yes, it's a pity that things don't just work. But that's what good examples are for, like Jake2 above.
> Needless to say, this is not what I was expecting from a mainstream > language. Installing JOGL required various .properties files to be copied [quoted text clipped - 3 lines] > that all are unstable on both my Linux box and my Windows box. Asking > around, this seems to be a ubiquitous problem specific to Java. Yes, Sun should learn from 3rd party Java projects and make things work out of the box.
> So my impressions so far are that command-line tools are much easier to use > and obviously far more powerful than these "industrial-strength" IDEs. I [quoted text clipped - 3 lines] > > Perhaps you should consider ditching IDEs altogether? I think your problems have nothing to do with the IDE versus cli question. Generally I agree: If I had to choose between cli only and gui only I would choose cli only. But since we are allowed to combine the best of both worlds, it's nice to have IDEs.
For me it's important to know what the IDE does for me, but some people seem to be happy to use IDEs without this knowledge. This is a question I have discussed in another thread a long ago:
http://groups.google.com/group/comp.lang.java.softwaretools/browse_frm/thread/ae 2fb9c2f14367af/953c1ed9bcb8ff6a?lnk=gst&q=oikarinen#953c1ed9bcb8ff6a
- Ville Oikarinen
Jon Harrop - 13 Oct 2007 07:43 GMT >> Writing a hello world program is much harder with either Eclipse or >> NetBeans. With the tools I am used to, you do (including installation of [quoted text clipped - 15 lines] > > http://www.theserverside.com/news/thread.tss?thread_id=34619#175257 You say:
"I just measured that it takes 40 seconds to walk 100m, but 70 seconds to drive a car (starting and parking take time, you know). I don't even want to know how long it takes to drive 500km."
You are implying that developing something more significant would be easier in Eclipse. However, I've tried text, GUI and OpenGL programming now and none are made easier by Eclipse.
So what exactly do you think Eclipse makes easy?
> If helloworld is really all you want, why don't you just type echo Hello > World and be happy? The merits of hello world as a first example for any programming language are widely appreciated.
> Yes, I agree that Java and Eclipse require some effort to get you going, > but in real projects this really doesn't matter. If it takes me several days to get even the simplest libaries working from Eclipse then I can assure you that it will matter in real projects.
> OCaml versus Java is another topic and I'm not going to discuss it here. Sure. Except perhaps the ease of building. I was surprised to see that compiling the trivial OpenGL demos with JOGL using "ant" is vastly more complicated.
>> . sudo apt-get install sun-java6-jdk eclipse >> . Run Eclipse and wait *30* seconds for it to start. >> . Eclipse runs extremely unreliably and keeps crashing with null pointer >> exceptions. > > Do you really think this is what most Eclipse users experience? Yes.
> I believe your system is broken. Our systems are fine. Eclipse is broken and I even explained how to fix it in this case next:
>> . Discover that Eclipse is using the GNU Java implementation rather than >> Sun's Java implementation. [quoted text clipped - 5 lines] > This problem is not related to Java or to Eclipse at all. It's a Debian > problem at most. Or "GNU Java", I don't know. Or a local problem? If Eclipse only works on certain Java implementations then it should check at startup that it is running on one such implementation.
>> However, I actually want to develop OpenGL-based libraries and >> applications. Given the enormous base of Java programmers compared to [quoted text clipped - 9 lines] > Just one example: Jake2, a Java version of Quake2 > (http://bytonic.de/html/jake2.html). That is certainly an excellent example of a Java/JOGL program that works well under both Linux and Windows here. However, its use of OpenGL is minimal because Quake II came from an age where software renderers were commonplace. Perhaps this is why it is one of the few Java/OpenGL demos to work reliably?
If you're interested, this is one of the unreliable demos:
http://weblogs.java.net/blog/campbell/archive/2006/10/easy_2d3d_mixin.html
> This is a fine example of how to do SCM. At least when I tried the source > distribution (a year or two ago), it was very easy to build the > application. Just run ant. Windows or Linux (Gentoo), no difference. I'll take a closer look. Is there an Eclipse project for Jake2?
>> In contrast, it took me two days and several requests for help to get >> even a minimal OpenGL demo working from Java and that only works from the [quoted text clipped - 6 lines] > Yes, it's a pity that things don't just work. But that's what good > examples are for, like Jake2 above. AFAIK, Jake2 is distributed as source code to be compiled from the command line and not as an Eclipse project. So it cannot serve as a demonstration of Eclipse being able to function correctly.
Also, even if working Eclipse projects were in abundance they would still not convey the information required to create them. For example, I have no idea what bizarre combination of clicks and slides is required to perform certain trivial operations.
>> Needless to say, this is not what I was expecting from a mainstream >> language. Installing JOGL required various .properties files to be copied [quoted text clipped - 6 lines] > Yes, Sun should learn from 3rd party Java projects and make things work > out of the box. Perhaps if I explain what I was expecting it might clarify my position. If I'm going to use a graphical IDE then I expect several features:
1. Ease of use. 2. Graphical examples, e.g. built-in tutorial videos and walkthroughs. 3. Automatic install and setup of many standard libraries.
In the case of Eclipse, I find that the "Samples" page contains a single sample, and the "Tutorial" page requires you to manually download and install the relevant libraries and then manually reference them from your project. In particular, I thought Eclipse/Java were supposed to be a killer combo for cross-platform GUI development so the last thing I expected was to have to manually download and install some random platform-specific GUI library.
>> So my impressions so far are that command-line tools are much easier to >> use and obviously far more powerful than these "industrial-strength" [quoted text clipped - 8 lines] > would choose cli only. But since we are allowed to combine the best of > both worlds, it's nice to have IDEs. What would you use Eclipse for?
> For me it's important to know what the IDE does for me, but some people > seem to be happy to use IDEs without this knowledge. This is a question I > have discussed in another thread a long ago: http://groups.google.com/group/comp.lang.java.softwaretools/browse_frm/thread/ae 2fb9c2f14367af/953c1ed9bcb8ff6a?lnk=gst&q=oikarinen#953c1ed9bcb8ff6a
I agree.
 Signature Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u
Ville Oikarinen - 15 Oct 2007 11:30 GMT > You say: > [quoted text clipped - 7 lines] > > So what exactly do you think Eclipse makes easy? You can press ctrl-space in a lot of contexts and get a list of suggestions of what to do next. For example you can type a variable and a dot, press ctrl-space and get a list of fields and methods to refer to. Or type getStartOfAFieldName, press ctrl-space and make Eclipse generate the getter automatically. Etc etc.
Another nice feature is navigation by ctrl-clicking references. Or a quick type hierarchy by pressing ctrl-t over a (super) class name. Etc etc.
One of the most powerful features of IDEs are the refactoring tools. It's amazing how totally a program can be redesigned by following semantics-preserving refactoring steps. If you have never used them, I don't expect you to believe me: just try them and be surprised. You'll never go back to regular expression replacements.
(Of course the denser a language the more you can do without refactoring tools, but I won't compare languages here. I just compare Java development with and without an IDE.)
Then there is the "integrated" aspect: a lot of features available as separate tools work best when integrated.
Etc etc.
> > Yes, I agree that Java and Eclipse require some effort to get you going, > > but in real projects this really doesn't matter. > > If it takes me several days to get even the simplest libaries working from > Eclipse then I can assure you that it will matter in real projects. Then I suggest _you_ don't use Eclipse and Java. Just don't be too hasty to draw any further conclusion from that.
Anyway, I agree partially that Eclipse workspace creation should be easier. I even filed a bug about the fact that you cannot create a fully working workspace programmatically and then just use it. Eclipse writes a lot of workspace-specific caches that don't work even inside the same workstation, let alone after porting them to another user. (And it's even an error to call them caches if Eclipse won't invalidate them when they are outdated.)
But, I have managed to semiautomatize the workspace creation with ant so for larger projects this isn't a showstopper. And many typical setups can be commited to version control by commiting the eclipse setting files.
> If Eclipse only works on certain Java implementations then it should check > at startup that it is running on one such implementation. Ok, if this is the case, you are right. IMHO that's just one (fairly minor) bug, annoying when you stumble upon it, but clearly solvable.
> That is certainly an excellent example of a Java/JOGL program that works > well under both Linux and Windows here. However, its use of OpenGL is > minimal because Quake II came from an age where software renderers were > commonplace. Perhaps this is why it is one of the few Java/OpenGL demos to > work reliably? What does it matter how "much" the project uses OpenGL. Just one call to the API means you need the whole setup working.
> AFAIK, Jake2 is distributed as source code to be compiled from the command > line and not as an Eclipse project. So it cannot serve as a demonstration > of Eclipse being able to function correctly. It's really not that difficult to import projects to eclipse or create a project around an existing non-eclipse project. Eclipse is pretty clever at detecting source directories and libraries. Try it.
> What would you use Eclipse for? All Java development. I've also used NetBeans and IntelliJ IDEA, and both are very fine, too. But I would never go back at editing Java as directories and files instead of projects and classes.
I could explain things more, but since your arguments are exceptionally subjective, I think this is enough for now. You have a point that there is work to do when starting development with Eclipse but for anything bigger than helloworld this problem is easily eclipsed by the power of the IDE.
- Ville Oikarinen
Jon Harrop - 15 Oct 2007 18:58 GMT > One of the most powerful features of IDEs are the refactoring tools. It's > amazing how totally a program can be redesigned by following [quoted text clipped - 5 lines] > tools, but I won't compare languages here. I just compare Java development > with and without an IDE.) Right. I don't even use regular expression replacements but I can well imagine that anything to help with unwieldy Java projects would be a huge benefit.
I'm really stunned every time I see Java code. In fact, the first thing I thought when I looked at Scala was "bloody hell that's verbose!". ;-)
> Anyway, I agree partially that Eclipse workspace creation should be > easier. I even filed a bug about the fact that you cannot create a fully [quoted text clipped - 3 lines] > an error to call them caches if Eclipse won't invalidate them when they > are outdated.) Ugh. Just me trying it here for the time being though. :-)
>> If Eclipse only works on certain Java implementations then it should >> check at startup that it is running on one such implementation. [quoted text clipped - 10 lines] > What does it matter how "much" the project uses OpenGL. Just one call to > the API means you need the whole setup working. No, there are different OpenGL versions, extensions and auxiliary libraries (like Cg toolkits and the GLU). They all require different compile options when you build JOGL and different options when you try to run their demos. My point about Jake2 is simply that it is using such an old form of OpenGL (predating vertex buffer objects, frame buffer objects, programmable pipelines and so on).
I just managed to getting lesson 2 from NeHe working today. The JOGL source on the NeHe site and even the demos bundled with JOGL itself are already outdated because they've changed namespaces and tweaked the API since they were written. I'm going to need them to settle down before I'll be happy writing a book on it...
>> AFAIK, Jake2 is distributed as source code to be compiled from the >> command line and not as an Eclipse project. So it cannot serve as a [quoted text clipped - 3 lines] > project around an existing non-eclipse project. Eclipse is pretty clever > at detecting source directories and libraries. Try it. I'll give it a go. I've read a lot of conflicting advice about installing libraries though. A lot of people say just copy the .jar's into .../jre/lib/ext/ and the .so's into .../jre/lib/amd64/ but the official documentation warns against this for non-specific reasons. In the end, I ignored the advice of the official JOGL docs and installed it by hand. Compiling and running JOGL demos is easier now but most of them still don't work.
>> What would you use Eclipse for? > [quoted text clipped - 6 lines] > work to do when starting development with Eclipse but for anything bigger > than helloworld this problem is easily eclipsed by the power of the IDE. Having used C# in Visual Studio I see what you mean. I guess I hadn't really noticed how essential an IDE is for such languages. Also, after I grew accustomed to type throwback of OCaml code in Emacs, I really missed it when I accidentally blitzed it whilst upgrading. So I suppose I do use some IDE-like features already...
Thanks for the advice!
 Signature Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u
Ville Oikarinen - 16 Oct 2007 07:44 GMT > > Anyway, I agree partially that Eclipse workspace creation should be > > easier. I even filed a bug about the fact that you cannot create a fully [quoted text clipped - 5 lines] > > Ugh. Just me trying it here for the time being though. :-) I didn't quite understand. Let me clarify what I said, just in case you thought I was talking about something people do every day with Eclipse:
I meant it's virtually impossible to create a _whole_ workspace (with Eclipse, plugins, projects, settings, just press play on tape...) programmatically. Individual project settings (and a lot of them) can be commited to version control and many typical settings work out of the box after checking them out.
> I'll give it a go. I've read a lot of conflicting advice about installing > libraries though. A lot of people say just copy the .jar's [quoted text clipped - 3 lines] > hand. Compiling and running JOGL demos is easier now but most of them still > don't work. I have never written anything under the jre/jdk directory. The whole thought of stabbing installed software makes me feel sick :)
Fortunately, I don't think there's ever any need for that, either.
- Ville Oikarinen
Purnank Ghumalia - 14 Oct 2007 05:28 GMT > . sudo apt-get install sun-java6-jdk eclipse > . Run Eclipse and wait *30* seconds for it to start. > . Eclipse runs extremely unreliably and keeps crashing with null pointer > exceptions. > . Discover that Eclipse is using the GNU Java implementation rather than > Sun's Java implementation. I downloaded eclipse directly from eclipse.org, and regularly update the installation using their update module. The distribution with Ubuntu is delayed...
> . Learn how to alter the chosen Java implementation used by Eclipse by > running: > > $ sudo update-alternatives --config java
> So my impressions so far are that command-line tools are much easier to use > and obviously far more powerful than these "industrial-strength" IDEs. I [quoted text clipped - 3 lines] > > Perhaps you should consider ditching IDEs altogether? Also, No offense, but Please understand the difference between and editor and an IDE.
> -- > Dr Jon D Harrop, Flying Frog Consultancyhttp://www.ffconsultancy.com/products/?u -- Purnank Ghumalia
Jon Harrop - 14 Oct 2007 06:52 GMT > I downloaded eclipse directly from eclipse.org, and regularly update > the installation using their update module. The distribution with > Ubuntu is delayed... I hadn't really considered doing that having been plagued by clashes before.
>> Perhaps you should consider ditching IDEs altogether? > > Also, > No offense, but Please understand the difference between and editor > and an IDE. What exactly do you mean in this context?
 Signature Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u
Jeroen Wenting - 14 Oct 2007 08:30 GMT > I've tried both Eclipse and NetBeans. My first impressions are that > Eclipse > is the only one with a signficant user base but it is extremely slow, > invasive and cumbersome to use. NetBeans is slightly easier to use but has > a tiny user base. In my experience Netbeans is slower than is Eclipse, and Eclipse isn't (depending on the hardware it's running on) all that slow. Of course compared to VI everything is slow :)
Both Eclipse and Netbeans are cumbersome when you're not used to it. But Eclipse kinda grows on you to a degree, it never really suited my tastes.
> I actually found this extremely shocking because so many people complain > that Linux and command-line driven languages like OCaml are so much more > difficult to use and they miss a good IDE. So I think I should give some > specific examples. That's because most people never learn to use a command line or a simple text editor.
OTOH when doing larger projects, with hundreds or thousands or interrelated sources, the project organisation integrated with the editor and debugging facilities of a well designed IDE are invaluable.
> In contrast, it took me two days and several requests for help to get even > a [quoted text clipped - 4 lines] > nothing of use in the Debian package repository. Apparently Sun are aware > of this deficit and they are working with SGI to resolve it. Had you had the same expertise in Java that you do in Ocalm you'd have got it working faster. So your comparison isn't valid.
> Needless to say, this is not what I was expecting from a mainstream > language. Installing JOGL required various .properties files to be copied [quoted text clipped - 4 lines] > that all are unstable on both my Linux box and my Windows box. Asking > around, this seems to be a ubiquitous problem specific to Java. JOGL isn't Java. If the designers of the library made those decisions, don't blame Java for it... Also don't blame Java for your lack of experience using it.
> So my impressions so far are that command-line tools are much easier to > use > and obviously far more powerful than these "industrial-strength" IDEs. I They are not. You're just more used to them.
> believe people only use them because they feel more comfortable with a GUI > but, when the GUI is this complicated and unintuitive, I think you have to > question whether or not a command line is better. It's better, for some things. It's far less productive, for others.
> Perhaps you should consider ditching IDEs altogether? Maybe you should consider ditching the anti-Java ranting based on nothing but a flawed experiment designed around a desired result to make Java (and IDEs) look bad?
Lew - 14 Oct 2007 19:27 GMT > In my experience Netbeans is slower than is Eclipse, Would you please give details? What exactly is slower, and by how much?
I have used NetBeans and Eclipse for years, often on the same machine for the same code base. While I know of many areas that differ between them, I am curious to know which can be characterized as speed of the IDE itself.
What is a good set of metrics for an IDE's utility? What is the best set of metrics?
 Signature Lew
Jon Harrop - 15 Oct 2007 05:58 GMT >> I actually found this extremely shocking because so many people complain >> that Linux and command-line driven languages like OCaml are so much more [quoted text clipped - 3 lines] > That's because most people never learn to use a command line or a simple > text editor. Wow, ok.
> Had you had the same expertise in Java that you do in Ocalm you'd have got > it working faster. > So your comparison isn't valid. I quantified the steps I took. I believe they are all necessary. Can you get a working result in fewer steps?
For example, there is no need to manually copy setup files to your home directory and edit them before running the build system and there is no need to download dependencies manually.
If you want to compare with other technologies that I am less familiar with then I'll draw the comparison with .NET. In F#, the command-line hello world program is:
printf "Hello world!"
and the GUI Hello world program is:
Application.Run(new Form(Text="Hello world"))
I found .NET/VS vastly easier to learn than Java/Eclipse.
>> Needless to say, this is not what I was expecting from a mainstream >> language. Installing JOGL required various .properties files to be copied [quoted text clipped - 6 lines] > > JOGL isn't Java. JOGL reflects that facts that Java bundles nothing of use in this domain and makes it prohibitively difficult to write decent libraries.
In contrast, look how easy it is to use MDX, WPF and even OpenGL from C# in VS. For MDX and WPF, everything you need is even bundled with the IDE.
> If the designers of the library made those decisions, don't blame Java for > it... JOGL is backed by Sun (the creators of Java) and SGI (the creators of OpenGL). If they are having so much trouble writing bindings to OpenGL for Java that work (even if they remain years out of date) then that doesn't exactly bode well for anyone else...
> Also don't blame Java for your lack of experience using it. Like many people, I find OpenGL, OCaml, C#, F# and many other languages and tools easy to use but Java and JOGL hard. What else is there to blame except the only common factor - Java?
Indeed, of the few Java+OpenGL projects that I have been able to find only one worked (Jake2). My lack of experience clearly has no bearing on that result.
>> believe people only use them because they feel more comfortable with a >> GUI but, when the GUI is this complicated and unintuitive, I think you >> have to question whether or not a command line is better. > > It's better, for some things. It's far less productive, for others. Is there anything language-agnostic that is more difficult with a command line?
>> Perhaps you should consider ditching IDEs altogether? > > Maybe you should consider ditching the anti-Java ranting based on nothing > but a flawed experiment designed around a desired result to make Java (and > IDEs) look bad? That is just paranoia dressed up as a cognitive point.
 Signature Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u
Ville Oikarinen - 15 Oct 2007 11:34 GMT > >> believe people only use them because they feel more comfortable with a > >> GUI but, when the GUI is this complicated and unintuitive, I think you [quoted text clipped - 4 lines] > Is there anything language-agnostic that is more difficult with a command > line? If you use an editor, you have already switched from command line to a more interactive user interface. Unless you really use a line editor, which I doubt. Why not go a little further and see what abstractions lie above the level of general text editors? See my previous post where I describe the tricks Eclipse can do for you, like refactorings.
- Ville Oikarinen
Mathias Henze - 15 Oct 2007 20:19 GMT Jon Harrop schrieb:
> If you want to compare with other technologies that I am less familiar with > then I'll draw the comparison with .NET. In F#, the command-line hello [quoted text clipped - 7 lines] > > I found .NET/VS vastly easier to learn than Java/Eclipse. No one denies the fact, that java is more "wordy" than other languages. Your conclusion regarding .NET/VS is based on limited experience. I work with both Java J2EE and .NET for living and have used many IDEs and editors in the last 10 years. I can assure you, that .NET/VS is a pain in the a.. , if you have to do real work instead of hello world thingies. Having said that, both frameworks (.NET/J2EE) have their strength and uses.
>>> Needless to say, this is not what I was expecting from a mainstream >>> language. Installing JOGL required various .properties files to be copied [quoted text clipped - 4 lines] >>> that all are unstable on both my Linux box and my Windows box. Asking >>> around, this seems to be a ubiquitous problem specific to Java. Examples? I am around in this scene, so I am astounded by your claims.
> JOGL is backed by Sun (the creators of Java) and SGI (the creators of > OpenGL). If they are having so much trouble writing bindings to OpenGL for > Java that work (even if they remain years out of date) then that doesn't > exactly bode well for anyone else... JOGL bindings are not backed by SGI and they are largly generated from the OpenGL c/c++ header files, so they reflect exactly the capabilities of your GFX card driver and the underlying OpenGL implementation (Remember: JOGL it's just a binding).
> Like many people, I find OpenGL, OCaml, C#, F# and many other languages and > tools easy to use but Java and JOGL hard. What else is there to blame > except the only common factor - Java? Java and JOGL just is not hard. Until now your only complain is, that you did not get it to run properly... without even trying to contact anyone who could solve your potential problems.
> Indeed, of the few Java+OpenGL projects that I have been able to find only > one worked (Jake2). My lack of experience clearly has no bearing on that > result. Maybe you haven't searched earnestly http://www.jmonkeyengine.com/ http://worldwind.arc.nasa.gov/java/ http://www.tribaltrouble.com/ http://www.specknet.org/dev/specksim http://www.artofillusion.org/ http://processing.org/ http://www.nascar.com/trackpass/about/raceview/ etc.
> Is there anything language-agnostic that is more difficult with a command > line? Formal software design SOA implementation Webservices Application compositing Reengineerung Code navigation Code refactoring Error checking
No offence, but you should not judge industry solutions from the experience of a hobbyist.
Best Regards Mathias Henze
Roedy Green - 14 Oct 2007 11:52 GMT >I've tried both Eclipse and NetBeans Try one more, IntelliJ. I think you will find it more responsive. The code refactoring creates a whole new way of working. the catch: it is not free. You can at least try it out to see if you are missing something you would enjoy.
See http://mindprod.com/jgloss/intellij.html
Make sure you play with
1. the rearranger ( a plug in) 2. code reformat configure 3. refactoring tools 4. code inspector (a lint).
 Signature Roedy Green Canadian Mind Products The Java Glossary http://mindprod.com
Mathias Henze - 15 Oct 2007 19:51 GMT Jon Harrop schrieb:
> I discovered that NetBeans has an add-on to provide OpenGL from Java. I > tried it, could not get it to work and went to ask for help on their forum > only to discover that nobody has ever posted to the forum: > > https://netbeans-opengl-pack.dev.java.net/servlets/SummarizeList?listName=users Being on of the authors of the Netbeans OpenGL pack I am quite disappointed by the fact, that you are criticizing the project for an empty forum while not posting yourself...
> Needless to say, this is not what I was expecting from a mainstream > language. Installing JOGL required various .properties files to be copied > to certain locations and edited, various environment variables to be set and > so forth. Even after all that, only a couple of the demos actually work. That's actually not true. There is no need to copy/edit any properties file and the environment variable changes mentioned are for convenience.
For compiling JOGL based apps, you need to specify the needed jars on the classpath:
javac -classpath path/to/jogl.jar:path/to/gluegen-rt.jar -sourcepath app/sources -d app/classes
and run it via
java -Djava.library.path=path/to/jogl/natives:path/to/gluegen/natives -classpath path/to/jogl.jar:path/to/gluegen-rt.jar:app/classes org.yourorg.YourApp
the above is tedious typing effort, hence the environment variables...
> . Discover that Eclipse is using the GNU Java implementation rather > than Sun's Java implementation. > . Learn how to alter the chosen Java implementation used by Eclipse > (...) That's neither SUNs nor Eclipses fault but simply of the fault of the GNU folks. GCJ, while being nice for it's purposes, is far from being a certified java implementation. It's not even a JVM but a java to native code compiler...
Best Regards Mathias Henze
Andreas Stroeber - 12 Nov 2007 15:47 GMT Although there are many comments on this topic i want to add my subjective point of view...
I worked with Eclipse for about 8 months now. A simple web-project with JSF, Hibernate, Subversion and some related stuff.
For a new project now i wanted to use NetBeans but am not sure to switch to Eclipse again for several reasons. I tried to list some differences i experienced between both.
Sure, i am used to Eclipse for some time now... Sure, both IDEs are quite better than using VI when creating more complex applications than "Hello World".
One is common to ALL Java IDEs i have used in the last years (Eclipse, Netbeans, JDeveloper): they are ugly slow compared to Visual Studio. This may depend on the usage of Java, an interpreted language, the object orientation or whatever... the effect always is the same: working is not very smooth.
Eclipse ======= - very slow and very big + very good integration with Tomcat debugging o module/plugin installation in Eclipse could be better - no free UML tools with Subversion running
NetBeans ======== + fast at first - very slow when using some additional plugins (visual web, ...) o Tomcat bundled with IDE (why? I had an installation.) + good integration with Tomcat debugging (Eclipse seems to be even better, i have not done much testing) + free UML tool working even with collaboration (Subversion) - UML tool doesn't create Java-Sources without errors (missing methods) + Reengineering support for UML (not tested) - JavaDoc editing in Code is stone-aged (with V6 this is supposed to get better, in V5 you have to edit in Dialog-Box and enter each parameter name, ... again) + good support for webprojects with beans, etc. (good visualization) - when using individual project-layout the previous advantage gets a disadvantage - configuration is not arranged very clearly (Eclipse has the similar problem but uses filter-boxes the user can use in configuration dialogs) - You have one main project and the IDE only supports to start and debug this one. To debug another project you have to specify the "new" project as "Main project" - this is easy but incomprehensible.
greetz
>> I've been using Eclipse for a while. >> However, I've tried NetBeans recently. [quoted text clipped - 12 lines] >> >> Thanks Lew - 12 Nov 2007 17:26 GMT > Although there are many comments on this topic i want to add my > subjective point of view... Please do not top-post. Use trim-and-inline posting.
> One is common to ALL Java IDEs i have used in the last years (Eclipse, > Netbeans, JDeveloper): they are ugly slow compared to Visual Studio. I use Visual Studio, NetBeans (6) and Eclipse-based IDEs like WebSphere Application Developer (and Eclipse itself). I see no noticeable difference in speed between NetBeans and VS on the same machine.
Except on my Linux machine, where NetBeans is infinitely faster.
> This may depend on the usage of Java, an interpreted language, the > object orientation or whatever... the effect always is the same: working > is not very smooth. YMMV. NetBeans is very, very smooth whenever I use it.
> NetBeans > ======== > + fast at first > - very slow when using some additional plugins (visual web, ...) > o Tomcat bundled with IDE (why? I had an installation.) NetBeans comes in various installation configurations, not all of which include Tomcat. Even when it does, NB detects my Tomcat installation and feels no need to reinstall it.
> - JavaDoc editing in Code is stone-aged (with V6 this is supposed to get > better, in V5 you have to edit in Dialog-Box and enter each parameter > name, ... again) In NB 6. when you type, for example, "/** " above a method, NB fills in all the @param, @return and @throws tags, along with any template text you've set up for the Javadoc comments.
> + good support for webprojects with beans, etc. (good visualization) > - when using individual project-layout the previous advantage gets a > disadvantage Huh? This statement made no sense to me.
> - You have one main project and the IDE only supports to start and debug > this one. To debug another project you have to specify the "new" project > as "Main project" - this is easy but incomprehensible. What? This assertion is just plain mistaken. I've never had that experience, not even going back to NB 3. I have no trouble whatsoever starting, running, deploying or debugging any of multiple simultaneously-viewable projects in NB, whether the main project or not.
 Signature Lew
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|