Re: A constructive debate: Eclipse or NetBeans?



Ville Oikarinen wrote:
On Fri, 12 Oct 2007, Jon Harrop wrote:
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:
...

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

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

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
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:

...

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

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

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"
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?

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.

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/ae2fb9c2f14367af/953c1ed9bcb8ff6a?lnk=gst&q=oikarinen#953c1ed9bcb8ff6a

I agree.

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com/products/?u
.



Relevant Pages

  • HOWTO: Run JACL with the Eclipse Ide as an external tool.
    ... It's now possible to run JACL with the Eclipse IDE as an external tool. ... Download the java runtime from http://www.java.com and install on your ...
    (comp.lang.tcl)
  • Re: A constructive debate: Eclipse or NetBeans?
    ... I just compare Java development ... an error to call them caches if Eclipse won't invalidate them when they ... What does it matter how "much" the project uses OpenGL. ... when you build JOGL and different options when you try to run their demos. ...
    (comp.lang.java.softwaretools)
  • Re: A constructive debate: Eclipse or NetBeans?
    ... However, I've tried NetBeans recently. ... better support for creating GUIs than Eclipse ... "make" as a build system and primarily programming in OCaml. ... Sun's Java implementation. ...
    (comp.lang.java.softwaretools)
  • RE: FC4 - Eclipse problem
    ... >> If I install the Eclipse platform (and their ... > Eclipse in FC4 has been compiled with gcj java ... not Java Bytecode as the Normal ... > If you just install Java 1.5, ...
    (Fedora)
  • Re: Debugger
    ... To attach to a running process using VC (this is Visual Studio 2003 specific, ... go to your Java code. ... At this stage /don't/ use Eclipse to do this, ... Now you may see that your breakpoint has changed to show a '?'. ...
    (comp.lang.java.programmer)