An upgraded GNOME desktop environment for Linux and Unix is due for release this Wednesday, with its authors pitching enhanced features for end-users and a commitment to make hardware “just work”.
An upgraded GNOME desktop environment for Linux and Unix is due for release this Wednesday, with its authors pitching enhanced features for end-users and a commitment to make hardware “just work”.
to make software stable and mature when they keep releasing new versions out the door each 6 months?
IMO the should slow down releases to every 2 years or so, they’ll never get a solid Desktop OS if they don’t. APIs and Features shouldn’t change for a whole X.0 release.
Who’s gonna support each incremental version of GNOME of each App? Is Evolution supported in each version of GNOME?
I think you mean “overtaken Apple, bring on Windows”
Works for Linus doesn’t it?
They are not chucking out the API with each release. They have a six month schedule to keep them honest and so the community knows when to expect a new version. I find it refreshing that a group can release something meaningful on a regular schedule.
Asked whether GNOME was just a clone of Windows, Waugh said GNOME 2.6 had achieved parity with the features of Microsoft’s operating system. The new release, he claimed, was moving past Windows and was now targeting Apple’s OS X operating system.
“In terms of feature parity with the basic Windows desktop we’ve done it and we’re already there. When it comes to enterprise management we need to do some work there and when you compare GNOME to features like in OS X we’re almost there,” he added.
Does anyone agree with me that this is a ridiculous overestimation of the feature set and maturity of GNOME? I’m not sure to what subset of Windows features they’re trying to compare, but the sum of technoligies bundled with Windows boggles the mind. Likewise for OS X.
I agree with you, I have no idea what Windows features they are trying to compare.
Not really. To be fair to the GNOME guys, things like having to deal with a crappy X server, hardware support, dependancy problems and things like that isn’t their problem. I believe they are talking about the end-user experiance once everything is installed.
Granted, these are very important part of the experiance of the operating system, but the GNOME team isn’t responsible for that.
I think they mean home-user or corporate workstation features.
From the perspective of the desktop, the vast majority of Window’s features are irrelevent. There is no point trying to play point-by-point comparison of the APIs and features of the two systems, because the “Windows way” is to design a complex, special-purpose API for everything, while the “UNIX way” is to reuse existing APIs and features for different tasks.
I’d still say GNOME hasn’t achieved complete feature parity. Most notably, it’s missing a decent document object model. From a UI usability point of view, however, I’d place GNOME ahead of Windows. HIG-complient GNOME apps are elegant in a way that even Microsoft-developed Windows apps just are not.
Is that a launcher GUI for rfb or a new implementation? I can’t find much info about it.
You don’t get stability by bundling 100 new features every 2 years. In fact, chances are that you introduce bugs and instability when you do that.
Releasing frequently and often evens out stability and bugs over a long period. It forces you to introduces fewer features at a time, with tend to cause less instability and introduce less bugs which can be squashed easily and quickly.
Even the Linux kernel developers are begining to release this. Watch and see how Longhorn will be break many packages and introduce so many bugs. Heck SP2 for XP already those that.
I certainly hope the majority of GNOME hackers shawn Mono and Java, considering their controversial circumstances. Instead, I hope Python is adopted as the preffered higher level development language for GNOME. Python today, is RAD, it’s free, and it isn’t corporately maligned, and I doubt it is encumbered by patents or what not.
They maintain stability by making incremental improvements in each release. Instead of having giant X.0 releases that destabilize large amounts of code at once, they change a few things at a time for regular point releases. Also, instead of doing massive API changes that require extensive rewrites to take advantage of new functionality every few years, they gradually introduce new APIs in a way that apps can quickly be updated to support them. They do, however, maintain API compatibility through an entire x.0 release. New APIs may be added, but old ones will keep working.
Personally, I hope they don’t pick a higher-level language as their “preffered” one. GTK+ supposedly is specially-designed to make language bindings easy. I hope they base their “higher-level language” approach on that, and maintain an official set of bindings along with the core libraries. As long as these bindings are complete and undergo the same QA as the rest of the API, they can all be first-class development languages for GNOME.
I just wanted to point out that the new gnome-volume-manager and its underlying technology are really a major step forward for the linux desktop. I’ve been playing around with it now for a while an though it may not be essential to my overall wellbeing it’s just nice to simply have the burning program of my choosing pop up when I insert a blank disk.
And now, flame on kids.
I agree, but if GNOME is committed to a free system, Java from SUN is out of the picture. That is, Java can’t be bundled as a GNOME binding except the incomplete free version. Mono wouldn’t be bundled by any Major distributor except Novell, because we don’t know if/when/how Mircosoft will strike if ever they will.
That leaves us with free languages like Python/Perl/Ruby/PHP. Today, of all these languages, Python has is the more mature binding for GTK+ and also has the most apps. Hence my choice for Python, today. I just don’t understand why Python and Perl aren’t hyped as RAD solutions in GTK+/GNOME as Mono is. I don’t know how mature the ruby binding is, and I’m positive the PHP binding for GTK2 is not as mature as Python’s or Perl’s.
I’ve written some bindings for GTK+ and it’s nice compared to many other C libraries, but it would be even nicer if you could tell it which memory allocator to use and if it were multithread-friendly.
Changing the allocator would let us install a GC for GTK+ and not worry about ref/unref.
You’re right, Python would be a great choice for RAD on GNOME (or KDE for that matter). I’d love for the Python-GNOME bindings to be official (so applications could assume that they are installed), I just wouldn’t want them to be the only ones. With regards to hype, I’ve got my own ideas about that, but I’ll refrain from cluttering up this thread.
Python, Perl, Ruby, and Guile probably aren’t hyped as much as Mono because they don’t have a JIT or static type checking.
It may not be fair, but that’s what makes or breaks the case for many people.
I don’t see how they can really do what their pitching on their own. They need to stop paying attention to everything Microsoft does in Windows and come up with great new features on their own, Apple goes down their own path and thats why Mac OS X is as great as it is.
So their apparently going to:
* Scrap natilus as it is and redo it as a standalone file browser free of browser-like appearance
* Implement their own version of Column view
* Implement spring loaded folders
* Make app installation as easy as drag and drop
Not to sound like a troller, but if GNOME wants to take on Mac OS X-like features in some areas I don’t see how they can do it well without rebuilding a lot of things from the ground up. Personally from experience with GNOME I don’t feel it’s on par with Windows yet in many areas. And while their trying to catch up to Mac OS X, Apple will be adding yet many more features to Aqua.
Again Im not trying to be a troller so I’ll just leave it at, I’ll believe it when I see it.
Well since I cannot express my opinion here, then I guess I guess I better do a whole website about it.
I am still unsure as to the benefits of static typing over dynamic typing. If anything, dynamic typing should be touted as the primary advantage of a RAD language. How does it become its pitfall?
* Scrap natilus as it is and redo it as a standalone file browser free of browser-like appearance
Well, I think the first one is done for the most part as of 2.6.3 the spatial mode feels very mature, and most of the shortcuts and improvements that were needed have been made. Removing the browser completely would probably cause more outrage than just setting spatial as the default.
* Implement their own version of Column view
Not entirely sure what column view is (somebody explain it? link? screenshot?), list view works very well for me, although I’d like to see the list/tree hybrid that has been talked about several times.
* Implement spring loaded folders
I don’t think that they can legally impliment spring loaded folders, Apple has a patent on the idea.
* Make app installation as easy as drag and drop
Well, it might not be drag and drop yet, but theres software you can get that makes it right click, install package, password, done. Its not a default part yet (its third party software for dropline/gnome on slack in general) but I can see install support for deb/rpm/tgz as doable. I admit, it would be nice to have desktop apps install to ~/apps without any need of a root password.
I’m waiting for the Beagle/Nautilus integration.
C# and Java are more buzzword-complient than Python. Luckily, it seems that a lot of GNOME folks have some trepidation about both C# and Java, and hopefully the internal conflict will prevent either from becoming a core part of GNOME.
Installing software via drag and drop without the need for a root password is a security disaster waiting to happen. Ever wonder why Windows is so insecure today? Yes, it’s because Tom, Dick and Harry can install software simply by clicking on a link.
Installing software on a system should not be easy. Besides, I still maintain that installing software of Linux can’t get any easier. It takes less steps to install software on Linux than it does on any other operating system I’ve used including Windows and OS X.
And normal users should never have the priviledge to install software.
I’m yet very excited to find out whether the delay when opening the start menu until the icons shows up has gone.
It’s those little things that really annoy me (call me a perfectionist)!
I think you mean “overtaken Apple, bring on Windows”>
um. no. microsoft is definitely way behind with usability in windows compared to mac os x.
I write my own code in Scheme, so I don’t personally prefer (explicit) static typing, but some of the arguments I’ve heard include safety guarantees (possibly fewer bugs) and compiler optimizations.
For example, in Python, every time you add two numbers it checks that both the left and right hand sides are numbers, whereas if you that at compile-time you could skip the tag checks.
As for safety, I don’t think it’s that big a deal, since you can add contracts and unit testing to your code, but it’s still an assurance that many people like to have.
ML for Gnome?
I think the safety argument, particularly with respect to graphical toolkits, is bunk. Any time you’re dealing with polymorphism, you can’t rely on static type safety (your code could throw a runtime error). All the major GUIs these days have at their heart very polymorphic APIs (consider how many of the special GTK+ macros are there to hide type-casts). So I fail to see what Java’s or C#’s static typing will buy you for GNOME applications. Cocoa uses a dynamic language for it’s GUI toolkit, and I don’t hear anybody complain about OS X apps being any more buggy than average.
What often infuriates me about C#/Mono is how often many people/developers regard it as GNOME’s saviour. Or as GNOME’s primary RAD solution, when in my opinion there are better alternatives that would have made killer solutions if more resources were expended on them.
I’m afraid, but Mono/C# seems to be becoming very popular in GNOME, especially among the new upcoming developers, many of which have been programming on Windows for a while. I even started a thread on this issue over at the GNOME forums. It’s one of the most popular threads on there. And just from that thread, it is clear that Mono/C# is gaining popularity and new fans among GNOME developers.
>And just from that thread, it is clear that Mono/C# is gaining popularity and new fans among GNOME developers.
Yes, and that’s a good thing. You can start mouthing your politicalities and your legalities all you want, but the reality is, Mono/C# is an EXCELLENT platform, and that’s why it gets converts: because it makes programming EASIER and more PRODUCTIVE. And that’s what people want.
If you don’t want people to go into Mono, then create another platform that’s better. But don’t fill us with your political and personal insecurities about it, because we don’t give a monkey. If we cared, we wouldn’t touch Mono in the first place.
Mono is a remotely decent platform. But it’s fundementally 1970’s technology. Dynamic languages are the way of the future (at least, for GUI programming), and Apple has shown us the way. If GNOME copies *anything* from OS X, please let it be the idea of using an “objects all the way down” dynamic language as a first-class development language. What’s infuriating about Mono is not that people are flocking to it not because of it’s technical superiority, but that people are just jumping on the bandwagon. There is no point trying to build a better platform and pushing that as the main GNOME development language because developers don’t want excellent solutions — they just want slight improvements to what they already have. They don’t want quality, they want safety.
>I’m afraid, but Mono/C# seems to be becoming very popular in GNOME
This I am afraid is going to tear GNOME apart. You basically have 4 groups involved in GNOME. 3 commercial (Sun, Novell and Redhat) and the rest of the developers. The problem is that only Novell is backing mono, with the rest of the developers split. It will be a cold day in hell before Sun ships a Java desktop, that relies on C#/.Net for core functionality. And Havoc Pennington has said a similar thing for Redhat. Redhat seems to be backing Java via GCJ. Unless this is sorted out GNOME is going to have problems in the future.
It is also interesting how the desktop that was founded because KDE wasn’t free enough, makes such a big deal about having LGPL licences to allow proprietary apps to be built as a feature. KDE would have to be the most free now, as all apps for it must be GPL’d (assuming you don’t buy a Qt licence), and this is seen as a bad thing by the GNOME folk now.
I really like Gnome, but I am afraid that it is heading towards some serious forking. It is my belief we already have too much fragmentation in desktops, more is not really going to help things.
I have yet to see conclusive evidence that dynamically typed applications are on average more buggier than statically typed ones. All I have seen are theoretical postulations and assumptions.
With regards to speed and optimization, they say GUIs spend 90% of their time doing nothing but waiting for user input. So do all those type checks really translate into any visible perfomance penalty? It’s hard to say without profiling.
In fact, in my experience I’ve used applications written in Python that are more responsive GUI wise than many Java applications. So, in practice and in my experience, those assumed type check penalties are flawed.
At the GUI level, I think a toolkit that supports threading extensively, good design and higher level dynamic languages are a potent combination. You can then use profiling and lower level languages if performance becomes and issue.
Do you know how mature/complete the scheme binding for GTK+ is? Does it even have a GTK+2 binding?
> I don’t think that they can legally impliment spring loaded folders, Apple has a patent on the idea.
This could be done by developers and for users outside the United States, and other patent encumbered countries, where this idea is not patented.
There even supposed to be patches who did exactly that, so I dont think it would be all too hard to incorporate. It could be distributed as an alternative nautilus package in non-US repositories, as other packages already are.
>Mono is a remotely decent platform.
Rayiner, I surely hope you become a bit more objective than this. Mono is a pretty good platform. Who cares if .NET has its roots to the 70s or to 30s? If Mono is today your BEST BET for developing for Gnome, you have no option but to pick it up.
In the country of the blind men, the one-eye man is the king. Remember that.
> ships a Java desktop, that relies on C#/.Net for core
> functionality. And Havoc Pennington has said a similar
> thing for Redhat. Redhat seems to be backing Java via GCJ
> Unless this is sorted out GNOME is going to have problems
> in the future.
It’s very easy to say that now, as there are no mainstream apps that depend on mono. But when Novell’s Mono-based projects come out and rock, end users are going to demand to have them in their distibutions. Somehow I think this was the Ximian strategy all along, and I think it’ll work. If anything I’d be Sun would do a half-hearted fork and drop the packages they don’t like (which redhat already does with a few unimportant Gnome pieces anyhow, like Gnometris). Of course that is all just an empty prediction… it will sure be interesting to see how this all plays out.
That’s exactly what irritates me about Mono/C# advocates. Like there weren’t any EASIER and PRODUCTIVE environments before Mono/C#. Mono/C# brings nothing new to GNOME. Python still remains EASIER and more PRODUCTIVE compared to C#. And Python has as many if not more libraries as Mono does.
And in these day and age politics and legal issues are especially critical to the survival of Linux. I would have expected you to know better. Today you can’t alienate politics, philosophy and legality from Linux, and concentrate on just technicalities. It’s just not practical or realistic. Less another SCO ensues.
> Python still remains EASIER and more PRODUCTIVE compared to C#.
I don’t share this opinion. Personally, I don’t like Python as much as I like C#. Whitespaces… YUK.
>That’s exactly what irritates me about Mono/C# advocates. Like there weren’t any EASIER and PRODUCTIVE environments before Mono/C#.
And that’s what irritates me about you. Like we shouldn’t pick up mono when it becomes available just because GTK+ in C all these years was as retarted as it is today, and we should stay stuck with it. Boo.
I’ve got 2 complaints about Mono, neither of which are remotely political or legal:
1) Running a performance-sapping virtual machine on a performance-sapping kernel/user abstraction, all to run a program that’s fundementally safe to begin with strikes me as inexcusably inelegant. I don’t think I could live with the irony of having a high-performance native-code compiler for ML or Scheme generate code that has to go through enormous layers of unnecessary crap just to draw a button on the screen.
2) If Mono get’s promoted to the GNOME core, all other languages instantly become second-class citizens. The fundementally destructive property of .NET is that it supports multiple languages, as long as your language looks like Java. We’ve seen this before: C++ get’s castrated because of the limitatons of the CLR object model. Smalltalk and Scheme exhibet terrible performance, because of the limits CIL places on how they can optimize their generated code.
At least with the current situation, the over-abstraction is only moderately bad, and language bindings are only limited by the expressiveness of the C machine model. Mono in GNOME-core will have a severe negative impact on both.
Retarded GTK+ and C built you GNOME, just in case you forgot. Mono has yet to withstand the test of time, continues to chase .NET’s tail, is even broken of NTPL systems, is likely patent encumbered and is at the mercy of Microsoft. It’s all hype, business and fluff. Yes, the truth is irritating, deal with it.
> KDE would have to be the most free now, as all apps for it must be GPL’d (assuming you don’t buy a Qt licence), and this is seen as a bad thing by the GNOME folk now.
Its just the usual gnome hypocrisy, nothing new to see here.
But for KDE: When Trolltech quits, or gets bought out, which will happen sooner or later, Qt itself, and after that surely KDE, will change their licence too from GPL to “proprietary friendly”. If they hadnt planned to go “proprietary friendly” themselves, like GNOME, this deal with Trolltech would never be negotiated in the first place.
With that in mind, its to be expected that GNOME as LGPL will in future remain at least a little bit more free (as in free to stay) than a future BSD-licensed KDE.
The problem is that MS will come after whoever has money and uses Mono when it becomes popular.
MS is not developing all those patents for nothing. They will use them when the time is right.
It would be nice if Novell could license .Net in some way to avoid all this. We’ll see.
I don’t see any of these as complaints. The future of computing are virtual machines and abstractions over abstractions. Are they slow? Yes, they are. But that was the case since forever: hardware becomes faster, software adds abstractions and catches up with any speeds hardware offers, making things slower than it should have been, but devs don’t care about it if that makes the life of the user and the life of the dev easier. That’s how it always was, it ain’t gonna change now just because some geeks like you and me want things to be snappy. Speed over features, features always win in this industry.
And who cares about Smalltalk and Scheme anyway, except a few nerds? C#, C, C++, Java, that’s what counts today in that industry. The rest are unimportant players.
“Pretty good” by what measure? Relative to other mainstream platforms? Sure, I’ll buy that. I’d put it somewhere between Cocoa and the existing GNOME/C API. Relative to what is possible with our current level of technology? Well, remotely decent is the best way to put it.
I have no problem with individual application developers picking up Mono and using it in their apps. Right now, it’s a decent option because it’s got just enough advances over GNOME/C to make it worth it, and lot’s of people know the language. However, as something to bring into GNOME core, I don’t think it’s good enough. I think you have to face the fact that there will, for the forseeable future, be a gap between the best technology available, and what the mainstream is comfortable using. Currently, GNOME/C is a decent compromise that offers comfort for the mainstream, without killing the advantages of better technology. Any replacement for GNOME/C that get’s into GNOME core should offer a similarlly good compromise.
I mostly agree with you regarding bugs and time GUIs spend waiting.
The Guile GTK+2 binding is supposedly mature. The binding I stated for PLT Scheme is new but worked well enough for me to write a GUI to upload photos to flickr.com. I put the bindings in sourceforge under the ‘mzgnome’ project.
>Retarded GTK+ and C built you GNOME, just in case you forgot
That doesn’t mean that GTK is actually good.
>I have no problem with individual application developers picking up Mono and using it in their apps. Right now, it’s a decent option because it’s got just enough advances over GNOME/C to make it worth it, and lot’s of people know the language.
This is what I am saying too: that building user apps in Mono is the best option there is.
And who cares about Smalltalk and Scheme anyway, except a few nerds? C#, C, C++, Java, that’s what counts today in that industry. The rest are unimportant players.
And who cares about Linux, BSD, ReactOS, SkyOS, and BeOS anyway, except a few nerds? Windows and Macintosh, that’s what counts today.
Sheesh….
I have no problems with performance penalties necessary for advancing ease of development and user-visible features. What bothers me is performance penalties that are unnecessary. Languages much easier to use than Java and C# have been made to compile with 10% overhead over C in performance and memory. So why do I need to drag a 20MB VM into memory to run a simple Java app? It’s not a matter of not having the technology, it’s a matter of not being able to use it because it isn’t trendy.
With regards to Smalltalk and Scheme, I’m not suggesting that either should be the next language for GNOME core. I merely point them out as examples of the fact that you don’t need a monstrous 20MB VM to get ease of development.
> And who cares about Linux, BSD, ReactOS, SkyOS, and BeOS anyway, except a few nerds? Windows and Macintosh, that’s what counts today.
But… I agree. In fact, only Windows counts. Linux and Macs with 4% marketshare together, they don’t really count either.
How is Mono/C# technologically better than the alternative high-level languages: Java, Python, Scheme, ML, and Ruby?
“Whitespace, yuck” is not really a technical fault, much like “curly braces, yuck” or “public static void Main(string args[]), yuck” aren’t either.
> With regards to speed and optimization, they say GUIs spend 90% of their time doing nothing but waiting for user input.
This figure is true but meaningless: of course your computer spends a lot of time waiting for your input, but when the user makes an input, it must react as fast as possible so that the user don’t wait for the computer.
Please do not use irelevant figure to backup your assertions, we’re not politicians..
> In fact, in my experience I’ve used applications written in Python that are more responsive GUI wise than many Java applications.
I bet that you’re comparing Python programs using native toolkit (written in C) and Java programs using Swing toolkit.
While I agree that native, non-native toolkit matters more that dynamic or static type checking, you cannot use these figure to deduce anything about the penalties associated with dynamic type checking (only that this penalty is smaller than the one used with non-native toolkits).
Again you’re comparing apple and oranges.
> At the GUI level, I think a toolkit that supports threading extensively, good design and higher level dynamic languages are a potent combination.
Maybe, the most responsive GUI I know was BeOS’s one (R.I.P) and it used C++ which is not very high level..
As for Scheme, or any other functional language, I’m not sure that they are enough widely used to be taken as a default language by Gnome: if you know C++, you can easily learn Java or C# but switching to functional languages is much harder IMHO..
And there is no agreed common functionnal language which will create problems.. Why scheme and not Ocaml, for example..
Ronald said:
> How can they hope to make software stable and mature when
> they keep releasing new versions out the door each 6 months?
By
1. Encouraging regular testing, precisely by having lots of releases.
2. Reducing the number of features introduced in each major release (by having major releases more often – every 6 months).
3. By having freezes within each 6-month schedule:
http://developer.gnome.org/dotplan/tasks.html
4. If the major release is still somehow broken, wait 6 months for the next one.
Incremental development is software development 101. The alternative is 2 or 3 years of chaos, and then you get to find out that everything is broken. Sound like Windows?
Sorry about that, but I really don’t understand why gnome of all projects should go with a “market leader” technology when gnome isn’t even on the market radar itself.
Rayiner wrote:
> I’d love for the Python-GNOME bindings to be official
The GTK+ and libglade bindings for Python (pygtk) _are_ official. You can see them in the GNOME 2.7 modules list, and you’ll see them mentioned in the 2.8 release notes.
However, the other GNOME python bindings (for things like gnome-vfs and gconf) are not _yet_ official. If you want them to be official, then you should ask the pygtk project how you can help. Please do.
I don’t see why so many people are mentioning legal issues as a reason to not use C# for Gnome. C# is an ECMA standard. The only parts of Mono that run the risk of litigation are the unstandardized parts of Microsoft’s C# implementation, i.e. Windows.Forms. Gnome developers would be using Gtk# and Gnome C# bindings, so they’d be in the clear. An article snippet from here: http://www.ondotnet.com/pub/a/dotnet/2002/02/04/mono.html
“He doesn’t foresee any patents issues that could entangle Mono, but he said, “We’re prepared to make changes to Mono if that’s needed.” If a patent infringement challenge were made, Miguel said, he could hypothetically see two versions of Mono existing–one with licensed code, and one without.
To help protect Mono from potential future legal wrangling, Miguel has a strict rule. “If you look at Microsoft’s shared source implementation, do not contribute to Mono.” He said that developers who see Microsoft’s .NET details when they are published would be banned from working with him. “I hope not many people get that thing, because if they do, they’re going to be tainted for doing development.””
@Murray Cumming & all how replied to my post
How can someone have a product mostly bug free with only half a year of testing (and that period includes development) of software made in C (& C++)? o_O
And I don’t get how Window is supposed to be like 2 or 3 years of chaos? I tryout Linux distros every new releases and you don’t need to be a rocket scientist to figure out that Windows XP is a lot more stable than Linux (running with GNOME).
This figure is true but meaningless: of course your computer spends a lot of time waiting for your input, but when the user makes an input, it must react as fast as possible so that the user don’t wait for the computer.
Please do not use irelevant figure to backup your assertions, we’re not politicians..
In my experience, user interaction with GUIs are hardly resource or mathematically intensive/expensive operations. Last I checked, they are just messages to objects. A well threaded GUI should be just as responsive with dynamic languages. CPU intensive operations are a different story altogether, but I still believe with concurrency and good design you can achieve reasonable performance with CPU intensive operations with dynamic languages.
I bet that you’re comparing Python programs using native toolkit (written in C) and Java programs using Swing toolkit.
While I agree that native, non-native toolkit matters more that dynamic or static type checking, you cannot use these figure to deduce anything about the penalties associated with dynamic type checking (only that this penalty is smaller than the one used with non-native toolkits).
Again you’re comparing apple and oranges.
Well, the argument was that dynamic typing creates a performance penalty in theory. Java is statically typed, SWING/SWT/GNOME-Java are statically typed. Going by your logic, Java apps should be faster than Python apps by default at least on the GUI level. Unfortunately, that has never been the case for me. And I understand many parts of Java/SWING/SWT are written in C/C++ so, native vs non-native toolkit doesn’t count.
Maybe, the most responsive GUI I know was BeOS’s one (R.I.P) and it used C++ which is not very high level..
I am made to believe its threaded design had a lot to do with that. But I can’t say that authoritatively.
As for Scheme, or any other functional language, I’m not sure that they are enough widely used to be taken as a default language by Gnome: if you know C++, you can easily learn Java or C# but switching to functional languages is much harder IMHO..
And there is no agreed common functionnal language which will create problems.. Why scheme and not Ocaml, for example..
I don’t have much problems with the two popular VM based languages. However, technically speaking, I don’t think they are feats in modern programming either. Java wouldn’t be included in GNOME for the reasons that I mentioned earlier in this thread. Mono is a dicey case. And the Lisp dialects and derivatives, unfortunately, are just not popular because many people just don’t know any better, and like Rayiner says, hype and marketing is what the “industry” is about, rather than power, expressiveness, succinctness and real PRODUCTIVITY.
How can someone have a product mostly bug free with only half a year of testing (and that period includes development) of software made in C (& C++)? o_O
Because good code doesn’t magically bit-rot. The instability introduced during a development cycle is a sum of the instability introduced by new features, and the instability introduced into old features as a result of new features. In a modular system like GNOME, the latter term is relatively small, so the majority of testing during a release is limited to ensuring the stability of new features.
I tryout Linux distros every new releases and you don’t need to be a rocket scientist to figure out that Windows XP is a lot more stable than Linux (running with GNOME).
I run Linux as my main OS, and I can certainly say it’s been more stable for me than XP. Debian doesn’t crash on me, period. It works as well today as the day I installed it. Unlike my XP setup, it doesn’t randomly lose network or sound halfway through a session. If XP is more stable than Linux for you, I suggest not using Fedora…
I still believe with concurrency and good design you can achieve reasonable performance with CPU intensive operations with dynamic languages.
In practice, you can. Type-inference in modern compilers is good enough that you can almost always get excellent performance out of dynamically-typed code, as long as it’s written in a way that allows the compiler to generate good static code from it. So you usually write your program in a high-level way, then profile it to find the hotspots, and write those hot-spots more carefully to allow for good optimization.
@ Ronald
XP more stable, where to start.
Interface – yuk, for example my organisation there are three XP boxes (all bought off the shelf) and each one as an example hasa different way to access printers
(BTW I use fedora – zero problems)
personally, when I have to use windows, especially XP, Ijust find it painful and annoying
@bascule
just curious, just where (specifics please) is windows (not MS Office) more featureful than gnome
@Rayiner Hashem
Because good code doesn’t magically bit-rot. The instability introduced during a development cycle is a sum of the instability introduced by new features, and the instability introduced into old features as a result of new features. In a modular system like GNOME, the latter term is relatively small, so the majority of testing during a release is limited to ensuring the stability of new features.
I’m still not convinced.
I run Linux as my main OS, and I can certainly say it’s been more stable for me than XP. Debian doesn’t crash on me, period. It works as well today as the day I installed it. Unlike my XP setup, it doesn’t randomly lose network or sound halfway through a session. If XP is more stable than Linux for you, I suggest not using Fedora…
nor SUSE and Mandrake. I’ve broken that one too many times. <_<
One time, in FC1, I had just installed updates and there was a problem and all the fonts were gone. The interface was still there but all the words were gone. And then there was the time RPM Package manager got stuck. It wouldn’t uninstall Rythmnbox nor upgrade it.
I like things that work out of the box right-away, like Windows and Mac OS X.
Eugenia, in one place you don’t care about the politics regarding .NET/Mono. In another, you state that Smalltalk and Scheme don’t matter because they aren’t what’s popular now. In other words, the technical merits of Smalltalk and Scheme don’t count because they aren’t politically acceptable.
The best technology does not always win. What wins is the best political choice amongst adequate technologies.
Smalltalk and Scheme won’t win, because they don’t have the political backing – no major corporate interests pushing them, no buzzword compliance. Java will kept out of GNOME due political problems with licensing, not technical issues. Mono doesn’t have license issues, but the threat of patent problems from Microsoft is something that should keep it out of GNOME, until such time as Microsoft is willing to grant a royalty-free license for the sake of making C# a popular standard. That won’t happen. Python passes the technical adequacy test, the license test, and is gaining popularity. But it lacks corporate sponsorship.
The technology is good enough for each of these. The politics aren’t good enough. We need a political solution.A freely licensed Java implementation would work. An unambigous statement from Microsoft that .NET patents may used freely by Mono would work. Enterprise-level support for Python would work.
I love technology. But I’ve been burned too many times by politics to ignore it any more. I would think that anyone who experienced Be would have learned the same lesson. Now, I check the license first, then other political issues, and only after that can I afford to spend my time learning a technology. Good technology with good licenses is worth my time, anything else provides entertainment only.
One time, in FC1, I had just installed updates and there was a problem and all the fonts were gone. The interface was still there but all the words were gone. And then there was the time RPM Package manager got stuck. It wouldn’t uninstall Rythmnbox nor upgrade it.
Yes, that’s because FC is an experimental/testing OS, things are supposed to be broken. You have no business with Fedora if you are not an experienced user, a tester, or a developer. Next time, use Linspire, Lindows, Lycoris if you want things to work out of the box.
And you didn’t state how you broke SUSE or Mandrake? I’m interested to hear your story.
The GTK+ people want a good IDE from somewhere, nobody sees that? Obviously C is the best language to use because bindings can easily be built ontop of it without the overhead of other solutions.
If you want integration to a product line than choose Java or Mono, and if you want an open source solution, than use Perl and Python.
IF IT’S NOT BROKEN, DON’T FIX IT!
The best technology does not always win. What wins is the best political choice amongst adequate technologies.
Very, very well-put. That one’s going in the quote file
Miguel states that no one who has looked at Microsoft’s code should contribute to Mono. That’s a defense against copyright infringement. It does not protect against patents.
He also states that in the case of patent infringement, then there might be two versions. The first would be licensed, and the second would be written around the patents. For the first case, Microsoft has shown with their SenderID email proposal that any license will not be compatible with any Free license (no sublicensing). Other companies have granted royalty-free licenses for freely licensed software, and others have placed patents in the public domain. Microsoft clearly intends to use patents as weapons. I’m certain that it will be impossible to create a GPL implementation using a Microsoft patent.
Writing around .NET patents may be possible, but it’s pure speculation. You can always write around *copyrights*, but writing around patents depends very much on how central the patents are. We can only know the patents that Microsoft has been granted. We don’t know what others they have filed for. Given Microsoft’s past behavior and stated intentionto use patents as weapons against Linux, “Don’t worry, be happy” doesn’t sound like a good strategy for Mono.
The fact that C# is an approved standard does not make it safe to use. Most standards bodies only require RAND: Reasonable And Non-Discriminatory licensing. The patent will be available to everyone under the same terms. That does mean that those terms will be compatible with a Free license.
I have another quote for you, from Microsoft:
“If someone implemented a product that conforms to the specification, we believe we have a patent or one pending that’s essential to implementing the specification.”
That’s clear enough for me. I won’t be using Mono until Microsoft grants a patent license that allows for a GPL implementation, or a court case provides the same.
Although I currently prefer kde, I am delighted to see Gnome progress because it might mean that in a while, I’ll be able to go “whoa ! it’s even better than KDE !”
OK, my rant should probably be directed to GTK but still.
When are the gnome developers gonna realise that the keyboard exists and that, for many people, it is the fastest way to interact.
Some of the things that REALLY piss me off in Gnome:
-The keyboard doesn’t work in drop-downs like the font selector, the file selector, the file manager, ANYWHERE. When I say the keyboard I refer to “pressing q takes you to the first element starting with q” and so on.
-It doesn’t have “auto complete” like kde/openoffice on the file dialogs (ok, it has tab complete that I find more useful, but it is not consistent with the rest of the interface).
-How do you edit your shortcuts in gtk applications? It used to be VERY easy (a bit too easy, maybe), now you have to know where to look.
-Theme changes (fonts mostly) don’t get used unless you run gnome-settings-daemons or edit a configuration file (WTF?).
I used to like Gnome/GTK a lot more than KDE but these days kde is usable and Gnome not (the day Mozilla, Xchat and Gimp use KDE I will have no GTK apps left on my computer).
Of course, this is just my opinion, but nobody in their right mind would claim that “Gnome has surpassed Windows”, at least not yet.
Did you hear about IronPython?
Fascinating! The reason I cherish GNOME over any platform including Windows and OS X are its consistent keyboard bindings and navigation. Lets examine your gripes.
-The keyboard doesn’t work in drop-downs like the font selector, the file selector, the file manager, ANYWHERE. When I say the keyboard I refer to “pressing q takes you to the first element starting with q” and so on.
Valid point, I heard it is fixed in 2.8.
-It doesn’t have “auto complete” like kde/openoffice on the file dialogs (ok, it has tab complete that I find more useful, but it is not consistent with the rest of the interface).
Tab complete is consistent with all GNOME applications. And except I am dreaming, the file choser does support autocomplete, at least in version 2.6. Someone else should verify this.
-Theme changes (fonts mostly) don’t get used unless you run gnome-settings-daemons or edit a configuration file (WTF?).
Changes occurs on the fly on a properly installed, configured and set up GNOME system. No need to press an apply button or to log out and log in. Your set up is most likely broken.
-How do you edit your shortcuts in gtk applications? It used to be VERY easy (a bit too easy, maybe), now you have to know where to look.
All GNOME applications should have consistent keybindings. It is not reasonable to have each application have inconsistent and disparate bindings. However, it is possible to change key bindings globally which affect GNOME applications. Launching gnome-keybinding-properties will take care of that for you.
In terms of usability, consistency and pure simplicity, GNOME is ahead on Windows and on par with OS X from my perspective. Please show me how to move windows using the keyboard on Windows or OS X, or how to resize windows with the keyboard on Windows or OS X, or how to vertically/horizontally maximize windows, or even how to move windows from one workspace to another. No, keyboard navigation on GNOME is unmatched compared to Windows or OS X.
I would like to say the gtkmm is probably the best toolkit binding ever made by anyone anywhere.
But on topic, when it is on top of a properly configured system, Gnome will probably not leave a windows user stranded with no idea what needs to be done. Gnome will behave in as intelligent a way as explorer to do the things a normal user wants to do. I can only guess this is what Jeff meant.
However, there are some issues with that. For example, a memory stick will mount and open when it is plugged in, IF: You have a mount point and an fstab entry already. There are definitely still issues to consider, but I use Gnome everyday, and it works just fine for me…
Yes, it’s not mature and so is mono.
When typing in a window in KDE, new windows that pop up will not get focus. Unless I haven’t typed for 1 or 2 seconds, in that case the new window will get focus. Does GNOME do that yet?
It’s terribly annoying when typing on IRC and accidently confirming a dialog that just stole the focus. Even more so when you have no idea what the popup dialog was about.
Also, what about editing ‘launchers’?
I’m glad they fixed the keyboard support in listviews though. Not being able to quickly jump to an item by typing the first character was another horrible limitation.
Hi
This has been discussed multiple times but people still dont get it
ECMA standard doenst mean its patent free. ECMA has a RAND policy incompatible with Free software. Moreover even a patent grant to invidual developers isnt compatible with Free software. only thing that would be a legally valid proof would be get a explicit license from MS saying that they wouldnt sue for patents over mono. Thats not likely to happen. Hence the possibility of patent problems over Mono is still valid.
Morever several parts of Mono implement stuff which is NOT an ECMA standard and these arent seperated from the ECMA parts.
The possible patent issues should not be ignored by the developers. its not about feeling insecure. its about the problem with software patents. like it or not there is no way to ignore the problem
see mp3/dvd coders for a manifestation of this issue. same for spring loaded folders.
Gnome is a bargining chip to extort SUN to open source Java. IBM is probably somewhere in the background.
-Theme changes (fonts mostly) don’t get used unless you run gnome-settings-daemons or edit a configuration file (WTF?).
gnome-settings-daemon is necessary for gnome. It must be run in order for auto-apply to work and to recover configuration from config files at startup. So, if you wanna use gnome (not only gtk apps) gnome-settings-daemon must be executed on gnome’s startup.
Control and money matter more than any technical merit for the sake of products like Java, .Net, and Mono. The C implementation of Gnome is a superior choice because it opens GTK+ development to any library and binding. What’s happening here is political.
IBM wants Java to be open sourced, and there are many possible reasons for this, it’s a whole new topic.
If control of Gnome passes to either Java or Mono, than suddenly the corporation that controls those product lines has a bunch of new employees working for them for free.
Neither Java, .Net, or Mono are open. If Gnome can not open Java, than it will use Python. It should push that agenda until SUN and IBM make up their differences. I think that they should merge and focus on the unification of SPARC and POWER.
“I agree with you, I have no idea what Windows features they are trying to compare.”
The Windows 3.1 desktop would be their only hope.
I agree with your point, having a low level language for building GNOME is a good thing, rather keep GNOME in C and write apps in mono, java, python, perl, etc.
This will introduce a nice platform for all development as a developer can still do things the unix way! But if you are a windows/apple developer you can do it your way!
Personally I like multiple bindings, as a GNU/Linux developer I find that different languages can suit different tasks and it keeps me on top of my game!
I don’t read an intent to “take on” OS X as an intent to copy features.
Remember, those features exist because they represent attempts to solve problesm. Windows, OS X and Gnome all deal with the same problems. For example, installing software is a problem that any OS or desktop environment must solve. Drag-and-drop is one way to solve that problem. There are others. Simply because someone else used it first doesn’t preclude Gnome from adopting it if they determine it is the best solution. (If software developers never implemented features someone else had already created, little new software would ever be written, including Linux.)
Ultimately, what’s really “best” is determined by the users.
>> “normal users should never have the priviledge to install software.”
How, then, are home users supposed to install software? You seem to have the mindset that computers are used only in organizations with system administrators.
Get over that. It’s a Personal Computer, remember?
We don’t need no stinkin’ sys admins!
Community and fandom flames about languages used in Gnome are pointless. The users will determine the outcome.
Two sets of customers exist. One, developers, is very small. Developers are in the market for tools to use to write code. If they buy into Language A rather than Language B, then more code will be written in Langauge A.
But, developers do not work in a vacuum, even FOSS developers. If no demand exists for their code, they will either change their code or stop coding altogether. Demand for code is determined by users, who constitute the largest set of customers.
Very few customers are driven by the same ideological cant that motivates some developers. They will not refrain from using the best available software simply because they disagree with its development model.
Customers are oblivious to software development models, to open versus closed issues, etc. Whether or not Mono or C or Python or whatever are actually “better” tools makes no difference. What counts is user adoption of software. If more users adopt your software, you win, even if you wrote the code in Cobol.
I have yet to see conclusive evidence that dynamically typed applications are on average more buggier than statically typed ones. All I have seen are theoretical postulations and assumptions.
Agreed. What I have seen in the geek circles is that is more of the “real men don’t need dynamic languages” and “real men don’t use garbage collectors” or “garbage collectors make programmers lazy”; these are some of the many old wives tales that have existed along with the more well known, non-it ones like “electric blankets dry your bones”, “skivves weaken your neak” and “glasses makes your eyes weak”.
“Python still remains EASIER and more PRODUCTIVE compared to C#.”
I don’t share this opinion. Personally, I don’t like Python as much as I like C#. Whitespaces… YUK.
Geeze, you’re lucky you weren’t in my class when I was at university, we used to get assignments thrown back at us with big friggin “F”‘s if we failed to use sufficient white space, comment code properly and ensure that our algorithm was as tight and efficient as possible.
They are certainly responsible for X11’s craptastic capabilities, at least in part.
X11 could have been replaced long ago had major “Desktop” environments like GNOME and KDE pushed for it.
Also, GNOME may be able to say that it is possible to do “X” with their window toolkit, but I have honestly never used a toolkit whose applications crashed so frequently. Some may argue that the applications developed by third parties aren’t the responsibility of the GNOME developers, but again this is BS.
If GNOME’s libraries were decent than it would be effortless to write good interfaces. GNOME needs to learn the lessons that other toolkits like KDE and Cocoa teach.
Yes, it has been great reading the comments on this topic. Imagine, a real discussion without all the super biased comments about Windows and Mac OS. This has been a delight to read and follow the threads.
THANK YOU, THANK YOU
http://www.uark.edu/compserv/softsys/macintosh/macos/osx/osxkeybd.h…
you can even move the mouse, and do clicks with the keypad, instead of having a mouse. You just have to turn on the option “Universal Access”. OS X is about 99% keyboard friendly (I have not been able to use Home or End to navigate text and have not found an equivilant….a bit annoying)
I am sure there are even more shortcuts out there, I think I should visit the help files…I have only been using a Mac at home for less than a month.
It’ll be a LONG time before GNOME or KDE meets the refinement of the Windows UI. Anybody can have more features, but the refinement is what makes the system just feel “right”.
Exactly. And it is this incredible refinement that we all love so dearly in Windows…
GNOME might have “overtaken” MS Windows when it comes to basic functionality and elegance… but does it really matter? I don’t know anybody using a plain flavour of MS Windows, GNOME, KDE or OS X. They are all using applications…
I was a GNOME user since 2.4 but I recently switched to KDE 3.3. The GNOME core is great (albeit a tad slow), there are many wonderful applications (like Evolution) but too many are just broken/ugly as hell as devs don’t care of the HIG/less stable than IE4 beta 2 on Win95A. Of course, that is my opinion and I am pretty sure that more quality applications will eventually show up once there is more corporate backing but I think the above statement (“We’re overtaken Windows, bring on Apple”) is just wrong. They still have a lot of things to do with the framework as people are not just satisfied by vanilla. They want chocolate chips.
Windows XP has many features over Linux, even though I prefer Linux.
But in this case, we are comparing the Windows UI/User Environment with GNOME.
Looking at it as impartially as I can, I really believe that the GNOME experience is superior.
“it’s missing a decent document object model”
I agree with this wholeheartedly. COM and Microsoft applications built around the COM standard is at the heart of the MS empire. You can’t really claim parity with Windows unless you have something similar.
Rayiner, I surely hope you become a bit more objective than this. Mono is a pretty good platform. Who cares if .NET has its roots to the 70s or to 30s? If Mono is today your BEST BET for developing for Gnome, you have no option but to pick it up.
Even IF Mono is your best bet, do you not think that tying the Future of the GNOME Desktop to Microsoft’s management of a proprietary technology of its own could be VERY detrimental to the future of GNOME?
You don’t like whitespaces? Well, I don’t like brackets, but they are functional…your reasoning is purely aesthetic. You should be a bit more objective a consider the ramifications for a project that is STILL driven by the open-source community.
These ramifications are neither legal or personal. Microsoft is a technological manipulator, and it is a mistake for GNOME to allow MS to get its hands to far into the pot of honey here.
And that’s what irritates me about you. Like we shouldn’t pick up mono when it becomes available just because GTK+ in C all these years was as retarted as it is today, and we should stay stuck with it. Boo.
So, is Python less productive? I don’t think so. Is it your opinion that it is?
I think Python’s benefits far outweigh .NET’s…I mean Mono’s.
Eugenia, do you realize that you just stated that Mac and Linux “don’t matter”…and yet you run a site called OSAlert.com.
Weird.
The os World is about progress, and this includes looking to the horizon for new solutions. This includes new solutions in OSs AND programming languages.
Think of MacOS X 10.0’s finder, or the NeXTSTEP finder. Here’s a perfect example: http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTh…
And it is this incredible refinement that we all love so dearly in Windows…
For some reason, I though you were being sarcastic.
GNOME is surely behind Mac OS X, but IMO, is quite a bit more refined than Windows XP, when well installed.
>> But don’t fill us with your political and personal insecurities about it, because we don’t give a monkey.
>>
I wish it were so! But in these litigation-happy SCO days, software patents have become very political. If you make decisions for a major project like Gnome, you must be anxious about stepping on someone’s patent foot. If your number one competitor is Microsoft, you must worry, especially if Microsoft is quietly collecting thousands of patents, as they are.
Whatever its technical merits, mono is sitting on a legal mine-field. The field is totally untested. Potentially, microsoft can single-handedly stall the development of a mono-based Gnome. Even if they don’t ultimately win in court, with all their billions, they can stall Gnome development for years, and completely derail the effort. The politics is there, whether you like it or not. You cannot sweep it under the carpet.
“Eugenia, do you realize that you just stated that Mac and Linux “don’t matter”…and yet you run a site called OSAlert.com.”
Of course she does, because the fact is Eugenia has probably never uttered a word against Windows, being a Windows Server user, not a single criticism in the year I’ve been coming to this website. EVERYTHING is compared to Windows Server (which has no flaws apparently).