A language like the one you are looking for actually exists, and it is Objective-C. The object model in Java is actually a (for, as I believe, security reasons) dumbed down version of ObjC, which in turn is more or less Smalltalk in disguise (i.e. a really nice OO environment).
ObjC has the advantage of being just a very small and simple extension to ANSI C (and hence easy to learn), and the extension does not alter C itself, like C++ does. The ObjC reference manual as it was distributed by NeXT with its machines is roughly 20 pages long; compare that to the average C++ cookbook. GCC and egcs support it natively.
The main advantage of such a hybrid (C with OO extensions) is that you can use the bare metal speed of C in the time-critical parts of your system, and still be very aloof and OO in the general design of the whole application.
I don't want to spoil anybody's party, but having one more not fundamentally different windowmanager is IMHO not what the community would need at the moment. The release of yet another one of these things is not really news worth posting.
The misconception that some people seem to have here is that (windowmanager with nifty features == sensible application development environment), which is not really true. For Linux to succeed, it has to get a *lot* easier to write applications, and this requires more than just WMs. KDE and GNOME are on the right track, but not nearly there yet.
Since there are preciously few examples of what a good ADE can be like, one can't really fault people for not knowing the difference. A nice example of what I'm talking about (which has the advantage that it's dead as a dodo, so I can't really be accused of advocacy) was NeXTStep. It had a degree of integration between display subsystem, API and OS that to my (naturally limited) knowledge has never been achieved elsewhere on a real, workable system (as opposed to, say, concept prototypes from academentia, which so often sound terribly nice, but are not really useable).
Anybody who knew NeXTStep will fondly remember the possibility to write applications mostly by drag-and-drop using InterfaceBuilder, and that drawing in windows was done using Postscript, which only had to be redirected if one wanted to print. Or the ability to use RenderMan streams in 3D viewports. Or the nice, orthogonal localization features. And so on.
People bought the extremely overpriced NeXT machines just in order to be able to use this ADE. At the moment Linux seems to be in a somewhat inverted situation: people use it despite the difficulties in writing GUI software for it. For Linux to _seriously_ threaten the monopoly of M$, better software development tools have to emerge. Let's not kid ourselves: KDE and GNOME in their current form are *not* contenders for prime time big productivity application development, although this may change. What one would need is a software development system that uses an unified imaging model, has a consistent class API that is not cluttered, has useable interface design and code management tools and generates nicely packaged applications that are easily localizable (my personal corollary would be: and that does not use X, but YMMV).
Unfortunately, XMas was two days ago, so we'll have to wait at least one more year;-). But if anything along these lines happens, *that* would be worth posting as a "1.0 released" article.
just my $0.2E-32
Alexander Wilkie
P.S. Yes, I know about GNUStep, and the fact that Apple is using the old NeXT technology for its next-generation OS. The first is very slow in coming along, and the the second fact does not help us Linuxers at all.
A language like the one you are looking for actually exists, and it is Objective-C. The object model in Java is actually a (for, as I believe, security reasons) dumbed down version of ObjC, which in turn is more or less Smalltalk in disguise (i.e. a really nice OO environment).
ObjC has the advantage of being just a very small and simple extension to ANSI C (and hence easy to learn), and the extension does not alter C itself, like C++ does. The ObjC reference manual as it was distributed by NeXT with its machines is roughly 20 pages long; compare that to the average C++ cookbook. GCC and egcs support it natively.
The main advantage of such a hybrid (C with OO extensions) is that you can use the bare metal speed of C in the time-critical parts of your system, and still be very aloof and OO in the general design of the whole application.
my $0.2E-32
Alexander WilkieThe misconception that some people seem to have here is that (windowmanager with nifty features == sensible application development environment), which is not really true. For Linux to succeed, it has to get a *lot* easier to write applications, and this requires more than just WMs. KDE and GNOME are on the right track, but not nearly there yet.
Since there are preciously few examples of what a good ADE can be like, one can't really fault people for not knowing the difference. A nice example of what I'm talking about (which has the advantage that it's dead as a dodo, so I can't really be accused of advocacy) was NeXTStep. It had a degree of integration between display subsystem, API and OS that to my (naturally limited) knowledge has never been achieved elsewhere on a real, workable system (as opposed to, say, concept prototypes from academentia, which so often sound terribly nice, but are not really useable).
Anybody who knew NeXTStep will fondly remember the possibility to write applications mostly by drag-and-drop using InterfaceBuilder, and that drawing in windows was done using Postscript, which only had to be redirected if one wanted to print. Or the ability to use RenderMan streams in 3D viewports. Or the nice, orthogonal localization features. And so on.
People bought the extremely overpriced NeXT machines just in order to be able to use this ADE. At the moment Linux seems to be in a somewhat inverted situation: people use it despite the difficulties in writing GUI software for it. For Linux to _seriously_ threaten the monopoly of M$, better software development tools have to emerge. Let's not kid ourselves: KDE and GNOME in their current form are *not* contenders for prime time big productivity application development, although this may change. What one would need is a software development system that uses an unified imaging model, has a consistent class API that is not cluttered, has useable interface design and code management tools and generates nicely packaged applications that are easily localizable (my personal corollary would be: and that does not use X, but YMMV).
Unfortunately, XMas was two days ago, so we'll have to wait at least one more year ;-). But if anything along these lines happens, *that* would be worth posting as a "1.0 released" article.
just my $0.2E-32
Alexander Wilkie
P.S. Yes, I know about GNUStep, and the fact that Apple is using the old NeXT technology for its next-generation OS. The first is very slow in coming along, and the the second fact does not help us Linuxers at all.