JavaScript to be the Default Langauge for Gnome
JavaScript to be the Default Language for Gnome


As another sign that JavaScript is taking over the world, the Gnome team seem to have decided that it is to be the default language for developing user facing applications. It sort of makes sense.



 

Gnome, the graphical desktop environment for Linux, may not be as influential as it once was, and many hate the way Gnome 3 moved away from the desktop metaphor, but it is still important. So the news that the Gnome team has decided to drop the "you can use a range of languages" answer to the question "what language should I use for Gnome development" to a simple recommendation to use JavaScript is another territory taken by the language.
The news has been broken on the Let's Push Things Forward blog by Gnome developer Travis Reitter. Currently there is no official confirmation and nothing on the Gnome website. 
After considering the waste that supporting many languages was creating, the team decided to do something positive:
"We spent a long time discussing the different options that are available to us, and there were a variety of opinions. However, at the end of the day, we had to recognize that no language is perfect and there will always be disagreement. The important thing was that we had to make a decision."
The blog post goes on to say that the selection of JavaScript doesn't rule out other languages:
"It's critical that everyone understands this decision as a plan to elevate the language, bindings, tools, and documentation to a level of quality we have not yet achieved. It is not a decision to abandon any other language bindings. We will continue to distribute other bindings and documentation as we do now and compatibility for the other languages will continue to be developed as they are today by the developers involved with those modules.
Our decision is to support JavaScript as the first class language for GNOME application development. This means:


We will continue to write documentation for other languages, but we will also prioritize JavaScript when deciding what to work on.
We will encourage new applications be written in JavaScript.
We will be working to optimize the developer workflow around JavaScript."

It is also important to realize that this choice relates to user facing programs, i.e. end user applications. For system libraries the language of choice is still C.
The final comment is:
"This is the start of a process and there's obviously a lot of work ahead of us. However, prioritizing a single language will enable us to turn GNOME into a compelling platform for application developers in a much more effective and efficient manner."
JavaScript seems to be a good choice for Gnome 3 as the shell UI is written in the language. It is also consistent with the use of the JavaScript in WinRT, Chrome Apps, FirefoxOS apps and generally the rise of web apps.
As you might expect, the initial reactions are of horror at the idea that JavaScript has been selected rather than the favorite language of the commenter. There is a great deal of ignorance about, and prejudice against, JavaScript which is often regarded as an incomplete toy language rather than the elegant and sparse language that it actually is.
Programmers moving from traditional class-based, object- oriented languages such as C++ and Java find JavaScript fairly repulsive as they attempt to use it in the same way as  they would use their favorite language. The Gnome team might have to put a lot of effort into educating the dissatisfied mob.
 





