FSDN: Sorce Mage GNU/Linux PostgreSQL Techdocs GNU-Friends DotGNU
[GNU-Friends] Sections: Front Page News Interviews GNU-Friends Diaries
Menu: About Submit Story FAQ Donate Search
This page brought to you by: Jonas berg, just another GNU friend.
GNOME: Java the way forward?
By alex, Section Diaries
Posted on Fri Mar 19th, 2004 at 21:49:39 GMT

GNOME - the GNU desktop project - is about to release version 2.6, the latest and greatest release of a project that has been really moving over the past few years. A single-minded focus on key project goals, alongside corporate involvement, has fuelled development to new peaks. But, is the project heading toward a key point? A point where big decisions have to be made to keep up the pace of development, or even speed up? In short, what if the project started to be replaced by parts written in a higher level language, such as Java?

 

The problem isn't immediately obvious, especially if you're not a Gnome hacker. C is not an object-oriented language by any definition, but that has never stopped Gnome, which is architected in that fashion. C++ - C's higher level cousin, with many object-oriented features - is the core language of Gnome's competitor, KDE, and from the outside they don't look hugely different.

However, if you allow yourself to analyse the situation somewhat, there are some differences. Although Gnome was meant to be an object technology, this has never really caught on. KDE is a different kettle of fish - the Konqueror shell is able to contain many different types of components, and KDE programs freely embed each other and communicate richly. Embedding within Gnome is rare, and communication via the ORBit system not terribly common or easy.

Is the language the reason for this? Certainly, many seem to think so. Mono - the project to implement a free software version of Microsoft's .net system (to simplify greatly ;) - has been quickly developed, but already showing substantial completeness and power (one can argue that it would be easier, as it's a copy, but then a lot of Gnome's APIs etc. are at least influenced by others to a greater or lesser extent; therefore I don't buy that argument). Applications are being put together with surprising speed (surprising even those putting them together for the first time), and it does seem that there is some power in these development tools.

Havoc Pennington's thoughts, though, seem to veer toward the use of Java as the way forward. Partially because there are decent free software implementations and libraries (note, that "Java" in this instance is the language and bytecode, not the platform), partially because it is the toy of our friend (Sun, who have contributed much to Gnome), partially because it is the enemy of our enemy (Microsoft's #1 competitor is Java, arguably), partially for any number of other reasons. Many of them begin to make sense, though.

I have never had a liking for Java. It is slow in my experience. The language is somewhat clunky, and there are no free software implementations (now talking about the platform). However, strip away some of this, and what do we have? GNU Classpath, a good set of libraries. gjc, the GNU java compiler, and both Kaffe and Jikes, free software virtual machines. AWT is a multi-platform toolkit that is usable, and there are excellent development environments (such as Eclipse).

Is now the time to re-evaluate where we stand? Is Mono destined to become another WINE - useful for porting, but never a core piece of technology? And, is the non-free shadow of Java (the platform) enough to make us not want to use Java (the language and bytecode)? Only time will tell, of course, and the developers are the ones with the say, but it is at least an interesting conundrum. C has probably outlived it's usefulness on the desktop - but where from here?

< FFII EU conference and free software meeting (Brussels, 14-15 April) (1 comments) | Proposal for Debian to drop non-free section fails to reach 3:1 majority (2 comments) >
Login
Make a new account
Username:
Password:

Poll
What system for Gnome?
Stay with C
C++
Objective C
C#/other on Mono or .GNU pnet
Java on Kaffe/Jikes
Java on IKVM + Mono/pnet
Java/C#/Other on Parrot
LISP, Scheme, Guile, ASM, Sanskrit, other ancient language
50% or more of these options are unintelligible to me

Votes: 63
Results | Other Polls

View: Display: Sort:
GNOME: Java the way forward? | 12 comments (12 topical, editorial) | Post A Comment
[new] stay with C (#1)
by brian (#54) () on Mon Mar 22nd, 2004 at 12:00:28 GMT
(User Info) http://www.network-theory.co.uk/

I voted for "stay with C", purely on the principle that "when you've made your bed, you've got to lie in it". ;-) While object embedding is cumbersome in C, I (and most people) can live without it if the software is free.

The problem with most other choices is that they are "research projects", i.e. there is no proven model, and therefore much harder. Writing a new compiler in order to implement a desktop enviroment is not logical way of proceeding, in my opinion :-(

Proven models are C, C++ and Objective-C, and possibly Lisp. For each of those it's known what is realistically possible.

When I think about the really good performance and excellent applications on the Nextstation (a completely underpowered machine by modern standards -- 25MHz 68040 w/ 8MB RAM ) I had over 10 years ago, compared with the resources needed to run GNOME or KDE today, it's clear that we have a long way to go to catch up :-(

So my second choice would by Objective-C.
--
Brian
[ Reply to This ]


[new] New Language (#8)
by memmel2 (#608) on Sat May 15th, 2004 at 03:50:08 GMT
(User Info)

I'm working on a new language I call JaC Java and C its basically Objective C with java syntax or consider Java with structurs pointers and functions if you wish. Its designed to present a friendly java interface to application programmers but give the power of C to the library programmer If your intrested email me at memmel2@yahoo.com

[ Reply to This ]


 
[new] fiberglass (#9)
by a member of the hurd (#-1) on Sat Dec 4th, 2004 at 06:59:45 GMT

flashlights,GOOGLE,վ,welding,fabrics,fiberglass,fiberglass,fiberglass yarns,ceramic fiber,ceramic fiber,ceramic fiber,tadpole,pneumatic,pneumatic,solenoid,pneumatic,pneumatic,treatment unit,,fan belt,timing belt,v-belt,fuel hose,oil seal,radiator hose,rubber hose,GOOGLE,վ,lost wax casting,Carbon Steel casting,iron casting,precision casting china,investment casting china

[ Reply to This ]


 
[new] fiberglass (#10)
by a member of the hurd (#-1) on Sun Dec 19th, 2004 at 03:32:56 GMT

angle grinder,bearings,blower vac,chain saw,magnets,pallet jack,polisher,shredder,washing machine,water dispenser,wheels,wrench,washing machine,magnetic system,electrical fan,electric kettle,heater,sport shoes,chinese clothing

[ Reply to This ]


 
[new] soft down (#11)
by a member of the hurd (#-1) on Thu Jan 13th, 2005 at 16:12:59 GMT

Perhaps I should have worded the second and third sentences of my posting differently, because I guess they don't get the point across. SkunkLink is a nice, simple model, with intuitive markup to go with it, but as a model plus markup, it doesn't say anything about what apps might do with the markup. ("When a link contains multiple arcs with the same prominence, the arcs in question are intended as alternatives for selection by the end user. As with the arc-type, implementations are free to interpret the prominence in any suitable manner.") downfxxzsoftdown

[ Reply to This ]


 
[new] jacky (#12)
by a member of the hurd (#-1) on Wed Feb 16th, 2005 at 11:28:11 GMT

acge wutkf mbocsg rnnf fgrfja ckyy jnhe bcal prrysd....

[ Reply to This ]


 
GNOME: Java the way forward? | 12 comments (12 topical, editorial) | Post A Comment
View: Display: Sort:

Verbatim copying and distribution of this article is permitted in any medium, provided this notice is preserved. Images of gnu:s in the logo are © Free Software Foundation, Inc and distributed under the GNU General Public License. Comments are copyright by thir respective owner. All other material are © 2002 .