Harsh Words From Google On Linux Development
jeevesbond writes "The alpha version of Google Chrome is now available for GNU/Linux. Google Chrome developer and former Firefox lead Ben Goodger has some problems with the platform though. His complaints range from the lack of a standardised UI toolkit, inconsistencies across applications, the lack of a unified and comprehensive HIG, to GTK not being a very compelling toolkit. With Adobe getting twitchy about the glibc fork and previously describing the various audio systems as welcome to the jungle, is it time to concentrate on consolidation and standardisation in GNU/Linux in general, and the desktop in particular?"
Meh, everything is a trade-off. Qt is way easier than Gtk and has a huge API for doing all sorts of cross-platform stuff. Plus it's truly cross-platform whereas Gtk is pretty crappy on anything other that systems running X Windows.
The trade-off is that Qt is C++ and Gtk is C. This actually matters a lot when you need to interface to other C-only applications and libraries or whatever. C++-to-C is easy but using it the other way around is problematic and annoying. Then you have the issue of how clean the code is in each language (depends on your point of view as to which is better).
There also used to be the issue of Qt forcing the GPL down your throat but that is no longer an issue because both Gtk and Qt use LGPL.
Personally I have been using Qt for everything recently. Since the switch to LGPL it's the obvious choice even though I'm a C purist at heart. I hate the fact that it's so big though. Since it's LGPL you can't statically link only the stuff you use so your application installs tend to be larger than they really should be...
Trade-offs... Everything... So annoying, makes it hard to develop truly high quality software.
Meh, does Chrome even follow Microsoft HIG? The tabs being almost part of the title bar, and the lack of an actual window title in the title bar, as well as the random Google logo next to the buttons, all seem to be completely contrary to what I expect on Windows. As do the Vista style buttons even on XP, but then Microsoft did that too with Windows Media Player in some version.
All your base are belong to Wii.
Linux is a server OS, only used on the desktop by enthusiasts.
I would hope that all desktop OS's are used by enthusiasts. People who run Ubuntu should do so because that's what they like. People who run Mac OS X should do so because that's what they like. People who run Windows should do so because that's what they like. If people are running an OS for some other reason, then we have problems...
Accept it, because the kind of standardized APIs that are needed are not going to happen with the attitudes that this community has.
Indeed. If we were to reject that attitude and simply standardize around a single way because it's best if everyone runs the same, we'd all run Windows. There's no logical argument that can be made for rejecting running Windows but advocating a standardized API for all Linux platforms. The argument for a standardized API is an argument against having multiple operating systems to begin with. Someone who thinks every Linux-based OS should have the same look, feel, toolkit, API (beyond the Linux kernel), etc. but accepts the notion that we shouldn't all just standardize around Windows is in a state of cognitive dissonance, holding logically imcompatible ideas to be simultaneously true. That's not so amazing as the fact that they've managed to maintain it for ten years...
Setting aside the logical contradictions of your point of view for the moment, and just out of curiosity, when you say "that are needed" -- needed for what? I'm unaware of any objective that an OS should have (keep my computer running, my multiple programs sharing resources effectively, my data safe, etc.) that would require other operating systems to run the same API as me. Why would it matter if my Debian desktop and your Fedora desktop are different? And why would it be more important and somehow more tragic that our two computers are different when it's not likewise tragic that my Debian desktop and my friend's Windows desktop are different? Why is one case of difference bad but the answer is not for all three of us to adopt the more popular standard, rather that for some reason two of us should and one should not?
"Convictions are more dangerous enemies of truth than lies."
Maybe Ballmer was right? It's all about developers, developers, developers, developers.
Every time a conversation about programming on Linux comes up, I try to follow it. But honestly, it's just easier programming on Windows machines. There are maybe 4 versions to worry about ME/2000/XP/Vista. And you can probably forget about ME/2000. Even if you don't, it's a few lines of difference (between them and XP, they're prerrt to identical to program for). And you can leave them in when you program for XP/Vista.
Meanwhile, if you use the best practices that MS recommended for XP back when they released it, there's no difference between XP/Vista programming (unless you're trying to extend windows explorer.)
It just works, and it's easy.
Your ad here. Ask me how!