Readers' Choice Awards 2008
Back in January and February, we surveyed you, our readers, to find out what Linux-based products, tools and services you prefer these days. More than 5,900 of you completed the survey, and your favorites are the worthy recipients of the 2008 Readers' Choice Awards. Although some results are predictable, many are certain to both interest and surprise you.
In this year's competition, we designated only one winner per category, with strong contenders receiving honorable mention awards. For instance, in the categories where a cluster of formidable contenders followed the outright winner, we designated up to three honorable mentions. However, if one product clearly dominated a category (for example, OpenOffice.org with 85% in Favorite Office Program or Apache with 92% in Favorite Web Server), and the contenders were barely on the radar, there were no honorable mentions.
The developers among you will want us to weigh in on how we dealt with languages. We created two categories: Favorite Programming Language and Favorite Scripting Language. See Technical Editor Michael Baxter's reasoning in the sidebar, as well as the category contents and winners. Please let us know what you think of our approach.
And now, without further ado, we present the 2008 Linux Journal Readers' Choice Awards.
In the last LJ Readers' Choice awards, many readers were “shocked” and “flabbergasted” that the upstart Ubuntu handily took the crown for favorite distribution. This year, however, there is little surprise that Ubuntu has won again, garnering nearly triple the votes of its most able challenger, Mandriva—supposedly the forgotten distro? Clearly Ubuntu has morphed from the “little distro that could” to the “big distro that did”. How would the results differ if we asked for your favorite distribution for servers?
Clearly independent decision making is in ample supply in our community, because (despite Nick Petreley's anti-GNOME rants over the years) GNOME is your Favorite Desktop Environment. GNOME barely edged out its also-popular desktop rival, KDE. The result makes sense given that the GNOME-defaulting Ubuntu trounces all other distributions. However, the fact that GNOME won by just a few percentage points perhaps means that many of you use Ubuntu's sister distribution, the KDE-based Kubuntu?
Given our readers' extreme penchant for tinkering, it's no surprise that we love Firefox and its ever-growing treasure trove of extensions [see “Must-Have Firefox Extensions”, page 80]. Firefox wins Favorite Web Browser with 86% of your votes. But where, oh where, have the very capable Opera and Konqueror gone? Fewer than 5% of you named them your favorite browser. Honorable mention for most creative response in this category goes to “All I know is that IE7 is worse than dreadful.”
Mozilla Thunderbird (44.9%)
Gmail Web Client (19.7%)
Although Mozilla Thunderbird did not vanquish its opponents as decidedly as its sibling Firefox did in the browser category, it had more than twice the support of its nearest rival, the Gmail Web Client, to win Favorite E-Mail Client. We were a bit surprised to see that only about 7% of you are still using text-based e-mail clients, such as Alpine (formerly Pine) and Mutt.
OpenOffice.org garnered a whopping 85% of the votes to win Favorite Office Program, while competitors AbiWord and KOffice squeaked in a barely perceptible 3% each. Nor did EIOffice, a program that has received much praise in our pages in the past, register more than a few votes. OpenOffice.org has become the de facto default office suite for Linux.
Perhaps the most feature-rich audio player on any platform, Amarok has won most of your hearts and minds for Favorite Audio Tool. Meanwhile, the applications XMMS, Audacity and Rhythmbox each have their loyal constituencies of a bit lesser but similar size, making each worthy of an honorable mention.
This close race in the Favorite Media Player category may be as much a testament to MPlayer's legacy to thankful Linux users everywhere as a vote for excellence. When playing nonfree media content was still a problem for Linux users, MPlayer was there, leveling the field and making sure we could play anything our Windows-using friends were playing and then some. VLC, a close second, is growing in popularity for its friendly interface and equally adroit ability to play pretty much any format you can throw at it.
Pidgin, the messaging tool formerly known as Gaim, readily handled all of its competitors, garnering 42% of your votes. Pidgin users appreciate the ability to monitor all of their messaging accounts using one tool. Currently 15 protocols are available, including AIM, Google Talk, Novell GroupWise, ICQ, MySpaceIM, Yahoo and others. Despite Skype's popularity, it remains in Pigin's long shadow—maybe because its closed-source credentials tug at our consciences?
The GIMP (76.4%)
If anything qualifies as a legendary piece of Linux software, then The GIMP certainly has earned that mantle. Winning 76.4% of the votes, The GIMP wins for Favorite Graphics/Design Tool. As for the others? “Ouch!” is the collective cry from the other graphics applications, such as Inkscape, Scribus and Blender, each of which reached percentages only in the single digits. Notable for its absence is the increasingly impressive KDE graphics tool, Krita.
digiKam, at 24.9%, edged out its image-organizer rival Picasa from Google by a mere 13 votes. Picasa's excellent functionality is powerful enough to make up for its deficits—its non-FOSS status and Wine-based emulation. Like its e-mail cousin Gmail, Picasa is an interesting choice given that it is not a Linux application, per se. Gmail exists only in Google's cloud, and Picasa is—gasp!—a Windows application.
Who would have thought that after all these years, the vi editor would rule the roost? It beat out every other editor, including Emacs and vim. Three years ago, it didn't even make the top three! Go figure. It is interesting to note that Emacs, KWrite and Kate all scored about evenly, clustering around the 10% mark.
Frozen Bubble (19.2%)
Tux Racer (11.7%)
It is beginning to seem that no game will ever knock Frozen Bubble from its lofty perch as Favorite Linux Game. Not only does Frozen Bubble lure you in with its pure simplicity, but also those penguins are just too darn cute! Doom and Tux Racer, which won honorable mentions, are two more of your favorites.
Given VMware's meteoric rise during the past few years, it's no surprise to see it win the gold for Favorite Virtualization Solution. More surprising is VirtualBox's showing, the application that a fellow publication called “The best virtualization program you've never heard of” in late 2007. VirtualBox's patron, innotek of Germany, was acquired by Sun Microsystems earlier this year, giving VirtualBox the marketing injection it needed to match its technical prowess. Wine and Xen fared decently in this category too.
Simple Linux Backup (25.5%)
In this year's competition, we differentiated between comprehensive applications, or systems, and specific utilities. Regarding the Favorite Backup System category, most of you prefer the no-frills, low-budget approach over corporate solutions—that is, the application Simple Linux Backup. The open-source applications—Amanda, with the Zmanda interface for server backup, and Bacula, for network-based backup—also got many of your votes. Backup also is the category in which the most readers roll their own script-based solutions.
For Favorite Backup Utility, the perpetual winner is the workhorse tar, tallying 35.4% of the vote. Enough of you love rsync and the CD/DVD-authoring application k3b to warrant honorable mentions.
MySQL is not only the world's most popular open-source database, it's your favorite as well. Although PostreSGL, SQLite, Firebird and others registered votes, the competition was not fierce. It doesn't hurt that MySQL runs on more than 20 different platforms.
'Twas the battle of the Cs in the Favorite Programming Language category, with C taking first prize, C++ landing in second and Java in the third spot. Don't see your own wildly favorite language here? You wouldn't believe the number of “WTFs” we got when readers didn't find Python, Ruby or other languages here but rather in the scripting language category. Check out that category's results, as well as Michael Baxter's explanation in the sidebar for how we differentiated between programming and scripting languages. (No doubt we'll see you in the on-line comments section too!)
Programming Languages and Scripting Languages
We received a lot of feedback about our on-line survey of favorite languages. A particular point from this feedback has been why some languages were called scripting languages, and others not. A criterion was used to decide this, as will be explained. A plethora of issues was raised in the responses we received, so highlighting some of the issues will contextualize how the criteria emerged for this survey.
One simple way of distinguishing computer programming languages is whether they are compiled or interpreted, which several Linux Journal readers pointed out. However, even that is an issue. Java is considered as a general-purpose programming language, but nominally the runtime environment is a Java Virtual Machine. This is very similar to a variety of scripting languages actually, including Emacs Lisp. However, Java also can be compiled to native machine code. So, for the interpreted versus compiled issue, one might ask, “What kind of compiled?”
A scripting language could generally be a language that is hosted by another environment. In other words, it's “running on top of something”, whether that be a byte-code interpreter or, in the case of embedded application use, as an adjunct to another software application. One also might ask whether the breadth and representative power are obtained by libraries, or because of built-ins to the language?
Scripting languages also can have object features and work at a higher level, or work more like a dynamic language, such as Lisp, which does manifest typing. AWK and Python or Perl are arguably scripting languages, but they are quite different in their utility. One might think of AWK as slightly easier to use than bash, with the particularly nice facet of associative arrays. But, Python or Perl (via strong libraries) are much more powerful, and they are glued to numerous layers in the complete FLOSS stack. So, the “grain size” of a scripting language tends to matter as to its utility.
One of the scripting languages that was omitted in the original survey was Tcl, and this was a mistake. Tcl is very popular, especially in certain application domains, such as CAD tools, where it is a de facto scripting language. Similarly, upon further reflection, it might be argued that the general-purpose programming language BASIC that is most in use today is not really a later variant of Kemeney and Kurtz' 1964 original, but rather Visual BASIC, arguably a scripting language. However, that language generally does not run well on Linux, and efforts to bring this particular language to Linux have provoked some controversy.
Based on comparative technical criteria, one could make the case that Java is a scripting language. Its runtime implementation is strikingly similar to Python, though there are clearly very divergent language syntax and semantics in both: Python is much less strongly typed. The problem is that Java users really don't use it as a scripting language, and its promoters don't promote it that way either. It's much more ubiquitous in any of its roles, such as middle-ware, for complete applications, or as a standalone embedded platform. So, a leading clue is that what defines a “scripting language” is not necessarily decided along strictly technical lines.
Perhaps the motivating factor behind what determines whether a language is a scripting language or programming language is ultimately how a critical mass of users tend to use it. Other factors include how it's promoted, whether it's standardized, how the user community is responded to with emergent problems or technical issues, and how the primary maintainers allow the language to “evolve” where necessary. A really good way to see this is to compare the number of technical book titles on computer languages and associated libraries or environments in a modest bookstore.
Finally, it was this “tendency of use” that was the primary litmus test to assert which language was selected as a programming language versus as a scripting language. Some respondents have rightly pointed out that this was relatively “arbitrary”, and that there were numerous dissonances along the axis of “compiled” versus “interpreted”. They are right. This arbitrariness is borne out, in fact, by the usage patterns seen; the mass of users themselves really have decided the use models. Practical and reasonable programmers, in fact, do disagree on such distinctions.
Such divides cut across much more than compiled or not. A larger divide would appear to be strongly typed versus dynamic languages. Another would be functional versus imperative. One divide that seems to be waning is whether object-oriented is good; we generally seem to believe that it is. Despite this general consensus, C is not going away any time soon. C is viewed as the most portable high-level “assembly language” there is.
I think a conundrum about languages is benign, and actually good news, because it reflects the diversity of choice and utility. If the absolute ultimate runtime performance is not relevant to a programming problem, modern scripting languages are a strong play. One can get more done with fewer lines of code, if compared with starting a program in the C language. Most are easier to learn and use than, say, C++. This may well be a legacy of highly evolved computer technology. If you believe that “premature optimization is the root of all evil”, perhaps using a “standard” programming language is one kind of premature optimization. A lot of careful thinking has gone into certain scripting languages, and very strong compilation software is available to host these languages. But, these advances in computer science also derive benefit from late-modern hardware technology. Machines today are so fast that it really is possible to use scripting languages as general-purpose programming languages for nearly any purpose on a wide variety of applications.
—Michael Baxter, Technical Editor, Linux Journal
It's no surprise that Python grabbed top honors in the Favorite Scripting Language category, and that PHP, bash and Perl all deserve honorable mention for their strong showings.
You know you're reading the right publication when a collective cheer rises up to celebrate the scanner-generator Flex winning a prize. Although Flex took top honors for Favorite Language Construction Tool with 18.1% of the votes, its yacc-compatible parser generator, Bison, tallied enough votes for an honorable mention (14.7%), as did the compiler-compiler for Java, javacc (12.8%). Although this category registered fewer votes than other categories, nearly 2,000 of you weighed in with your opinions.
Just as it did in the last edition of this competition, the hyperversatile and hyperfavorite SSH wins this year in the Favorite Security Tool category with 29.5% of the votes. You also showed your love for the iptables tool for your packet-filtering tasks, which deserves an honorable mention for garnering 19.4% of the tally.
This year, Eclipse easily eclipsed all of its competitors to win Favorite Linux Software Development Tool. Although the rest of the votes were widely dispersed among many different tools—KDevelop, Emacs, GNU autoconf and NetBeans all registered significant vote counts.
One of the main reasons so many of you love (K)Ubuntu so much is its sweet package management via Apt, this year's victor in the Favorite Package Management Application category. Apt won 35.3% of your votes. Many of you also cast your votes for the classic RPM (16.5%) and its useful friend Yum (14.9%). Meanwhile, a respectable number of you (11.6%) prefer the Synaptic front end on top of Apt to perform your package management tasks.
The depth of your love for OpenSSH is clear. Not only did you choose it for Favorite Security Tool (above), but you chose it as Favorite System Administration Tool as well. With 52.7% of your votes, it stands head and shoulders above its nearest competitors.
Competition was tough for Favorite Content Management System, for you love your myriad options. Nevertheless, your favorite application in this category was the blog publisher WordPress (23.8%), which edged out the able Drupal (21.4%) and Joomla! (18.9%) to take the prize. It appears that the vast majority of you bloggers are gravitating toward WordPress, while the Webmasters are splitting into Drupal and Joomla! camps.
Rather than offer a Favorite Web Server category, we should just ask “Do you use the Apache Web server, yes or no?” and leave it at that. Apache wins with 90.9% of your votes.
Given the variety of hosting companies available today, it's no surprise that none of them dominated the voting for Favorite Linux-Friendly Web Hosting Company. Although the winner, GoDaddy.com, garnered a respectable 14.7%, the real winner was “Other” with a whopping 42.4%. Nevertheless, hats off to GoDaddy.com for its rapid rise in popularity—it was absent from our last awards.
Avocent Cyclades ACS Console Server (15.7%)
Guardian Digital Linux Lockbox (12.7%)
As with hosting, the voting for Favorite Network or Server Appliance category was diffuse due to the rabbit-like proliferation of useful products in the marketplace. The top vote-getter at 15.7% was the Avocent Cyclades ACS Console Server, and following up with honorable mention (at 12.7%) was the Guardian Digital Linux Lockbox.
Nokia N800 (43.9%)
OpenMoko Neo (23.7%)
In case you hadn't noticed, many of us Linux Journal editors adore the Nokia N800. The N800 won the 2007 awards for Ultimate Linux Handheld, and its predecessor, the N770, would have won the 2006 Editors' Choice Award for Best Mobile Device, only we were afraid we never talked about anything else. Well, clearly our readers dig it too, because 43.9% of you chose it as your favorite handheld. Keep your eye on the newer OpenMoko Neo 1973, which burst on the scene and grabbed 23.7% of the vote.
ASUS Eee PC (34.7%)
Lenovo T61p (20%)
Is there any surprise that the ASUS Eee PC got 34.7% of the vote to win the Favorite Linux Laptop category handily? Finally, a company created a laptop with Linux in mind and didn't consider Linux as a second-rate afterthought. It also is nice to see that our readers appreciate Lenovo's better-late-than-never but admirable effort to pre-install its T61p with SLED. This helped the device win honorable mention. Hopefully, awards like this will encourage Lenovo and others to pre-install all of their laptops with Linux from the start. If you accumulate the various models from our Linux-specialist friends like LinuxCertified, EmperorLinux and R Cubed, they fared well as a group too.
It wasn't surprising to see PC giant Dell win top choice in this category with 30% of the vote tally. Dell's product line has become more Linux-friendly over the years, which shows up clearly in your preferences. HP gets an Honorable Mention for its Linux offerings, and there were lots of write-ins for various verndors in this category, but they were too diverse to merit a third place award. And of course, many of you chose a home-brew solution as well.
The majority of voters in this category give their server business to the big vendors, such as Dell (winner of both Favorite Desktop Workstation and Server categories), IBM, HP and Sun. Many readers also like to purchase from the smaller mom-and-pop shops—with too many write-ins to list here. And, as with the Favorite Desktop Workstation category, many readers prefer to build their own servers.
Because virtualization is such a fabulous and popular way to improve the efficiency of your servers, VMware landed the top spot in the Favorite Green Linux Product or Solution category. The PowerTOP tool for finding energy wasters on your systems also is popular and won an honorable mention at 16.3%. Although many readers earnestly consider energy consumption and environmental impacts in their data-center strategy, we were surprised to see the high number of responses like “Hummer” and “I promote global warming”. We wonder with concern, “How much good science is necessary to convince us of the seriousness of our environmental challenges?”
Linux System Administration by Tom Adelstein and Bill Lubanovic (O'Reilly) (16%)
Linux System Programming by Robert Love (O'Reilly) (7.2%)
Official Ubuntu Book by Benjamin Hill (Prentice Hall) (7%)
Practical Guide to Ubuntu Linux by Mark G. Sobell (Prentice Hall) (6.6%)
There are so many great Linux books, how can one choose a favorite! Despite the amazing diversity, your clear winner for Favorite Linux Book is O'Reilly's Linux System Administration by Bill Lubanovic and LJ regular Tom Adelstein. Three other books clustered around the 6–7% mark, one from O'Reilly and two from Prentice Hall. Interestingly, several of you mentioned that you don't read “analog” printed books anymore, only digital materials.
Cooking with Linux by Marcel Gagnï¿½ (26.9%)
Work the Shell by Dave Taylor (15%)
Hack and / by Kyle Rankin (14.1%)
Looks like Marcel Gagnï¿½ is going to have to be knocked off before anyone knocks him off the award stand for Favorite Linux Journal Column. Marcel's Cooking With Linux column, where Linux must be fun and one hand must remain free to fill the wineglass, has tickled and informed Linux Journal readers since its inception more than 100 issues ago. The ever-popular Dave Taylor also fared well (15%) for his Work the Shell column, and the upstart Hack and / from Kyle Rankin has become quite popular (14.1%) in its short life.
ASUS Eee PC (37.3%)
One Laptop Per Child (17.9%)
We are pleased to present you with your very own Linux Journal Readers' Choice Product of the Year...drumroll please...the ASUS Eee PC! Once again, we congratulate ASUS for making a great Linux product from the ground up and not as an afterthought. The win is well deserved due to the pure excitement it has created in our community. And, it's created excitement here at LJ as well—see Jes Hall's review of the ASUS Eee PC at www.linuxjournal.com/article/9947, her “Hacking the Eee PC” at www.linuxjournal.com/article/10003 and Shawn Powers' video review at www.linuxjournal.com/node/1005898. See also “Eee PC Gets an Upgrade” on page 13 of this issue. We're also pleased to announce that the OLPC wins the Honorable Mention in this category; see Dave Phillips' “Sounding Out with the OLPC XO” on page 46 of this issue.
Weigh in on the debate in our on-line forum: www.linuxjournal.com/forums/hot-topics/programming-languages-vs-scripting-languages.
James Gray is Linux Journal Products Editor and a graduate student in environmental science and management at Michigan State University. A Linux enthusiast since the mid-1990s, he currently resides in Lansing, Michigan, with his wife and cats.