Feature idea
Richard Dale
Richard_Dale at tipitina.demon.co.uk
Tue Dec 18 02:03:04 UTC 2001
On Monday 17 December 2001 10:01 pm, Gregor Zeitlinger wrote:
> On Mon, 17 Dec 2001, Richard Dale wrote:
> > Here are my plans for Gideon Java support:
> > 3) Avoid Sun technology -'Java the Platform', such as
> > AWT/Swing/Beans/JPDA etc. Just stick to free software such as gcj or
> > Kaffe, and use the java language as a 'better C++' to write KDE and Qt
> > apps. In my opinion, there are too many license problems with Sun's
> > libraries, and I don't think they tend to be very well designed compared
> > with Qt/KDE for instance.
>
> sorry, but i didn't know of this licencing issue. could you give me a url?
Have a look at the GNU classpath project where they are implementing free
software versions of AWT/Swing. To implement Swing, you need to implement
undocumented apis which Sun could change at any time. Recently Sun have
stopped an open source vendor of an EJB framework from calling their stuff
'EJB', because they can't afford to pay the very high cost of EJB
certification. So you could get past the undocument api stuff, and then find
Sun want to charge you lots of money for Swing 'certification' (maybe only if
you came up with a good implementation that might compete with theirs).
> and what is badly designed about java? I'm just wondering, because I'm
> looking for a platform/language for a new GPL application, which should
> run under Linux and Win. Is Java+KDE suitable for that?
I don't think Swing is well designed - for instance, Qt's slots/signals are
much easier to code than clunky Swing event listeners.
The debug format of .class files is badly designed because it has info in line
number within class format. If you have to specify breakpoints to jdb as
<classname><method name>, how do you set breakpoints in anonymous classes? I
don't actually know. I've seen bug reports on the Eclipse IDE site about
problems setting breakpoints in anonymous classes, so the inconvenient design
of the .class file debug format can have an big impact.
Other debuggers, such as gdb, have the debug info in line number/source
filename format. When you implement breakpoints in KDevelop, someone clicks
on the breakpoint and a signal is emitted with the line number, and source
filename (as far as I can remember). But that makes it very difficult to get
a front end to jdb working properly with gideon (there is a jdb front end in
the cvs under 'javadebugger'). There is no architecture in gideon for
determining which class you are in, when you click on a line in a source file
- and I don't think there should need to be any.
-- Richard
More information about the KDevelop-devel
mailing list