Favorite Media Player
MPlayer (34.6%)
Honorable Mention
VLC (27.4%)
This close race in the Favorite Media Player category may be as much atestament to MPlayer's legacy to thankful Linux users everywhere as a votefor excellence. When playing nonfree media content was still a problemfor Linux users, MPlayer was there, leveling the field and making surewe could play anything our Windows-using friends were playing and thensome. VLC, a close second, is growing in popularity for its friendlyinterface and equally adroit ability to play pretty much any format youcan throw at it.
Favorite Communications Tool
Pidgin (42%)
Honorable Mentions
Skype (17.8%)
Kopete (12.8%)
Pidgin, the messaging tool formerly known as Gaim, readily handled all ofits competitors, garnering 42% of your votes. Pidgin users appreciatethe ability to monitor all of their messaging accounts using one tool.Currently 15 protocols are available, including AIM, Google Talk, NovellGroupWise, ICQ, MySpaceIM, Yahoo and others. Despite Skype's popularity,it remains in Pigin's long shadow—maybe because its closed-sourcecredentials tug at our consciences?
Favorite Graphics/Design Tool
The GIMP (76.4%)
If anything qualifies as a legendary piece of Linux software, thenThe GIMP certainly has earned that mantle. Winning 76.4% of thevotes, The GIMP wins for Favorite Graphics/Design Tool. As for theothers? “Ouch!” is the collective cry from the other graphicsapplications, such as Inkscape, Scribus and Blender, each of whichreached percentagesonly in the single digits. Notable for its absence is the increasinglyimpressive KDE graphics tool, Krita.
Favorite Digital Photo Management Tool
digiKam (24.9%)
Honorable Mention
Picasa (24.5%)
digiKam, at 24.9%, edged out its image-organizer rival Picasa fromGoogle by a mere 13 votes. Picasa's excellent functionality is powerfulenough to make up for its deficits—its non-FOSS status and Wine-basedemulation. Like its e-mail cousin Gmail, Picasa is an interesting choicegiven that it is not a Linux application, per se. Gmail exists only inGoogle's cloud, and Picasa is—gasp!—a Windows application.
Favorite Text Editor
vi (35.3%)
Honorable Mention
gedit (15%)
Who would have thought that after all these years, the vi editorwould rule the roost? It beat out every other editor, including Emacsand 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 aboutevenly, clustering around the 10% mark.
Favorite Linux Game
Frozen Bubble (19.2%)
Honorable Mentions
Doom (12.3%)
Tux Racer (11.7%)
It is beginning to seem that no game will ever knock FrozenBubble fromits lofty perch as Favorite Linux Game. Not only does FrozenBubblelure you in with its pure simplicity, but also those penguins are just toodarn cute! Doom and Tux Racer,which won honorable mentions, are twomore of your favorites.
Favorite Virtualization Solution
VMware (38.7%)
Honorable Mention
VirtualBox (20.4%)
Given VMware's meteoric rise during the past few years, it's no surprise tosee it win the gold for Favorite Virtualization Solution. More surprisingis 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 Microsystemsearlier this year, giving VirtualBox the marketing injection it neededto match its technical prowess. Wine and Xen fared decently in thiscategory too.
Favorite Backup System
Simple Linux Backup (25.5%)
Honorable Mentions
Amanda (16.1%)
Bacula (16.1%)
In this year's competition, we differentiated between comprehensiveapplications, or systems, and specific utilities. Regarding the FavoriteBackup System category, most of you prefer the no-frills, low-budgetapproach over corporate solutions—that is, the application Simple LinuxBackup. The open-source applications—Amanda, with the Zmanda interfacefor server backup, and Bacula, for network-based backup—also got manyof your votes. Backup also is the category in which the most readersroll their own script-based solutions.
Favorite Backup Utility
tar (35.4%)
Honorable Mentions
rsync (22.4%)
k3b (15.1%)
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-authoringapplication k3b to warrant honorable mentions.
Favorite Database
MySQL (62.7%)
MySQL is not only the world's most popular open-source database, it'syour favorite as well. Although PostreSGL, SQLite, Firebird and othersregistered votes, the competition was not fierce. It doesn't hurt thatMySQL runs on more than 20 different platforms.
Favorite Programming Language
C (26%)
Honorable Mentions
C++ (25.7%)
Java (22.9%)
'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 thirdspot. Don't see your own wildlyfavorite language here? You wouldn't believe the number of“WTFs”we got when readers didn't find Python, Ruby or other languages herebut rather in the scripting language category. Check out that category'sresults, as well as Michael Baxter's explanation in the sidebar for how we differentiatedbetween programming and scripting languages. (No doubt we'll see youin the on-line comments section too!)
Programming Languages and Scripting Languages
We received a lot of feedback about our on-line survey of favoritelanguages. A particular point from this feedback has been why somelanguages were called scripting languages, and others not. A criterionwas used to decide this, as will be explained. A plethora of issueswas raised in the responses we received, so highlighting some of theissues will contextualize how the criteria emerged for this survey.
One simple way of distinguishing computer programming languages iswhether they are compiled or interpreted, which several LinuxJournalreaders pointed out. However, even that is an issue. Java isconsidered as a general-purpose programming language, but nominallythe runtime environment is a Java Virtual Machine. This is verysimilar to a variety of scripting languages actually, including EmacsLisp. However, Java also can be compiled to native machine code. So,for the interpreted versus compiled issue, one might ask, “What kind ofcompiled?”
A scripting language could generally be a language that ishosted by another environment. In other words, it's “running on topof something”, whether that be a byte-code interpreter or, in thecase of embedded application use, as an adjunct to another softwareapplication. One also might ask whether the breadth and representativepowerare obtained by libraries, or because of built-ins to the language?
Scripting languages also can have object features and work at a higherlevel, or work more like a dynamic language, such as Lisp, which doesmanifest typing. AWK and Python or Perl are arguably scriptinglanguages, but they are quite different in their utility. One mightthink of AWK as slightly easier to use than bash, with theparticularly nice facet of associative arrays. But, Python or Perl (viastrong libraries) are much more powerful, and they are glued tonumerous layers in the complete FLOSS stack. So, the “grainsize” of ascripting language tends to matter as to its utility.
One of the scripting languages that was omitted in the original surveywas Tcl, and this was a mistake. Tcl is very popular, especially in certainapplication domains, such as CAD tools, where it is a de factoscripting language. Similarly, upon further reflection, it might beargued that the general-purpose programming language BASIC that ismost in use today is not really a later variant of Kemeney and Kurtz'1964 original, but rather Visual BASIC, arguably a scriptinglanguage. However, that language generally does not run well on Linux,and efforts to bring this particular language to Linux have provokedsome controversy.
Based on comparative technical criteria, one could make the case thatJava is a scripting language. Its runtime implementation is strikinglysimilar to Python, though there are clearly very divergent languagesyntax and semantics in both: Python is much less strongly typed. Theproblem is that Java users really don't use it as a scriptinglanguage, and its promoters don't promote it that way either. It'smuch more ubiquitous in any of its roles, such as middle-ware, forcomplete applications, or as a standalone embedded platform. So, aleading clue is that what defines a “scripting language” is notnecessarily decided along strictly technical lines.
Perhaps the motivating factor behind what determines whether a languageis a scripting language or programming language is ultimately how acritical mass of users tend to use it. Other factors include how it'spromoted, whether it's standardized, how the user community isresponded to with emergent problems or technical issues, and how theprimary maintainers allow the language to “evolve” where necessary. Areally good way to see this is to compare the number of technical booktitles on computer languages and associated libraries or environmentsin a modest bookstore.
Finally, it was this “tendency of use” that was the primary litmus test toassert which language was selected as a programming languageversus as a scripting language. Some respondents have rightly pointedout that this was relatively “arbitrary”, and that there were numerousdissonances along the axis of “compiled” versus“interpreted”. Theyare right. This arbitrariness is borne out, in fact, by the usagepatterns seen; the mass of users themselves really have decided theuse models. Practical and reasonable programmers, in fact, do disagreeon such distinctions.
Such divides cut across much more than compiled or not. A largerdivide would appear to be strongly typed versus dynamiclanguages. Another would be functional versus imperative. One dividethat seems to be waning is whether object-oriented is good; we generally seem tobelieve that it is. Despite this general consensus, C is notgoing 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 theabsolute ultimate runtime performance is not relevant to a programmingproblem, modern scripting languages are a strong play. One can getmore done with fewer lines of code, if compared with starting a programin the C language. Most are easier to learn and use than, say, C++. Thismay well be a legacy of highly evolved computer technology. If youbelieve that “premature optimization is the root of all evil”, perhaps using a “standard” programming language is one kind ofpremature optimization. A lot of careful thinking has gone intocertain scripting languages, and very strong compilation software isavailable to host these languages. But, these advances in computerscience also derive benefit from late-modern hardwaretechnology. Machines today are so fast that it really is possible touse scripting languages as general-purpose programming languages fornearly any purpose on a wide variety of applications.
—Michael Baxter, Technical Editor, Linux Journal
Favorite Scripting Language
Python (28.9%)
Honorable Mentions
PHP (21.7%)
bash (19.8%)
Perl (17%)
It's no surprise that Python grabbed top honors in the Favorite ScriptingLanguage category, and that PHP, bash and Perl all deserve honorablemention for their strong showings.
Favorite Language Construction Tool
Flex (18.1%)
Honorable Mentions
Bison (14.7%)
javacc (12.8%)
You know you're reading the right publication when a collective cheerrises up to celebrate the scanner-generator Flex winning a prize.Although Flex took top honors for Favorite Language Construction Tool with18.1% of the votes, its yacc-compatible parser generator, Bison, talliedenough votes for an honorable mention (14.7%), as did the compiler-compilerfor Java, javacc (12.8%). Although this category registered fewer votesthan other categories, nearly 2,000 of you weighed in with your opinions.
Favorite Security Tool
SSH (29.5%)
Honorable Mention
iptables (19.4%)
Just as it did in the last edition of this competition, the hyperversatileand hyperfavorite SSH wins this year in the Favorite Security Toolcategory with 29.5% of the votes. You also showed your love for theiptables tool for your packet-filtering tasks, which deserves an honorablemention for garnering 19.4% of the tally.
Favorite Linux Software Development Tool
Eclipse (29%)
This year, Eclipse easily eclipsed all of its competitors to win FavoriteLinux Software Development Tool. Although the rest of the votes werewidely dispersed among many different tools—KDevelop, Emacs, GNUautoconf and NetBeans all registered significant vote counts.
Favorite Package Management Application
Apt (35.3%)
Honorable Mentions
RPM (16.5%)
Yum (14.9%)
Synaptic (11.6%)
One of the main reasons so many of you love (K)Ubuntu so much is its sweetpackage management via Apt, this year's victor in the Favorite PackageManagement Application category. Apt won 35.3% of your votes. Many ofyou also cast your votes for the classic RPM (16.5%) and its useful friendYum (14.9%). Meanwhile, a respectable number of you (11.6%) prefer theSynaptic front end on top of Apt to perform your package management tasks.
Favorite System Administration Tool
OpenSSH (52.7%)
The depth of your love for OpenSSH is clear. Not only did you chooseit for Favorite Security Tool (above), but you chose it as FavoriteSystem Administration Tool as well. With 52.7% of your votes,it stands head and shoulders above its nearest competitors.
Favorite Content Management System
WordPress (23.8%)
Honorable Mentions
Drupal (21.4%)
Joomla! (18.9%)
Competition was tough for Favorite Content Management System, for you loveyour myriad options. Nevertheless, your favorite application in thiscategory was the blog publisher WordPress (23.8%), which edged out theable Drupal (21.4%) and Joomla! (18.9%) to take the prize. It appearsthat the vast majority of you bloggers are gravitating toward WordPress,while the Webmasters are splitting into Drupal and Joomla! camps.


