Waiter, There's a Python in my Soup
By mkupfer on Oct 02, 2004
One of the tools that my new job requires me to use is written
in Python. I didn't know
much about Python previously,
so I've been making my way through the
Python tutorial. It
seems like an interesting enough language. Maybe I'll end up
liking it better than my current choices
Perl, depending on the
task at hand).
Still, I do sometimes wonder whether
the world really needs yet another scripting language.
When I first started at Sun, Sun's standard windowing environment was OpenWindows. Sun eventually EOL'd OpenWindows and moved to CDE/Motif. This meant someone had to rewrite the deskset tools (calendar, mail, etc.) to use the new toolkit. A similar migration is needed as Sun moves from CDE to GNOME. I wonder if users see this as real improvement or needless churning. The CDE mail program generated MIME attachments, whereas the OpenWindows mail program used a Sun-specific format for attachments. That's a clear improvement. But the calendar manager improvements were pretty minor.
GNOME provides real improvement over CDE by providing broad support for people with physical disabilities (e.g., impaired vision). It's also just a lot more pleasant to use. I was delighted when I discovered how easy it was to drop in my own background image, or to change the contents of a panel. Doing either of these tasks in CDE required editing one or more magic files in some non-obvious way. (There were some changes you could make to the panel by direct manipulation. But getting rid of the ugly clock that Sun shipped in its later releases of CDE did not appear to be one of them.)
When I first started using GNOME, my reaction was ``this is what CDE wanted to be.'' Which of course led me to wonder why CDE didn't evolve into something as user-friendly as GNOME.
I expect attitude was part of the problem. CDE was born back when there were several Unix vendors, all squabbling amongst themselves. When they realized that Windows was going to pose a threat, they tried to band together, hence the name: Common Desktop Environment. But I never got the impression (from my seat on the sidelines) that the cooperation was all that whole-hearted. And why bother working on improvements if you think it's going to be a hassle getting them incorporated?
The GNOME project, in comparison, seems to have been motivated more by a desire to go do something cool. That seems more likely to foster continued improvements and innovations. And of course, the GNOME project has the advantage of being Open Source. Anyone with time and interest can contribute. Perhaps we (the technical community) understand how to do collaborative development better now than we did then, too.
So how does this relate to me and my work on OpenSolaris?
First, continued innovation--doing cool stuff and being able to use the cool stuff that others create--is what keeps work fun. But what makes the work feel really satisfying is knowing that I've made a meaningful difference for someone else. Otherwise, work starts to feel like an empty game.
Second, the world changes. People learn how to do things better. New standards and tools come out. Expectations change. You can't ignore the changes, and you can't rush in to adopt every new trend, either. You have to find the sweet spot in between.
So all in all, I actually like having a Python in my soup. It's one of the reasons I got involved with OpenSolaris in the first place.