Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Tools / November 2007

Tip: Looking for answers? Try searching our database.

A constructive debate: Eclipse or NetBeans?

Thread view: 
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 Magazines

Get 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 ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.