Readers' Choice Awards 2008
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
James Gray is Products Editor for Linux Journal
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- another very interesting
1 hour 52 min ago - Reply to comment | Linux Journal
3 hours 45 min ago - Reply to comment | Linux Journal
10 hours 39 min ago - Reply to comment | Linux Journal
10 hours 55 min ago - Favorite (and easily brute-forced) pw's
12 hours 47 min ago - Have you tried Boxen? It's a
18 hours 38 min ago - seo services in india
23 hours 10 min ago - For KDE install kio-mtp
23 hours 11 min ago - Evernote is much more...
1 day 1 hour ago - Reply to comment | Linux Journal
1 day 9 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




Comments
Mobilya
Our company was founded on the furniture and furnishings are often sent to countries that are sourced from our quality, thanks.
I think type of site that is
I think type of site that is useful in sharing information and it is important to shar.Web proliferation of new developments in the field of design.Thank you.
Web Tasarım
I think type of site that is useful in sharing information and it is important to shar.Web proliferation of new developments in the field of design and entrepreneurial spirit of people who have very beautiful and pleasing to be professional.
sallama
finally we get to know who the csool winners of this year's Linux Journal Readers' Choice Awards for 2008! Ubuntu is a real surprise as I've heard that it is quite com plicated and needs getting used to!! All the others were more or less expected! Hope this will add more
Bayan eskort ajansi istanbul
car rental rent a car araba kiralama araç kiralama firmaları türkiye
Re:
It’s very interesting to take the 8 “generatives” as a model and put existing business through it … do they fit? do they still work? is there still profit to be made?
Since I discovered Firefox
Since I discovered Firefox I’ve forgotten IE, but have not migrated to Thunderbird, kinda comfortable with MWM. We use Wordpress for blogs http://www.caribbeanjobsonline.com/
Choice
Mozilla - Not impressed.
Pidgin - Excellent ! ---Skype should be banned :)
Gimp - Always the best
vi - best text editor, file editor , fileditor.
I'm also surprised that my
I'm also surprised that my favorite program Konqueror gets less than 5%, inasmuch as it is unique in offering very fast browsing and powerful if slow file management in the same window and also offer multiple windows, tabs, and window panes. Of course, few Gnome users will use Konqueror and you need Firefox anyway for some sites, but I'm not happy that KDE had to launch a new file manager Dolphin which will not help Konqueror's popularity any.www.eniyioteller.net/alanya-otelleri/index.php http://www.eniyioteller.net/kemer-oteller/index.php http://www.eniyioteller.net/antalya-otelleri/126.html
mozilla
Mozilla is affected me :) Pidgin is Very good,gimp like always,No other words to say :)
true list
i like firefox and open office
Teknoloji ve Tasarım
I have tried ubuntu a few times before. It complicated to me. I hope this version is easier than before. It is really look useful with mozilla advices. Thanks for article.
Thank you
Thank you. im follow you :)
web tasarımı
I don't trust anything by Mozilla. That's why Opera all the way, baby.
I have tried ubuntu a few
I have tried ubuntu a few times before. It complicated to me. I hope this version is easier than before. It is really look useful with mozilla advices. Thanks for article.
Magma
Mozilla - Not impressed.
Pidgin - Excellent ! ---Skype should be banned :)
Gimp - Always the best
vi - best text editor, file editor , fileditor.
Wordpress is indeed the best
Wordpress is the best Content Management System I can't understand how Drupal is so close as I think Wordpress has more than 50% market share.
Jack
thanks
thats nice thanks alot
I'm surprised wordpress only
I'm surprised wordpress only got 28.8 %
Reader's Choice contest
Dear Reader's Choice:
I was wondering if can answer the following questions for me.
1. Can a person can enter your contest online?
2. I have a book that is printed by a publish on demand company. Do you know of any literary agencies you could refer me to who works with Christian material?
3. Can your editor critique my book?
Thank you,
John D. Collier
Honorable Mentions Bison
Honorable Mentions
Bison (14.7%)
javacc (12.8%)
thats nice thanks alot
thats nice thanks alot
well/.//so surprised by the
well/.//so surprised by the stastics.
Programming Languages
Programming is a very wide and deep area to cover,
unlike web-browsers or text editors, which are rather single-purpose;
perhaps you should have instead subdivided it into domains:
-scripting/programming
Where oh where has Konqueror (and Opera) gone?
I'm also surprised that my favorite program Konqueror gets less than 5%, inasmuch as it is unique in offering very fast browsing and powerful if slow file management in the same window and also offer multiple windows, tabs, and window panes. Of course, few Gnome users will use Konqueror and you need Firefox anyway for some sites, but I'm not happy that KDE had to launch a new file manager Dolphin which will not help Konqueror's popularity any.
Lighttpd
Apache is indd the most favorite webserver. But I think that webservers like lighttpd and nginx will rise this year. They have less memory footprints and are faster then apache. The proof for this is easy to find. The most popular websites like youtube and wikipedia do not run from apache but lighttpd.
The evolution in webservers that are more specific programmed for WEB2.0 and 3.0 is started.
Interesting
BLOATWARE desktops are the choice?
only for those with more money than brains.
BLOATWARE browser?
not for me.
I'll use Mozilla's Seamonkey Suite, less resource intensive and 5 times the capabilities of Mozilla's Firefox.
[ and no IE look and feel to it ]
vi/vim both not installed on my systems, with garbage documentation written for something that has not been used since the 1970s, the "META" key, it just isn't worth using.
and any distro that has meta packages enabled is out of the running, that is a guarantee of bloat.
use a minimalist distro, or go back to MS bloatware.
[ Linux From Scratch, the only way to go ]
Regarding Jacqui's comment
Regarding Jacqui's comment from May 6th, 2008, vim has extremely good documentation both from within using it and in html format. It contains informative introductory chapters and detailed reference chapters. All of this completely cross-referenced. It's a pleasure to read and sets a standard for the documentation of any complex tool.
As for META, I use Alt as META and it works fine.
Your position sure makes
Your position sure makes sense. Run 2008 software as if you had a 1970's machine, and yet shy away from 1970's software because it's poorly documented. (But hey, thick documentation is the ultimate bloat and can swallow lots of MB out of your 500GB disk!) What is your favorite, minimalist, run-me-on-0.1K editor, then, "cat >" ?
As for the vi documentation, were you able to write down where on earth it mentioned the META key before getting rid of it? Last time I checked you only needed ESC. Still, I'm sure such a resourceful guy could always look up one of the zillion web pages and tutorials available on the subject...
good list
well thats a good list and as expected FireFox is getting better all the way ....
cheers!
ghalo
http://www.jean.ghalo.com
I don't trust anything by
I don't trust anything by Mozilla. That's why Opera all the way, baby.
Awards
Mozilla - Not impressed.
Pidgin - Excellent ! ---Skype should be banned :)
Gimp - Always the best
vi - best text editor, file editor , fileditor.
So finally we get to know who
So finally we get to know who the cool winners of this year's Linux Journal Readers' Choice Awards for 2008! Ubuntu is a real surprise as I've heard that it is quite complicated and needs getting used to!! All the others were more or less expected! Hope this will add more competition between them and we customers get the most out of it!! But it was wonderful work done by you guys and Linux must be appreciated for their wonderful world of web!!Internet Satellite
FTA: "Who would have
FTA:
"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."
As far as Linux is concerned vi = vim. If a user types vi at the command their running vim. I simply do not believe that vi is more popular than vim.
Vim as an easy-install vi
I voted for vi even though I'm using vim, because *only occasionally* do I use one single extra feature, namely syntax highlighting. Whenever I type vi or vim, my screen reads "Running in Vi compatible mode", and that's how I like it best.
Back to the Future?
Hm, I read "June 1st, 2008 by James Gray in Linux Journal" in the header of this article. So either you travel in time or you should check your date settings ...
Time travel
This is just like the type of posts it's worth visiting 2 years after they were written.
-----------------
John Nousis
June Issue
We are sort of traveling in time in that this is a preview of the article that appears in the June issue of Linux Journal, which hits mailboxes and newsstands any day now.
Katherine Druckman is webmistress at LinuxJournal.com. You might find her on Twitter or at the Southwest Drupal Summit
Truth
Jeje, you're right.