back to article GNOME project picks JavaScript as sole app dev language

The GNOME project, developers of the GNOME desktop for Linux, has decided JavaScript will be the only “first class” language it will recommend for developers cooking up new apps for the platform. Developer Travis Reitter, who does some work on GNOME, has posted his account of a discussion at last weekend's GNOME Developer …

COMMENTS

This topic is closed for new posts.
  1. Voland's right hand Silver badge
    Devil

    At first I thought the calendar is wrong

    My first thought was that it is already April, the first to be more exact. However on a second thought, I remembered - this is GNOME.

    Whatever idiocy Microsoft does, GNOME follows drooling on the way. Microsoft promoted C# so did GNOME (its rather crippled alternative implementation). Microsoft decided that C# is no longer for the cool kids. Well so does GNOME.

    In any case being an uncool kid I am going to stick to C, C++, Python and Perl. Curly bracket language which is the assembly of the Internet? No thanks.

    1. JeevesMkII

      Re: At first I thought the calendar is wrong

      I presume this is going to be exactly like the C# episode. Much talk but everyone who matters keeps writing in C.

      1. DanDanDan
        Thumb Up

        Re: At first I thought the calendar is wrong

        Keeps writing in C... or switches to a different framework - probably Qt. The fact that the Qt framework code compiles and runs fine in Windows is a double-plus. The licensing restrictions and ownership are the main barriers to entry.

        1. A J Stiles

          Re: At first I thought the calendar is wrong

          What licensing restrictions? Qt has been GPL for years now.

          1. Hein-Pieter van Braam
            Stop

            Re: At first I thought the calendar is wrong

            It's actually LGPL on all platforms now.

    2. Marco Fontani

      Re: At first I thought the calendar is wrong

      When I find myself in times of trouble,

      Uncle Ritchie comes to me,

      speaking words of wisdom -

      Write in C

    3. Anonymous Coward
      Joke

      la la la la la la la

      *fingers in ears* - la la la la la la.

      http://graiae.files.wordpress.com/2012/03/chimpanzee-with-its-fingers-in-its-ears1.jpg

      // this is how we do things in gnome land

      var gnome = "ignored";

      while (gnome = "ignored") {

      document.write("la la la la la la");

      }

      1. Aaron Em
        Thumb Down

        Re: la la la la la la la

        Warning: assignment in while condition at line 3

  2. Neil Barnes Silver badge
    WTF?

    After all this time

    Learning my way around the Gnome code in C...

    Meh

  3. Anonymous Coward
    Windows

    Another doo-doo ?

    "He also points out that web apps galore use JavaScript and that Microsoft is comfortable with JavaScript for Windows 8 apps."

    Now, please keep in mind that I'm not a professional developer, but even I can see something really out of place here... Sure; Microsoft is comfortable with HTML5 & JavaScript for Windows (8) Store apps.

    Lets look at some of the highlights of what a Windows Store App is all about (as can be read on the MSDN page here):

    • They run in a single window that fills the entire screen by default.
    • They automatically work with a variety of input sources, including touch, pen, mouse, and keyboard.
    • They install easily and uninstall cleanly.
    • Instead of static icons, they use live tiles that can display notifications.
    • You can write Windows Store apps in a variety of languages, such as C# and Visual Basic with XAML, C++ with XAML or DirectX, and JavaScript with HTML/CSS.

    I wouldn't quite compare that to the default programs which you normally get on a desktop-like environment such as Gnome (or KDE). These programs are meant to be light weight (sort of) because they run in a closed and locked down environment (the void we once knew as Metro).

    Another thing which the "Gnome Guys" seem to completely ignore is while Microsoft may have been comfortable with this; hundreds if not thousands of Window-based programmers weren't so enthusiast about the idea (in all fairness; that was also fuelled by the rumours that MS would drop .NET).

    If you want to use Microsoft as an example; then why not use their .NET framework model as well? You know: a common runtime combined with a specific language specification and then stack several languages on top of that so that the programmers can choose what they like best while still complying to whatever standards you want to use, no matter what language they prefer ?

    1. Dazed and Confused

      Re: Another doo-doo ?

      > They run in a single window that fills the entire screen by default.

      Argh! Now who's re-inventing the VT100?

      repeat after me

      the reason for having a pixel addressable screen is so you can display multiple things at once.

      Xerox demo's this donkey's years ago.

      Argh!

      1. Simon Harris
        FAIL

        Re: Another doo-doo ?

        the reason for having a pixel addressable screen is so you can display multiple things at once.

        That's a bit of a non sequitur!

        I can think of multi-tasking systems that just used a text screen - remember DESQview? And I can think of plenty of systems with pixel addressible screens that just showed a single application full-screen (how many 1970s/80s 8-bit systems were multi-tasking?)

      2. Anonymous Coward
        Unhappy

        Re: Another doo-doo ?

        >> They run in a single window that fills the entire screen by default.

        >

        >Argh! Now who's re-inventing the VT100?

        Oh no no, come on now , be fair - haven't you seen the MS ads where they're trumpeting the fact that you can have 2 apps on the screen *At The Same Time* In Metro/whatever! In tiled formation. Hello Windows 1.0!

        Seriously , I don't know what the cretins in the MS marketing dept have been smoking or whether they've been off planet since 1980 , but if they seriously think thats a selling point then perhaps VT100s will be making a comeback for home use if we continue on this retrograde step in user interfaces.

      3. Steve Knox
        Holmes

        Re: Another doo-doo ?

        the reason for having a pixel addressable screen is so you can display multiple things at once

        No, the reason for having a pixel addressable screen is the same reason for having internet access: pictures, usually of kitties of one form or another.

    2. Captain TickTock
      Alert

      Re: Another doo-doo ?

      If you want to use Microsoft as an example; then why not use their .NET framework model as well? You know: a common runtime combined with a specific language specification and then stack several languages on top of that so that the programmers can choose what they like best while still complying to whatever standards you want to use, no matter what language they prefer ?

      Erm, isn't that what they had been doing for the last 10 years with Mono?

      (And that model could also describe the Java ecosystem)

      1. Anonymous Coward
        Anonymous Coward

        @Captain TickTock

        "Erm, isn't that what they had been doing for the last 10 years with Mono?"

        Well spotted. I wrote that with .NET in mind but the same applies to Mono as well. Although basically Mono seems to mainly focus itself on C#, afaik there aren't any other compilers available as of yet.

        Even so; if Canonical really wants to follow the Microsoft example as they claim then Mono would have made a lot more sense to me. Not too sure how good of a choice that would be though.

  4. Mike Wilson
    Facepalm

    What a dreadful decision

    Every generation gets to use a language apparently designed by people who know little about programming languages. Over the years we've had COBOL, BASIC, PERL to name a few of the horrors visited on innocent programmers. By now, JavaScript should have faded away. Instead, another wilfully ugly and utterly inappropriate language is still growing.

    1. Flashy Red
      Facepalm

      Re: What a dreadful decision

      It's Perl.

    2. Anonymous Coward
      Flame

      Re: What a dreadful decision

      "Over the years we've had COBOL, BASIC, PERL to name a few of the horrors visited on innocent programmers"

      BASIC was designed to teach kids and in that area its perfect - it introduces the concepts of variables, loops and subroutines. Its when it was expanded into a "serious" programming language that the cracks started to show.

      And COBOL was good for its time given the hardware it was running on. Its easy to be dismissive of what people did in the past just because you can look at it though the prism of history but put yourselves in their place in that time and see how well you'd do.

      As for Perl .... ummm ..... yeah well, there's always one...

      1. jake Silver badge

        @boltar et ali. (was: Re: What a dreadful decision)

        "And COBOL was good for its time given the hardware it was running on. Its easy to be dismissive of what people did in the past"

        In the past? COBOL & Fortran still run most of today's big money operations. Learn those two inside-out, and you'll be employed for life, probably making three or four times what your current Boss makes as a salary. But unlike said Boss, you can work from home, in your jammies, with three days growth of beard, your dawg warming your toes, and a beer at your elbow.

        Proper K&R C, with a good knowledge of the Assembly language for the targeted processor(s), comes close in earning power & working conditions.

        C derivatives, including the various Javas, probably not so much.

        BASIC, in any iteration, is absolutely the worst language to teach the neophite programmer. Please put on the pointy hat & go sit in the corner. (Before you ask, I like to teach the Scheme dialect of Lisp and/or Smalltalk as a first language(s) for kids).

        Perl's great. I use it for what it was originally intended for ... putting system logs into human-readable format, the way I want the logs to be presented. (Remember, Wall's variation of Perl's backronym is "pathologically eclectic rubbish lister".)

    3. asdf
      Trollface

      Re: What a dreadful decision

      Upvote for simply mentioning Perl. Perl's obviously bolted on OO functionality is about as ugly as any common modern language gets. I swear Python prospers simply due to the numerous short comings in Perl.

      1. eulampios

        @asdf

        Every programming language has shortcomings that is why there are quite of few of them. Perl has much more advantages than shortcomings though,

    4. eulampios

      Re: What a dreadful decision

      perl -e '

      print "Downvoting for insulting Perl.\n"x100;

      '

  5. frank ly

    The underpants GNOME

    1. Have discussion and gather opinions

    2. Choose javascript

    3. ??

    1. Euripides Pants
      FAIL

      Re: The underpants GNOME

      Yep. Stick a fork in it, its done.

      Oh, wait - someone did put a fork in it, its called Mate.

  6. Bill the Sys Admin
    Mushroom

    Good old gnome, always mucking the devs about.

  7. Destroy All Monsters Silver badge
    Facepalm

    Worst decision after the Gnome 3 pratfall.

    Guess this will be like Java, where adequate and usable languages will emerge over time (after much slaving, moans, lost money and time) that compile down to / can still be transformed into the one primary party-decreed big-brotherly language where their proponents can still say "but technically it's still X" without causing Papal writs against heretics to be issued.

    If Gnome has still any developers by then.

    "Seriously, if someone brings that up in a discussion they can now be thoroughly ignored"

    Yes, that's a formula for success. Someone has confused physics and development.

    1. David Dawson

      Re: Worst decision after the Gnome 3 pratfall.

      Java, the language, is actually pretty good. Excellent IDE/ tool support, well understood proper ways to do things.

      In any case, the other jvm languages almost all compile straight to JVM bytecode now, which is unrelated to java the language.

      1. Anonymous Coward
        Anonymous Coward

        Re: Worst decision after the Gnome 3 pratfall.

        "Java, the language, is actually pretty good."

        I don't like eggplant.

        What, we aren't making random statements that have nothing to do with the article?

        Repeat after me: Javascript is NOT Java (the language).

        There are some superficial similarities, but then there are superficial similarities between Java and C++ as well.

        1. David Dawson
          FAIL

          Re: Worst decision after the Gnome 3 pratfall.

          Well good for you, you went off on one and didn't bother to read the comment I was replying to.

          I've used Java, and javascript, for more than a decade, I know what it is, Java is good at what it is, although there are now better languages for particular domains that run on the JVM.

          JavaScript has not been finished yet, was added to over time by competing groups/ companies and is missing some fundamental things, like a sane modularisation system.

          However, that is irrelevant, as I was actually, in fact, replying this :

          "Guess this will be like Java, where adequate and usable languages will emerge over time (after much slaving, moans, lost money and time) that compile down to / can still be transformed into the one primary party-decreed big-brotherly language where their proponents can still say "but technically it's still X" without causing Papal writs against heretics to be issued."

          Thanks for reading, or not.

  8. Lyle Dietz
    WTF?

    I don't get it

    What is with these GNOME devs? Between cutting episodes they have some therapy, this being the latest lot of razor-action.

    In the meantime we're all aghast and saying to them, 'Why? Why are you doing this to yourself? We liked you the way you were before!'

    Maybe I'm just too old and jaded; perhaps they want to vanish into obscurity. Whatever it is they're certainly flailing about a lot.

  9. This post has been deleted by its author

  10. Dan 55 Silver badge
    FAIL

    API, not language

    All the Gnome team should do is document the API and let people use whatever language they like.

    If they're really not interested in the project anymore just dump it on github and let someone else take it up if they're interested, instead of trying to drive everyone away from it...

    1. Anonymous Coward
      Anonymous Coward

      Re: API, not language

      The problem is the nature of the Gnome API. The Gnome developers have created their own object model, and deeply embedded it into the design of the API. However, the Gnome developers didn't handle the Platform Independent Model vs. Platform Specific Model very well, so the Gnome API is very much in terms of the PSM of their object-oriented C implementation (the GObject system). This makes programming Gnome needlessly complex, as things the programmer shouldn't worry about (ownership model of objects, lifecycle of objects, polymorphism, interfaces) are NOT handled by the language, and must be handled by the programmer.

      They attempted to resolve this by Vala - their home-brew language that was supposed to hide all of that (by generating C code implementing the OOC GObject PSM), but that hasn't taken off: it seems programmers have better things to do with their time than learn another language for a relatively small niche (and that niche is getting smaller every day, especially with decisions like this).

      So, rather than take the rather large step of refactoring all the Gnome libraries to move to a language that has a more sensible way of handling objects (e.g. C++11 or native Java (NOT Javascript - see my earlier comment about Java<language> != Javascript)) they decided to move to Javascript, which they could map to the GObject system and that programmers might be willing to learn.

      Mind you, using Javascript as a *part* of an application makes a great deal of sense: if you want a Turing-complete scripting language, Javascript is good enough. If you have designed your program as a proper Model-View-Controller pattern, and you keep the UI and the back-end split, having the UI use Javascript to provide "life" to the UI to make the UI code more portable is a good idea (back-end code, if there is no UI, tends to be more portable anyway).

      But if the Gnome "architects" are seriously suggesting using Javascript for ALL Gnome development, IMHO it means they are resigning Gnome to only shallow GUI programs, and not complex system level programs.

      All of which makes me glad I decided to strip Gnome off my machines - the Gnome team has noticed they are approaching the event horizon, and have decide the best bet is to dive in as fast as possible.

      1. Anonymous Coward
        Headmaster

        Re: API, not language

        "so the Gnome API is very much in terms of the PSM of their object-oriented C implementation (the GObject system). This makes programming Gnome needlessly complex, as things the programmer shouldn't worry about (ownership model of objects, lifecycle of objects, polymorphism, interfaces) are NOT handled by the language, and must be handled by the programmer."

        I'm not going to defend Gnome about much , but come on , C is not a hard language to use and if you really have problems managing your own objects then you're going to have similar issues with C++. Also I prefer the explicit nature of C - what you C is what you get. Unlike with C++ where a whole load of implicit activity can be happening "under the hood" thanks to constructors & destructors of stack based objects & temporaries, type promotion etc.

        1. Anonymous Coward
          Anonymous Coward

          Re: API, not language

          if you really have problems managing your own objects then you're going to have similar issues with C++. Also I prefer the explicit nature of C - what you C is what you get. Unlike with C++ where a whole load of implicit activity can be happening "under the hood" thanks to constructors & destructors of stack based objects & temporaries, type promotion etc.

          Well, that "implicit activity" in C++ is exactly why you hardly have to manage your objects at all, the language takes care of most of the resource (not just memory) management for you. Granted, sometimes there's the odd object you need to free yourself because of language limits (smart pointers in containers anyone?), but even that is waning thanks to C++11.

          One just has to remember that C++ is not C-with-classes, and use it accordingly.

        2. Matt Bucknall

          Re: API, not language

          Have you ever tried writing any significant amount of code in C using GTK+'s bloated piece of crap GObject system? I shudder to think how many hours of my life I've wasted manually specifying vtables and handling GObject properties. Glad I jumped that ship 20 months ago.

          Yes, C is a vastly easier language to understand compared to C++ and can even be a more productive language in some circumstances... But not when you use it to manually implement everything C++ gives you out of the box minus the syntactic sugar.

        3. Daniel B.

          Re: API, not language @boltar

          The thing with Gnome/GTK+ is that they actually implemented OO in C instead of going for C++. So the whole thing looks as ugly as MFC, because your "pointers" are actually representing objects, but instead of having the OO specific syntax, you have to use weird function voodoo to get the same stuff you get with C++.

          And I don't know about Gnome, but GTK development was a nightmare. I gave up and switched to Qt real fast... and by "real fast", I mean 2002. It's much cleaner.

          1. Destroy All Monsters Silver badge
            Headmaster

            *ç%&!!

            Yes, yes,

            But can we PULEASE absolutely INTERDICT the use of the ugly "Turing-complete" marketadjective.

            It sounds more retarded than "cyber" and means even less. Once you have a WHILE loop and string concatenation (plus substringing and length maybe), you have an Universal Turing Machine. Great, so what.

            I can only imagine this ... expression ... was born by people who initially thought that HTML was a "programming language".

            IMHO, people typing that ... thing ... into textareas should automatically be presented with a strobing screen so that they get epilepsy and drop under the table. Maybe on can get the browser developers to integrate this idea.

            1. Destroy All Monsters Silver badge
              Angel

              Re: *ç%&!!

              HAH! Downvote me about "turing complete" all you want, Sir Bedeveres of "Computer Science" with your O'Reilly books. I laugh at your puny onslaughts and your bizarre rabbit-shaped logic contraptions.

        4. Dan 55 Silver badge
          Trollface

          Re: API, not language

          Why stop at C when it insists on taking care of the stack pointer? With assembler you get to set it yourself.

  11. jake Silver badge

    And I thought Gartner was quite insane ...

    ... but then GNOME decides to trump them. Honestly, the mind boggles. What are the GNOME folks smoking? Whatever it is, I don't want any.

  12. david 12 Silver badge

    Persistent storage, USB and keyboard connections

    I hope that when they say 'first class language", they mean persistent storage as feature rich as the file system, not just ".localstorage"

    I don't mean that dev's have to be able to write hardware drivers or OS daemons in JS, but persistent storage as good as using Excel would go a long way to making this viable.

    1. sabroni Silver badge

      Re: not just ".localstorage"

      If you think that's the only way to get at the file system in javascript you should do some research before posting.

      1. david 12 Silver badge

        Re: not just ".localstorage"

        >If you think that's the only way to get at the file system in javascript

        If you think that Java in javascript is what is meant by "sole app dev language", I have a bridge you might want to buy.

    2. Andy Dent 2
      Devil

      Re: Persistent storage, USB and keyboard connections

      No, they mean language for your "first class in programming".

  13. Captain TickTock
    Boffin

    Going to the source...

    From http://treitter.livejournal.com/14871.html

    ...

    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.

    ...

    (emphasis mine)

    Looks a lot more rational than it's being made out to be.

    1. Pascal Monett Silver badge

      So, in other words, this "decision" is pure Web 2.0 rhetoric, ergo I can use the feather they themselves offered and ignore it.

    2. Anonymous Coward
      Pint

      @Captain TickTock

      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.

      Looks a lot more rational than it's being made out to be.

      Quite the contrary IMO. Because what he's saying there is that choosing a specific programming language will allow them to "elevate the language, bindings, tools and documentation". How on earth would the choice for a programming language effect your documentation for example ?

      That makes absolutely 0 sense to me.

      Also; a language alone doesn't bring in better tools; that's the programmers job. So if they feel their current batch of programmers isn't up to making tools of their desired quality (IMO that is what he's saying there) then how would changing the language effect this?

      So I don't quite agree with you; all I'm reading is a lot of talk without any meaning.

      1. Captain TickTock

        Re: @Captain TickTock

        It's not the choice of language, it's the choosing of one specific programming language that allows them to focus their resources, so they have a better chance of producing good docs and tools, rather than if they dispersed their effort on several languages at once.

        Agreed, the language alone doesn't bring in better tools, but again, focussed effort does. Now he says that no language is perfect, and clearly JavaScript is controversial here, so it remains to be seen how this will pan out.

    3. Anonymous Coward
      Anonymous Coward

      Re: Going to the source...

      Elevate the documentation?

      Surely you actually have to have some documentation to elevate?

  14. The FunkeyGibbon

    How does this affect Unity?

    Canonical have bought into the Gnome thing in a large way by using it as the basis for Unity. Does this mean that they are on board with this or are they going to wade in and start throwing their weight around?

    1. jake Silver badge

      To rephrase your question ... (was: Re: How does this affect Unity?)

      ... does anybody who actually implements standards give a shit about Unity or Canonical?

      1. Destroy All Monsters Silver badge
        Holmes

        Re: To rephrase your question ... (was: How does this affect Unity?)

        I guess "it depends" .... on the standards ... and what you mean by these.

  15. JeeBee
    FAIL

    When you start mandating a "one true language" for your library, you are dooming yourself to oblivion because your idea of a brilliant language is somebody else's idea of a steaming pile of horsemess. The Gnome developers should be wary, Gnome 3 is very unpopular as it is.

    Maybe they're mandating Javascript because all the hard core coder types have migrated to a different desktop already, leaving only Javascript web dev types.

    It used to be that desktop environments and UI toolkits would provide complete and comprehensive APIs for multiple languages to hook in and use them. Now it seems the opposite is true.

    1. jake Silver badge

      Gut feeling ...

      "Maybe they're mandating Javascript because all the hard core coder types have migrated to a different desktop already, leaving only Javascript web dev types."

      You are absolutely correct.

      The kiddies have never seen a relay in action. They don't grok hex. The compile/assemble/link cycle is foreign to them. The very concept of C inline with assembler (or vice versa) is alien. They don't know what the heap, nor the stack, are for (much less that they exist). The poor deluded fools actually don't understand the nuts and bolts of the systems they are messing up ... They are loudly proclaiming "Look at us! We have absolutely no idea how to put together a user interface, but we want eye-candy! And the sheeple are buying into it, just like they are with Redmond & Cupertino! Aren't we kewl!"

      My daughter weeps for her generation.

      1. Destroy All Monsters Silver badge
        Holmes

        Re: Gut feeling ...

        You are being too negative here.

        > My daughter weeps for her generation.

        Tell her to cheer up. Away from the shiny, there is still work to do.

      2. Fatman
        WTF?

        Re: Gut feeling ...

        There is so much truth in this statement:

        The poor deluded fools actually don't understand the nuts and bolts of the systems they are messing up ...

        I had a very rancorous discussion with this 20-something who thinks that he understands networking. He thinks that 240 workers can easily share a few wireless APs without serious contention; and that we are completely certifiable for installing a shitload of cat 7 cable in order to have some really fat pipes to each desktop.

        He doesn't get it.

        He doesn't get that with that grade of cable (cat 7) and the average run at less than 50 meters may make upgrading to 10GBE to the desktop with copper feasible when the price of 10GBE silicon finally reaches the ground. He doesn't get that it would be possible to pull this off as part of an equipment refresh (in the future). And, I an not a networking guy. Our networking people basically told him to go up to the roof deck, and jump off (for being that fucking stupid).

        WTF are the schools teaching these ID10Ts?????

        1. davidp231
          Coffee/keyboard

          Re: Gut feeling ...

          Schools teach these days? Earlier I read an article about the new "core curriculum" they are going to introduce...looks an awful lot like the stuff I did when I started school - in 1987. (such as teaching kids their multiplaction tables at an early age, and the importance of grammar and punctuation etc).

          Also, an addition to your deluded 240 workers (which made me giggle) - you forgot to mention the sharing of a crappy inkjet printer between them all. ;-)

          1. dajames
            Thumb Up

            Re: Gut feeling ...

            Schools teach these days?

            My nephew and niece seem to have to learn all sorts of things at school -- it's gratifying to see that they are actually being encouraged to learn foreign languages other than French, for example -- but the tech stuff they get taught doesn't seem to be the right tech stuff.

            ... teaching kids their multiplaction tables at an early age ...

            I learnt my multiplication tables at an early age -- but how I wish I'd learnt them in hex!

            ... you forgot to mention the sharing of a crappy inkjet printer between them all

            Preserving forests by reducing the availability of printing resources. Good move!

        2. Anonymous Coward
          Joke

          @Fatman

          "Our networking people basically told him to go up to the roof deck, and jump off (for being that fucking stupid).

          WTF are the schools teaching these ID10Ts?????"

          How best to deal with people who tell you that you don't know sh!t, you know; anger management, social training, gymnastics and when time permits they also try to include a bit of PFY study. Priorities, priorities...

    2. Captain TickTock
      Headmaster

      That word - I don't think it means what you think it means...

      Since when does "encourage" mean "mandate"? Who said mandate?

      again from http://treitter.livejournal.com/14871.html :

      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.

      Read what the guys themselves are saying they're going to do, read the discussions they're having, then you can comment.

      But I guess that's not the Commentards' Way ;-)

      1. Anonymous Coward
        Anonymous Coward

        Re: That word - I don't think it means what you think it means...

        Since when does "encourage" mean "mandate"? Who said mandate?

        In my book, when you focus on something it comes at the expense of the rest. If they focus more on Javascript, they'll obviously focus less on other languages (unless they somehow find new resources to handle the additional work, which I honestly doubt given the low popularity of Gnome3).

        In other words, give them enough time and the only decent bindings will be Javascript, effectively extinguishing slowly the other bindings.

  16. JDX Gold badge

    For goodness' sake

    "Let's pick the worst language we can find with the worst dev tools."

    Yes, yes. I'm sure JS on it's own is an elegant language. But you don't use a language in isolation.

    1. Destroy All Monsters Silver badge

      Re: For goodness' sake

      > I'm sure JS on it's own is an elegant language.

      You are actually not right.

      There are people writing books like "JavaScript: The Good Parts". That's telling.

      1. sabroni Silver badge
        Stop

        Re: For goodness' sake

        It is telling. It tells that with an open mind there are a fair few excellent features in javascript. Read "JavaScript: The Good Parts". It doesn't sugar the pill, there's quite a bit about the downright stupid features as well, but it makes it clear that with a little discipline it's possible to write things in javascript that are concise, readable and very powerful.

        There are a lot of bad programmers. Currently a lot of them are working in javascript. That says nothing about the quality of the language, it just says where the money is.

        1. David Hicks
          Linux

          Re: For goodness' sake

          When I've worked in Javascript I was thrown by the sheer number of options - for example there seemed to be about 8 ways to do inheritance, all of which come with their own pitfalls and occasionally need support (context binding).

          As a language it's a real mess, IMHO. That doesn't mean you can't pick a decent subset and do great things with it though.

          1. Rich 2 Silver badge
            FAIL

            Re: For goodness' sake

            At last - Someone said it!

            Javascript is an abhorrence. It's a close thing, but JS (and while we're at it, Perl) has to be well up there as one of the very worse languages ever invested. I think "unreadable, convoluted filth" is good place to start. It even makes Visual Basic look good!

            1. sabroni Silver badge

              Re: one of the very worse languages ever invested

              By that logic, and given the way you slaughter English, then English must be a shit language as well..

              1. JDX Gold badge

                Re: one of the very worse languages ever invested

                I do however quite like AS3 which I think is just the next version of ECMA (please correct me). But I like it because it's basically just like Java... all that prototyping stuff is gone.

                TBH if JS had proper dev tools in the same vein as Eclipse/VS I'm sure it would be just fine, so maybe it's simply the DOM and browser aspects that put me off.

            2. davidp231

              Re: For goodness' sake

              COBOL and the various editions of Fortan?

  17. Alan Bourke

    I love programmer snobbery.

    It was hilarious in 1982, and it still is.

    1. jake Silver badge

      Re: I love programmer snobbery.

      It's not snobbery. It's about understanding how to use a machine-shop, not just a screwdriver.

      1982? Newbie. You might be part of the problem ... Think about it.

      1. sabroni Silver badge

        Re: I love programmer snobbery.

        It's sounds like snobbery, it looks down it's nose like snobbery. My guess is it's snobbery. Or maybe just bad interpersonal skills and arrogance...

        1. Michael H.F. Wilkinson Silver badge

          Re: I love programmer snobbery.

          I have written well-structured programmes in assembler.

          Likewise, it is possible to write good code in Javascript (no doubt, I have not written any)

          Whether either of the above is what I would want to do is another matter entirely. This is not a matter of snobbery, it is a matter of practicality. Scripting-based languages are very valuable for quick prototyping, or for portability, when top performance is not required (and JIT compilers go quite a long way to address performance issues). However, C and C++ are still my preferred tools, for development of high-performance code and will remain so for the foreseeable future.

        2. jake Silver badge

          @sabroni (was: Re: I love programmer snobbery.)

          Or maybe some of us actually do know how this shit works at a ones & zeros level, unlike (apparently) the GNOME kids..

          I'll cop to the bad interpersonal skills. Don't like my personality? Don't hire me to fix your cock-ups. You probably can't afford me anyway.

          I haven't had a 9-5 since the mid 1980s ... and I still turn down work on a fairly regular basis. People talk to me when systems need fixing. I fix them, but only if they agree to my terms & price-point.

          It ain't snobbery or arrogance. It's competence in the given field. And the balls to tell Marketing & Management to fuck off when they need to be told to fuck off ... and having the background to explain to them (in excruciating detail) why, exactly, they are being fucking stupid. And then having the know-how to fix the problem(s), so the issue never rises again.

          1. apjanes
            Facepalm

            Re: @sabroni (was: I love programmer snobbery.)

            Why are you being such an arse jake? So you are good at your job and know how the "shit works at ones & zeros level". When a company needs "cock-ups" fixing then I'm sure you are the man. However, when a company needs a well designed and usable UI I would make a bet you're not the guy they ring. Just because you are hot at something doesn't mean your hot at everything and it doesn't mean that everything you are not hot at is shite.

            Let's be honest, there are people out there who "have never seen a relay in action" and "don't grok hex" who also don't need a 9-5 and turn down work on a fairly regular basis (the 1980s thing just proves you're old, not hot).

            This is not a comment on the rightness or wrongness of GNOME's decision, it's a comment to point out that just because your way works for you and what you do it doesn't work for everyone and everything.

          2. sabroni Silver badge

            Re: @sabroni: You probably can't afford me anyway.

            Wow. You are so cool!

            I take it all back, my years in the industry are obviously less relevant than yours and I work 9 to 5 so I can't be very good at my job. My experience with Javascript is obviously trumped by the fact you know it's beneath you. I am so, so sorry that I had the temerity to question your post and, worse, to have a different opinion.

            Please forgive me jake.

            please....

      2. Anonymous Coward
        Headmaster

        Re: I love programmer snobbery.

        "If it looks like a duck, and quacks like a duck, we have at least to consider the possibility that we have a small aquatic bird of the family anatidae on our hands."

  18. Luke McCarthy
    WTF?

    Dear God

    I thought GNOME could no longer jump any more sharks, this time it's doing it with somersaults and fireworks!

    1. Michael H.F. Wilkinson Silver badge
      Joke

      Re: Dear God

      And they have added frickin' lasers to the sharks

  19. Reg T.

    It isn't

    as though anyone actually uses Gnome_latest anymore. The only "widespread" usage of Gnome is that of Gnome_old.

    The work of the Zimians continues, apparently. But, we all know what can happen around the monkey cages at the zoo!

  20. Gordan
    WTF?

    Especially fast?!

    “There's a lot of work going into the language to make it especially fast ..."

    Seriously - WTF? Fast compared to what? It might be several times faster than Perl, but it is sure as hell several times slower than Java and several hundred times slower than C++.

    Yet again we have an inferior language hyped up because of people who are too stupid to use pointers.

    1. Anonymous Coward
      Anonymous Coward

      Re: Especially fast?!

      "Fast compared to what? It might be several times faster than Perl,"

      Well... not if you're using it to process text. Perl beats the crap out of most languages in that field. All languages are optimized to one degree or another for particular domains which their designers, and the compiler writers, thought important, and that might not even be a domain within the execution sphere. Smalltalk, for example, chose the important domain to optimize was the writing of the software rather than the speed of execution.

      JS is not a universally broken language and it can be quite good at some things but it's very dynamic and that makes it very easy for undisciplined coders to write spaghetti code. Recommending it for all your apps is asking for trouble, IMO.

    2. JDX Gold badge

      Re: Especially fast?!

      Java isn't 100 times slower than C++.

      Has anyone seen any benchmarks comparing JS on different browsers with non-JS options? Not sure quite how it would work but couldn't you try to compare JS Vs Flash/Silverlight/Java in the same browser somehow? Even NaCl or a bespoke C++ plugin.

  21. Ross 12
    WTF?

    what the hell?

    Mandating one language is stupid. But even if you go down that route, why the hell not choose something like Vala https://live.gnome.org/Vala/Documentation - a language that compiles to C, has modern C# syntax and is actually built around GObject and the GNOME libraries?

    I've been using GNOME since 1.0 but I just don't understand what they're playing at any more.

    1. JDX Gold badge

      Re: what the hell?

      It seems especially weird in the word of FOSS, where so many sub-cultures are "backward" and hang on to pure C. This is the exact opposite.

  22. Irongut

    Wow guys way to pick the worst possible option.

    I actually quite like GNOME 3 but if most of the apps switch to Javascript it'll become so slow and buggy I'll have to switch to something else.

  23. RISC OS
    Joke

    No wonder captain janeway...

    ... was so adept at writing "algorithms" in 45 minutes that would interface with alien networks and discover ways to disable borg cubes... or discover ways to drive ships beyond there normal speeds - LCARS obviously also runs on JavaScript.... and this is how it all began, by letting every firefox extension writer create desktop apps.

    I always found it strange that as well as being olympic athletes, starfleet officers are also fluent linguists, quantum theorist, artists, navigators, musicians, theatre actors... and they can all rewrite the starfleet operating system and write computer programs... now we know why ;)

  24. XioNYC
    WTF?

    XSS Vulns? In MY menu bar?!

    GNOME needs to stop being all things to everyone (and doing everything equally poorly as a result).

    If programming for GNOME is too hard it is because GNOME doesn't know what it wants to be anymore: not the UI, not the platform, and not the paradigm. Blaming the programming language does not alter any of that.

  25. mIRCat
    Stop

    Just another reason I'd never install Gnome on a personal machine.

  26. sisk

    WTF Gnome?

    JavaScript as a primary dev language? Has the Gnome team lost their freaking minds? Or did I just wake up in the Twilight Zone* this morning.

    *No, not the one with sparkly vampires. The other one.

  27. spork
    Stop

    Really, guys?

    I, too, once hated poor JavaScript, and derided it publicly, but then I discovered Node.

    After a couple years with Node, JS is now my weapon of choice for writing the big-data infrastructure that puts bread on the table. Why? Speed. Not of execution, but of development - we iterate rapidly and V8 is, as it happens, fast enough - when you can't scale up, scale out, problem solved.

    But most importantly, JS makes writing tests far, far easier than, say, Java or C++ - both of which I've used professionally for many years. And you want the barriers to test coverage to be as low as possible.

    It appears that most of those voicing their opinions here have not used JS professionally for serious work and thus think it isn't fit for serious work. This is like seeing someone digging with a hammer and deriding the hammer for being a terrible shovel. Just because someone is doing awful things in [your favorite language] should not affect whether it's the best tool for your job.

    Node is stunningly efficient for what I do, and many others will tell you the same. JS is a language that happens to be built into browsers and happens to be used by legions of unskilled quasi-developers. It is also used by some of the most brilliant engineers I know.

    Being closed-minded when it comes to tools is not a feature; it's a bug.

    1. sabroni Silver badge
      Thumb Up

      Re: Being closed-minded when it comes to tools is not a feature; it's a bug.

      This!!!

    2. Anonymous Coward
      Anonymous Coward

      Re: Really, guys?

      Hmm I don't think it's about closed-mindset. More like basic elementary knowledge of how assembly > compiled > interpreted > script performance wise.

      NodeJs IS fast, but Java equivalents are faster.

      All things aside, one can easily code their own libraries in C/Java with good API designs that makes their lives easier so the argument that Javascript greatly improves productivity is not a valid argument (to a good engineer).

      1. sabroni Silver badge

        Re: basic elementary knowledge of how assembly > compiled > interpreted > script performance wise

        Ah, the true Scotsman argument. If you're a GOOD engineer you'll agree with me. If you disagree with me you must be a poor engineer.

        prick.

    3. Daniel B.
      Boffin

      Re: Really, guys?

      JavaScript is good for one thing only: webby stuff. It works as a webpage enrichment language and to make web stuff look c00l, and alternatively for AJAX stuff.

      But it sucks for anything else. I'd rather do stuff in *Perl* than Javascript!

    4. JDX Gold badge

      Re: Really, guys?

      Hmm. Node.js presumably works just great on big data for quick development and testing, right up until you actually have real big data coming in.

      I bit like how Twitter proved how great Ruby-on-Rails was, until it fell over and had to be re-written. Or how Facebook used PHP, but had to write their own spec PHP->native code compiler because they were going to run out of floorspace for servers otherwise.

      1. Destroy All Monsters Silver badge
        Holmes

        Don't laugh so laxatively

        Hmm. Node.js presumably works just great on big data for quick development and testing, right up until you actually have real big data coming in.

        Node.js seems to follow where Erlang was a long time ago:

        http://stackoverflow.com/questions/2206933/how-to-write-a-simple-webserver-in-erlang

        Now, Erlang is a language that has no mutable datastructures and is thus a very long way away from the fears, trepidations and buggery engendered by C and their associated "spiky" { } - adorned offspring.

        Webservers in Erlang run pretty well

        So a good JavaScript framework and compiler might well succeed too. If you throw enough time and money at it.

        P.S. There is not even a meme description for the Garma Zabi utterance "Don't laugh so laxatively". WTF?

    5. Destroy All Monsters Silver badge
      WTF?

      Re: Really, guys?

      JS makes writing tests far, far easier than, say, Java or C++

      Explain!

  28. Wardy01
    FAIL

    I'll stick to my Microsoft stack ...

    I write business apps on the Microsoft technology stack (windows / .Net) and never worked / even heard of a business that has no Microsoft presence in it at some level.

    This stuff just works and always has a tool for my next technical problem ready to help me which is why I use it.

    Someone else had a point before ... build an API / Framework / Both and let the developer choose.

    Do I fuss over pointers or every last CPU cycle ... no!

    Do my apps work and deliver what the business needs in a timely fashion ... yes!

    Do I really care what language the CPU speaks "at a ones and zero's level" ... no!

    Do I have to regularly tell management "go fuck yourself" ... no!

    Do I ever have to say "this is just plain stupid or cannot be done" ... no!

    ... and yet the linux app domain and everything that sits on it is still facing this common problem daily.

    It's a case of "every tool has a job it was built for", you wouldn't hammer a nail with a bucket would you?

    It's down to the developer to choose the tool that fits the job, most developers are therefore fluent in more than 1 language and any developer that tells you they only code in a single language is clearly either full of it or inexperienced.

    In my experience:

    When dealing with people that code for Linux / something that sits on it I am met with a very opinionated person, talented i'll admit but often too opinionated for me to want to deal with all the time (i'm not saying that's always the case just people i've met tend to be of this nature).

    This reminds me of the crap Microsoft had to put up with when it launched .net with comments like ...

    "JIT's just slow things down"

    "C# is never going to be as fast as C++"

    Since all that Microsoft consolidated .Net making it useful to solve almost any problem it's development community has so it's been a solid success and resulted in things like the Mono project.

    That's what the gnome team need to focus on ... building something that solves any problem that it's developer base will have, if they don't solve that they are going to have to deal with angry developers constantly.

    From what i've seen (not that I really follow gnome) they seem to consistently stick themselves in the line of fire over daft technical decisions, why don't they just stick to building a framework with a strong API and let the developer talk about languages instead of this constant "what can we do to piss off our developers this week" attitude?

    I feel for you guys writing code for gnome but I only have 1 piece of advice ...

    Move on if you don't like it, it's clear the solution aint coming fast enough and the guys over canonical seem to be doing ok.

    Failing that ... there's always the Microsoft stack (much cleaner and hassle free in my opinion).

    ... and in true "Linux guy" fashion let the trolling begin ...

    1. Daniel B.
      Boffin

      Re: I'll stick to my Microsoft stack ...

      The "Microsoft stack" is mostly the Linux and/or Java stack, but just bastardized into going the Microsoft way:

      Active Directory is LDAP as imagined by Microsoft: weird binary objects needed to change ACLs, non-standard password management/storage, non-standard hashes, forced RDN standards on objectclasses. Oh, and once you create an AttributeType or ObjectClass, you can't never, ever delete it!

      .NET is the Java/JVM part, with byteco... um... "MSIL". They added more than one language to compile to this, though.

      C# is pirated Java, except a lot of the classpath is actually a wrapper over the Win32 library. (This isn't bad, actually! But it sucks for portability outside Win32). MS didn't have the balls to kill their stupid language (VB) so instead they hacked it into having something "similar" to C# and called it "VB.net".

      WebServices using weird stuff that can't be read by other platforms that arent .NET. I regularly had to build shell WebServices on Java just to get a WSDL that could be implemented in .NET and not make everyone else barf at it.

      The Microsoft stack is OK as long as you have everything 100% MS.

      1. Fatman
        FAIL

        Re: The Microsoft stack is OK as long as you have everything 100% MS.

        Here is a better way to express that sentiment:

        The Microsoft stack is OK as long as you don't mind being chained to the deck of the M$ Titanic, and you will gladly accept the consequences when (not IF) that ship sinks!!!

        As my case in point, just refer to all of those poor bastards who chained themselves to IE6 and Active-X.

        Fucked, aren't they????

      2. Anonymous Coward
        Anonymous Coward

        Re: I'll stick to my Microsoft stack ...

        C Sharpe .Net is a great language the problem is it just cost a lot of money. A person can go from writing a Windows Form app to a Web app very quickly. The API for crating TextBoxes and other Windows GUI components is similar to creating Web Forms.

        Compare this with Java, Swing is vastly different from JSP. Furthermore even when using Swing it is very hard to create a great looking desktop application. The reason being Sun going down the AWT widget route.

        Similarly SWT is not a perfect solution since the built application will look and behave slightly differently on each platforms. This could lead to problems which leaves an intelligent developer to make use of the QT framework.

        1. JDX Gold badge

          M$ Titanic?

          Yeah I've probably only got 20 more years of milking that cow. At which point, I can simply switch to whatever has replaced it. Or retire on the $$$ I've made from M$.

          1. asdf
            Trollface

            Re: M$ Titanic?

            >Yeah I've probably only got 20 more years of milking that cow. At which point, I can simply switch to whatever has replaced it. Or retire on the $$$ I've made from M$.

            Wow thoughts of a 55 year old sad old parochial bastard Wally type praying to make it retirement before being replaced come to mind. In general if your skills only cover development on one platform no matter how big and dominant that platform is today (see Mainframe devs in mid 80s) you have f__ked up along the way.

  29. Munchausen's proxy
    Pint

    Could have been worse

    I wonder how many votes PHP got?

  30. Steen Hive
    Devil

    Javascript

    Oh holy mother of god.

    Cue rampaging hordes of hipsters coding entire apps exclusively in λ-functions.

  31. itzman

    sigh. Nostalgia for K & R

    'Look Dennis, we've got this PDP thing and its not hugely powerful, what do we want to do with it?'

    'Brian: we ant to be able to program it quickly and efficiently. Both of us, at the same time'

    'OK let's write a language that can do it and a microkernel that let's us'

    And so Unix and C were born.

    Ever since then computer scientists and geeks with celebrity envy have been claiming that they can in fact do better.

    No one really ever has.

    1. southpacificpom
      Devil

      Re: sigh. Nostalgia for K & R

      warning: comparison between pointer and integer - line 10

      1. Anonymous Coward
        Anonymous Coward

        Re: sigh. Nostalgia for K & R

        warning: comparison between pointer and integer - line 10

        What true K&R C compiler would even think to give you such a warning? (Hint: none.) In K&R C-land, such things were not only legal, there were in fact encouraged.

        1. jake Silver badge

          Re: sigh. Nostalgia for K & R

          "were in fact encouraged."

          Still are. In the right hands, such shenanigans are powerful tools.

          Unfortunately, you don't need to be licensed to use powerful tools. K&R C isn't inherently a bad language. It's the numpties using it that give it a bad name. Kinda like Subaru drivers here in California.

  32. Vic

    Does any of this matter?

    The GNOME devs seem to have ignored the fact that the whole project is circling the drain anyway...

    How many coders have we got here? Could we maintain a Gnome2 fork between us?

    Something's got to be done before the GNOME project suddenly realises that Intercal is the Way of the Future(tm)...

    Vic.

  33. stupormundi
    Facepalm

    Since lots of decent languages are available to code for Gnome, lets make the really shitty one official.

    Must be because those sparse arrays are so compelling.

  34. Anonymous Coward
    Thumb Up

    What is the problem?

    Why is everyone complaining, now we have more time to get coffee while our apps load.

    Honestly, I'm hoping they do a last second quick switch from .js to Excel (I have stairs...things take time).

    1. davidp231

      Re: What is the problem?

      Screw the stairs.. follow the Coffee HOW-TO and you can have a non-javascript controlled coffee machine hanging off the printer port.

      1. Anonymous Coward
        Thumb Up

        Re: What is the problem?

        "... you can have a non-javascript controlled coffee machine..."

        True, but then I'm left with a lot of time to "do stuff".

        I prefer a nice slow brew, I prefer Gnome with JavaScript. Ahhhhh, aged to perfection... aged for me!

  35. southpacificpom

    Next news story for Gnome

    Gnome becomes most insecure OS...

This topic is closed for new posts.

Other stories you might like