Slashdot Mirror


Gnome Goes JavaScript

mikejuk writes "Much to most programmers' shock and dismay Gnome has made JavaScript its main language for apps. It will still support other languages and it still supports C for libraries, but for apps it is JavaScript that rules. 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 JavaScript in WinRT, Chrome Apps, and 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."

387 comments

  1. Aprils Fools? by Anonymous Coward · · Score: 5, Funny

    Some body misplaced a calendar?
    Aprils Fools is in two months time.

    1. Re:Aprils Fools? by gl4ss · · Score: 0, Flamebait

      it's gnome.

      you know, their main competition as they perceive it is mozilla os, chromeos and tizen - of course they go javascript, since that's what their competition is using!

      they really have some dumb fucks running the show.. the stuff they do makes total sense if you forget totally who gnomes main user base is and who is likely to use it in future and for what purpose - and if you subscribe to the "industry hype newz for dorks" magazine (iDesHyp-ezine). or more aptly put, perhaps they're some dumb fucks who want a job in said projects since there's actual money floating around them?

      --
      world was created 5 seconds before this post as it is.
    2. Re:Aprils Fools? by Runaway1956 · · Score: 0, Flamebait

      Javascript. I kinda like javascript. My Linux box doesn't enjoy much attention from exploit writers. But, the javascript people did manage to hijack my browser a couple of times. Javascript. Yeah - make my entire desktop run on javascript, so that malware writers can more easily support Linux. Sweet. What more could a guy ask for? Instead of merely hijacking my browser for something relatively benign like a Rick Roll, they can hijack my desktop. What sort of fun can we have then?

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    3. Re:Aprils Fools? by marsu_k · · Score: 2, Insightful

      Uhh, what? You're not making any sense. It's debatable whether Javascript is an ideal language for this kind of usage (personally, I'm quite liking Qt Quick/QML), but if your browser has a hole that allows an attacker to run arbitrary commands on your desktop you're screwed, no matter what language your desktop is written with.

    4. Re:Aprils Fools? by Anonymous Coward · · Score: 0

      1. You're a prick
      2. GNOME shell is shit
      3. Using Javascript for this purpose is a perfectly good idea.

    5. Re:Aprils Fools? by Jeremiah+Cornelius · · Score: 1

      Jutht uthe Thcheme.

      Itth like Lithp.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    6. Re:Aprils Fools? by Khyber · · Score: 0

      Whomever modded this as flamebait very obviously is a shill or someone that's never 'programmed' with such a bullshit language such as Javascript.

      The GNOME team is filled with idiots - just read the changelogs and forums dedicated to GNOME. Holy hell, these people need to shut the fuck up and go back to school.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    7. Re:Aprils Fools? by Anonymous Coward · · Score: 0

      Nah, it's come early if you actually try and use this crap. GLib.get_tmp_dir() is especially fun if you like dumping core...

      *** Error in `seed': double free or corruption (fasttop)

      *** Error in `seed': malloc(): smallbin double linked list corrupted

      Seg faults aside; GLib.DIR_SEPARATOR returns 92 while build_filename() and build_path() are missing from the binding entirely. First impressions: Great job!

    8. Re:Aprils Fools? by Pieroxy · · Score: 1

      I have programmed with JavaScript. While its usage in browsers make it a PITA, the language in itself is half decent and have some serious merits over any other languages I've tried so far.

      Advocating it for newbies that want to write apps for Gnome seems entirely reasonable to me. Now try to be constructive and tell me why it's such a bad idea to promote JavaScript for beginners.

      As a side note, when you're using the word "fuck" every other sentence, you get modded Flamebait for a very good reason. No need for shills here.

    9. Re:Aprils Fools? by TheRaven64 · · Score: 3, Insightful
      JavaScript, as TFS said, has some nice features. It's a pure object-oriented language with first-class closures, prototype-based inheritance and introspection. It's very flexible and really great for rapid prototyping and scripting. The problem is not that JavaScript sucks, it's that JavaScript sucks as an application development language. It has no concept of modularity: everything lives in the global namespace and must be parsed and executed as a linear sequence (modulo web workers). It has no declarative structure: your program imperatively builds the run-time structures. It has weak support for arithmetic: double-precision floating point values are the only numeric type.

      Writing complex applications in JavaScript is possible, but so is writing complex applications in assembly. That doesn't make it a good idea.

      --
      I am TheRaven on Soylent News
    10. Re:Aprils Fools? by sproketboy · · Score: 1

      Just read up on JavaScript truth tables to understand why JavaScript is garbage.

    11. Re:Aprils Fools? by GameboyRMH · · Score: 1

      Writing complex applications in JavaScript is possible, but so is writing complex applications in assembly.

      I was just going to say, I always saw JS as having the OOP-related language complexities of C++ combined with the power of assembly.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    12. Re:Aprils Fools? by gbjbaanb · · Score: 1

      I always thought the scoping aspect of JS was poor too, but its fine for a web page scripting language - a throwaway environment when a new page is loaded. For long-running or complex systems, its not ideal at all.

      Still, hopefully people will improve the spec and update it to fit the new requirements we demand of it.

    13. Re:Aprils Fools? by Pieroxy · · Score: 1

      Can you point to specifics? The fact that the "==" and "?" operators don"t work as you would expect in another language doesn't means the language is garbage. It just mean you didn't get it.

    14. Re:Aprils Fools? by sproketboy · · Score: 1

      No it means stop apologising for a shit language. http://wiki.theory.org/YourLanguageSucks#JavaScript_sucks_because:

    15. Re:Aprils Fools? by Anonymous Coward · · Score: 0

      with first-class closures

      It has no concept of modularity: everything lives in the global namespace

      Use closures. Everything inside of a closure has its own namespace and is a private variable. You have to create an interface to allow outside access to anything inside.

      From the very start, your application should be a closure. At that point, only the app is in the global namespace. Nothing else.

    16. Re:Aprils Fools? by Pieroxy · · Score: 1

      According to your own link, all languages have features that can be described as making the language suck. JavaScript is exactly the same as the rest of the pack on this regard, which was my point. Just say you don't like it, no need to jump ship and claim the language "suck".

      34 bullet points for JS, 59 for PHP, 16 for Perl, 30 for Ruby, 33 for C++, 40 for Java.... well, some languages are getting more attention than others. Where's Haskell?

    17. Re:Aprils Fools? by rboatright · · Score: 1

      Gosh, this makes me super happy. Coming, as I do out of the webOS environment, I think javascript is a great language for app development.

      Of course I want to use a great framework like enyojs.com and I want to use closures extensively to keep namespaces separate, and I want to use any one of several math libraries to do stuff other than simple double precision arithmatic (which is plenty good enough for lots of stuff of course.) But still

      http://www.leemon.com/crypto/BigInt.html
      https://github.com/jtobey/javascript-bignum Scheme exact arithmetic library for js.
      https://github.com/postwait/node-gmp node.js bindings for the GNU Multiple Precision Arithmetic Library.

    18. Re:Aprils Fools? by shutdown+-p+now · · Score: 1

      the language in itself is half decent and have some serious merits over any other languages I've tried so far

      Can you give any examples of what JS has that is 1) goodness, and 2) some other popular language doesn't have. The only thing I can conceivably think of is prototype-based OOP, and whether it's "goodness" is very much debatable. Everything else, other languages have, except they usually do it much better - or at least more consistently.

    19. Re:Aprils Fools? by shutdown+-p+now · · Score: 1

      The problem with JS is that even for an object-oriented language with first-class closures and introspection, it sucks compared to e.g. Python and Ruby, due to all the idiosyncrasies with variable scoping and type system, and the unwieldy syntax (esp. for lambdas!).

    20. Re:Aprils Fools? by Archenoth · · Score: 1

      Most people I talk to on the matter seem to dislike JavaScript because the DOM is horrible (Which I agree with), and some features work much differently than most other C-like languages. But that is expected because it was highly inspired by Scheme, and as a result, ended up being a very functional language.
      In the end, it just comes down to opinions of coding style. Of course, opinions vary from person to person.

      I doubt I'll change anyone's opinions, but I'll give the main reason I like the language.

      It primarily boils down to: A lot of things don't require much overhead. You can make quite functional code and pretty good APIs with a pretty reasonable amount of code.

      For example, anonymous object creation is pretty cool. You can create a completely usable object like this:

              var obj = {"name":"Person",
                            "getName": function(){
                                          return this.name;
                                      }
                              };

              obj.getName(); // Returns "Person"

      As a result of this, you can have have a pretty decent data hierarchy with minimal boilerplate code. Also it allows functions to accept an object as a parameter to greatly modify it's functionality so you can cut down on code-duplication, kinda like how keys work in LISPs. So you can design incredibly abstract functions that can do pretty much anything given the amount of possible argument combinations. Yes you can use bitwise operations and structs in lower-level languages like C and C++, but this ends up being a bit more than a bunch of boolean options or piles of structs, but rather things you can specify with no real boilerplate in lieu of things like (kill-with-fire :intensity 10). Since functions are first-class, you can pass them around just like anything else.

      The way to differentiate between statements and standard operations is also kinda cool.

              (function(){ return "Hi"; })();

      This is a self-running anonymous function for example. It can be used to perform logic in a very functional style (Inline another function or some form of data), and can actually create things like namespaces if you use it as a closure (By returning a function with your desired API in it).

      If you expect JavaScript to be like Java or C++, you will be sorely disappointed, but that truly isn't it's place. It's not perfect by any stretch of the imagination, but overall it actually has a lot more merit as a language than people seem to give it credit for.

      --
      The arch foe.
    21. Re:Aprils Fools? by shutdown+-p+now · · Score: 1

      Most people who criticize JS on Slashdot don't do it because of DOM. They criticize the language itself - it's weird syntax (e.g. magic semicolons), and its cranky semantics (e.g. dynamic scoping for "this"). We don't expect JS to be like Java or C++. We expect it to at least stand up to Python and Ruby - and it doesn't.

      Most new JS converts seem to be in awe at the concept of first-class functions and closures. But JS did not invent them, and most other languages today have them - heck, even C++ does. What more, other languages tend to have the syntax for them much shorter, e.g.:

      JS: function(x, y) { return x+y; }
      Python: lambda x, y: x+y
      Ruby: {|x,y| x+y}
      C#: (x,y) => x+y

      And then there's that whole issue with capturing "this" in closures that is a headache completely unique to JS.

    22. Re:Aprils Fools? by Archenoth · · Score: 1

      JavaScript obviously isn't the first for those concepts... But it is also a completely different animal than Python or Ruby...
      It is pretty much LISP in disguise with more C-like syntax. And rather than using RPN, it uses a more standard paradigm for it's layout.

      Lets compare your example and a few other things between JavaScript's and LISPs style.

      Anonymous functions:
      JS: function(x, y) { return x + y; }
      LISP: (lambda (x y) (+ x y))

      Closures:
      JS: function closure(val){ return function(){ return val; }; }
      LISP: (defun closure (val) #'(lambda () val))

      Key-based data:
      JS: {"thing": "value", "anotherthing": "anothervalue"}
      LISP: '(:thing "value" :anotherthing "anothervalue")

      You should not treat JavaScript like Ruby or Python because it simply doesn't use the same practices, and you will hate JavaScript if you do. That weird syntax comes from its roots, and actually makes a lot of sense when you look at it in the same light as you would a language like LISP.

      --
      The arch foe.
    23. Re:Aprils Fools? by shutdown+-p+now · · Score: 1

      So what, pray tell, is Lispy about JavaScript? You talk about anonymous functions and lambdas again, but, as I have already noted, almost all other mainstream languages have both, as well - most certainly both Python and Ruby do.

      And "key-based data" is just laughable - any language with an associative dictionary can do the same, even Java - even if the latter doesn't have syntax quite as nice. But e.g. in Python it's literally the same syntax:

      {"thing": "value", "another thing": "another value" }

      And in Ruby the only difference is the use of arrow instead of a colon:

      {"thing" => "value", "another thing" => "another value" }

      Heck, even C# has something close enough, except that you have to spell out the type of the resulting value

      new Dictionary<string, string> { {"thing", "value"}, {"another thing", "another value"} }

      At this point, I have to ask: are you actually familiar with other languages beyond JS and Lisp? In particular, are you familiar with Python, and especially Ruby? The latter in particular is much closer to Lisp than JS ever was.

    24. Re:Aprils Fools? by Archenoth · · Score: 1

      So what, pray tell, is Lispy about JavaScript? You talk about anonymous functions and lambdas again, but, as I have already noted, almost all other mainstream languages have both, as well - most certainly both Python and Ruby do.

      Other then the fact that lambdas and closures (I'm sure that's what you meant) exist, here are a few:

      - It is object oriented at a fundamental level, but not in a specialized sense, so nested functions are the basis of functionality, and not object methods and/or functions with data around it. So functions are logic that can carry data, and not the other way around. (You can do it, but it's unsafe because everything is mutable.)
      - And for closures, it's not the fact that they exist, but rather, how they are used. Closures (Or any function for that matter) are how you create private scope in the language and how you implement secure logic, further illustrating the paradigm of behaviors with storage, rather than storage with behaviors, which is a Lispy concept.
      - Prototypes reverse the lookup between code and data again, very similar to how generic functions do it in LISP.
      - Code and data can both be used interchangeably; code can be data, and data can be code.
      - Any data (Whether functions, objects, or information) can be created via anonymous means and put anywhere.

      And "key-based data" is just laughable - any language with an associative dictionary can do the same, even Java - even if the latter doesn't have syntax quite as nice. But e.g. in Python it's literally the same syntax:

      Yes other languages have the above concepts. I wasn't saying they didn't. I was just hoping to draw attention to how similar the two languages were. (Which is why I called it key-based, because that's what it is in Scheme.)

      Brendan Eich wanted to make a dialect of Scheme (A LISP), or at least a language as similar as he could when he first make JavaScript. Apparently the people at Netscape wanted the language to at least vaguely appear similar to Java. (Just silly marketing)

      The entire creation process is actually really interesting actually...
      http://bryanpendleton.blogspot.com/2009/11/coders-at-work-brendan-eich.html

      With Scheme being the inspiration behind the language, I wanted to draw a few lines between the two to show that there are indeed a lot of similarities, and that if you treat JavaScript like Scheme, you'll have a much easier time with it.

      At this point, I have to ask: are you actually familiar with other languages beyond JS and Lisp? In particular, are you familiar with Python, and especially Ruby? The latter in particular is much closer to Lisp than JS ever was.

      I'm not gonna lie. I am unfamiliar with both Python and Ruby. Though my repertoire of languages extends beyond just JavaScript and LISP.
      Either way, I only focused on those two languages because they were the two I wished to draw similarities between.

      --
      The arch foe.
  2. Read more facts here by Anonymous Coward · · Score: 5, Informative

    Read more about the reasoning and decisionprocess here:

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

    1. Re:Read more facts here by MrEricSir · · Score: 5, Informative

      What the summary seems to be leaving out is this: Javascript will be the language they suggest n00bs who want to learn Gnome programming start with.

      That's really the only change being made here. They're not re-writing apps in Javascript, they're not removing existing language support. This is purely an advisory statement for first-time Gnome programmers.

      --
      There's no -1 for "I don't get it."
    2. Re:Read more facts here by jythie · · Score: 1

      Damn, and I am out of mod points.

      Though thinking back to 'what first language should I learn in order to XYZ', people get just as religious about that type of question as they do about single language support.

    3. Re:Read more facts here by Anonymous Coward · · Score: 5, Funny

      Its clear that x86 asm is the predfered language for noobs to write proper Gnome Apps.

    4. Re:Read more facts here by Anonymous Coward · · Score: 3, Informative

      This kind of false reporting seems to be occurring more frequently around here. Either the editors really are as incompetent as their grammar typically suggests, or they are deliberately misleading us in order to generate traffic.

      I say we have a slashdot poll on it.

    5. Re:Read more facts here by Anonymous Coward · · Score: 0

      Which /. editor should be fired 'stande pede'?
      * samzenpus
      * timothy
      [No other options]

    6. Re:Read more facts here by Anonymous Coward · · Score: 0

      Missing option:

      Is Jon Katz sill alive, or has his new career as head demon in charge of trolling started already?

    7. Re:Read more facts here by Xtifr · · Score: 2

      It's cyclic, and nothing new. There's some standard line I'm supposed to use here. Get off my lawn...no, that's not it. Oh yeah--you must be new around here. :)

    8. Re:Read more facts here by Yetihehe · · Score: 2

      Ok, NOW I know how this could happen: http://thedailywtf.com/Articles/Stargate-Code-of-the-Replicators.aspx. Looks like JavaScript is the future.

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    9. Re:Read more facts here by hackula · · Score: 3, Interesting

      Hmmm... javascript is pretty much the exact opposite of lock in. It is the closest a language has really come to being "write once run anywhere". Even most node.js stuff runs in the browser and vis versa with ease.

    10. Re:Read more facts here by Anonymous Coward · · Score: 0

      Damn, and I am out of mod points.

      Everyone is.

    11. Re:Read more facts here by Ceriel+Nosforit · · Score: 4, Funny

      Why is this funny? Assembler was the first programming language I really understood because it's so simple to see what's going on in it. What I struggled with was object orientation because I thought objects were redundant with classes. It seemed philosophical compared to how concrete a stack and an arithmetic unit is. I knew what the circuits of the latter looked like and even knew about electrons and holes.

      Unless you've been living under a rock the past decade you know the Internet runs on Javascript because it is non-blocking. I don't expect most of the Slashdot crowd to know what that means anymore, nor why halting is a problem. I'll appeal to authority instead and tell you that it is what Google uses and Google cares about the responsiveness of the UI. Slashdot's favorite mobile phone, the N9, uses QML and Javascript for the UI and wow have you been happy with it until now!

      People complain about how it's easy it is to screw things up in Javascript. It's pretty easy to write a recursive loop in C and mess up the exit too. Javascript has frameworks, and if you use the Chrome Inspector you can actually see the variables update at a high FPS and then drop to a crawl when the tab loses focus. You don't need to compile anything. With just CSS and jQuery you can start doing useful things in your daily environment.

      IMO an example of a truly monstrous language is Java. It just seems idiotic that that by writing the same thing in three slightly different ways you'll somehow come up with more robust code. It's like a language that was never meant for humans to write, but for some reason we were supposed to read it. Yet it's ECMAscript that's considered harmful??

      --
      All rites reversed 2010
    12. Re:Read more facts here by MrEricSir · · Score: 2

      It's a subtle play for platform lockin using the next generation of coders as tools.

      Right, because if they learn Javascript they'll NEVER move to Qt! ...oh wait.

      --
      There's no -1 for "I don't get it."
    13. Re:Read more facts here by Anonymous Coward · · Score: 1

      Not even wrong.

      "Non-blocking" is feature of libraries, not of a language, and not of JS as a language in any case. ECMAScript spec has nothing about multithreading or asynchronous I/O.

      Browser JS is very much single-threaded, and you can't in general case "actually see the variables update at a high FPS". Go on, open that Chrome console and do "var x=1; while(x++) {};". Console won't let you inspect or debug anything in this tab anymore (though it won't hang, at least) and the tab itself will be nicely frozen.

      Non-blockiness requires support from your environment - browser and Node.js provide that - and needs you to slice up your program into explicit continuations-callbacks and to yield control manually often enough if you have to do a lengthy background computation and want UI for browser or listening servers for Node to have a chance at responding to events. It's not a problem, but it's not automatic property of JS, and I've had to rewrite quite a few scripts by idiots who assumed that it is.

    14. Re:Read more facts here by modmans2ndcoming · · Score: 1

      screw Slashdot...To The Verge!!!!

    15. Re:Read more facts here by Khyber · · Score: 0

      "What the summary seems to be leaving out is this: Javascript will be the language they suggest n00bs who want to learn Gnome programming start with."

      What the summary is leaving out (and doesn't need to state) is that this is about to be a massive disaster for Linux. Thanks for baking the vulnerability right into the fucking UI, assholes.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    16. Re:Read more facts here by Khyber · · Score: 1

      "I'll appeal to authority instead and tell you that it is what Google uses and Google cares about the responsiveness of the UI."

      Yep, we care about responsiveness, and don't care about the hundreds of vulnerabilities baked-in to the fucking language.

      Sorry, your appeal to authority failed miserably.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    17. Re:Read more facts here by Anonymous Coward · · Score: 0

      Unless you've been living under a rock the past decade you know the Internet runs on Javascript because it is non-blocking. I don't expect most of the Slashdot crowd to know what that means anymore, nor why halting is a problem. I'll appeal to authority instead and tell you that it is what Google uses and Google cares about the responsiveness of the UI. Slashdot's favorite mobile phone, the N9, uses QML and Javascript for the UI and wow have you been happy with it until now!

      Hmm. Major deja-vu, here. Back in the mid-90's a friend of mine argued that the Mac OS9 kernel was superior to the NeXTSTEP kernel (Mach) because OS9 used cooperative (a.k.a. non-blocking) multitasking and Mach was pre-emptive. Basically, in OS9 you owned the CPU until you decided to be nice and yield to some other kernel thread. It sounds an awful like the argument you're making here.

      I think the future is in the other direction, with tons of low-power cores, where a language that can take advantage of those cores with cheap concurrency will have an advantage. Something along the lines of Erlang, or Go. But maybe you're right; maybe the needs of UI are different.

    18. Re:Read more facts here by Anonymous Coward · · Score: 0

      People who start with high level language often have a hard time to understand simple things like pointers.

      There are plenty of old assembly-language for kids books out there. If you start with one of those a lot of "odd" things in high level languages will start to make sense.

    19. Re:Read more facts here by Anonymous Coward · · Score: 0

      This!

    20. Re:Read more facts here by Anonymous Coward · · Score: 0

      I don't care. So they are telling me that they are going to use even more CPU and if the whole thing was written in FLEX?

      This does not make sense and they can go where the sun does not shine.

    21. Re:Read more facts here by Anonymous Coward · · Score: 0

      I'd bet that most people here don't remember that fucking cockmonkey. Lucky them.

    22. Re:Read more facts here by Ceriel+Nosforit · · Score: 1

      I frequently visit pages that just hang due to the js. You can write bad code in any language.

      Unless I have a specific need I don't leave the framework. I actually prefer to bolt on yet another framework just so that I can get a single function from it instead of re-inventing my own, usually crappy and undocumented, wheel.

      This story has however taught me new tricks, even if it also taught me that timothy is an ignorant bloody troll. Apparently MVC and node.js have some silver bullet-like characteristics and I'm looking forward to working with them. Meanwhile most other languages have nothing like that. Perl has CPAN and Python has something incomplete that wants to be CPAN. C remains the language of choice if you are A. John Carmack or B. Linus Torvalds. If neither of these are your name then your C-fu should and will be questioned.

      I'm very interested in real time digital signal processing, but unless you have a FPGA board with a million dollars worth of IP cores then single-threading on ASIC is what you got. I don't however think I'd try to do DSP using js, but I definitely want to own my core when processing and not give it up until I'm at stage where I can do so. For rtDSP owning your core is essential.

      Those websites that freeze up, they don't play nice, and they don't get many return visitors either. The UI is different, you guessed right. You seldom need tight loops in the UI, and usually when you have written bad code that mangles the UI in the browser at least the user can reload the page and not click stuff in that particular order again.

      I see the web as the new terminal, but even more beautiful. All the heavy lifting should IMO be done with the client-server model. Say for example your browser is the client and your GPU, with its many low-powered cores, is the server.

      Someone mentioned that you can't view all js in the Chrome Inspector. What you can however do is rewrite your js so that you can see it. In Python that is verboten and the anathema of the philosophy. In C you need to know in advance what bugs you'll get so that you can add debugging...

      --
      All rites reversed 2010
    23. Re:Read more facts here by Pieroxy · · Score: 1

      Hmmm... javascript is pretty much the exact opposite of lock in. It is the closest a language has really come to being "write once run anywhere". Even most node.js stuff runs in the browser and vis versa with ease.

      Hmmm. So many wrongs here, I don't really know where to start. The problem with "write once run everywhere" is that it does not only depends on the runtime, but most of all on the APIs. And there, JavaScript is dangerously close to be the worst offender.

    24. Re:Read more facts here by TheRaven64 · · Score: 1

      Back in the mid-90's a friend of mine argued that the Mac OS9 kernel was superior to the NeXTSTEP kernel (Mach) because OS9 used cooperative (a.k.a. non-blocking) multitasking and Mach was pre-emptive

      It wasn't a totally stupid argument. Cooperative multitasking can achieve higher throughput (on single-processor machines, at least), because you have less cache churn and you can schedule exactly when you want to yield. The down side is that one misbehaving thread can make the entire system unresponsive. Most supercomputing workloads use a cooperative model for this reason: throughput is the most important consideration and all of the code on a given node is trusted.

      When OS X was introduced, it ran on 266MHz PowerPC machines. Efficient CPU usage was a lot more important than it is now. I'm typing this on a Mac that only sees the CPU usage go over 20% when I'm doing a big compile job. A little bit of deviation from maximum theoretical throughput is lost in the noise.

      --
      I am TheRaven on Soylent News
    25. Re:Read more facts here by hattig · · Score: 1

      They seem to have forgotten that there is zero documentation on developer.gnome.org relating to Javascript right now.

      There is C documentation, and binding documentation for C++, "Vala", Java and Python. They should have picked one of these. Or two - one functional/OO, one imperative. Or ignored it entirely as language is irrelevant as long as there is an up to date binding for it.

      TBH it is a collossal clusterfsck of a decision. Then again, maybe they think that people are going to be coming into Gnome development from a web development background in the future. The rest of us can take that as a massive warning, perhaps.

      The actual problem they have is how they answer the question "How do I develop for Gnome?". The answer isn't, and should never be, "Use Javascript". or "Use [language]". Developers don't have problems picking up a different language if needs be. It should be a link to a URL that lets the developer choose his own path depending on his application's needs, and his own existing knowledge. It should be the first topic on "developer.gnome.org" really.

    26. Re:Read more facts here by tehcyder · · Score: 1

      What does 'stande pede' mean? Google just shows lots of Dutch/German links.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    27. Re:Read more facts here by bad-badtz-maru · · Score: 1

      Most of the Slashdot crowd will not recognize "non-blocking", in a Javascript contex,t because you probably (hopefully) meant "asynchronous". You're not polling for results, you're assigning event handlers.

    28. Re:Read more facts here by hackula · · Score: 1

      Porting a js library to another platform is usually trivially easy. Check out Substack's Browserify: https://github.com/substack/node-browserify. JS libraries are typically open source anyway, so even if you have some weird platform you need to run something on, you are usually free to make the modifications yourself. Most of the dominant frameworks run practically anywhere, since js has always had to think about graceful degradation. Socket.io is a terrific example. I have written substantial applications in node.js where I split my development time between my work PC (Windows) and my home PC (OSX), then it runs on a production Linux server. If I find something that does not work cross platform, I am almost 100% sure the issue is in my code, not a library. I fix it and it all works fine. That is pretty much the absolute best you can hope for in cross platform compatibility. Python is not bad either, but there are loads of Python libraries that are Windows dependent. We are talking about real modern js application development, not some random browser plugin from 10 years ago. The js community has come into its own with a lot of polish in the past couple years.

  3. Enough rope by Anathem · · Score: 3, Interesting

    Javascript is fine, it just give you enough rope to hang yourself. (and a little extra, as it turns out) The language itself has some patterns that allow for terrible patterns, and ambiguity, but all in all, I don't think it's bad. Waiting for someone to disagree...

    1. Re:Enough rope by SQLGuru · · Score: 5, Insightful

      TypeScript (http://www.typescriptlang.org/) adds some rigor on top of JavaScript that helps keep you from shooting your foot as often. It "compiles" down to JavaScript, so it shouldn't limit what you can do, but it makes it feel a little more like a real language.

      But I'm fine with JavaScript. I think that it's a decent first language since the bare minimum tools you need are on all of the devices you can buy today (you just need a text editor and a browser to get started).

    2. Re:Enough rope by Austerity+Empowers · · Score: 5, Interesting

      You could argue C gives you all the rope you need as well.

      I keep asking myself "what language should I learn that's accepted everywhere, doesn't have to be compiled for a particular processor, and has a truly cross platform UI". Javascript is it, with C coming in a heavily qualified second, Java most 3rd except for that fruit company (and I know Java, but hate it passionately).

    3. Re:Enough rope by jythie · · Score: 4, Informative

      Python has also made some good advances for those criteria, esp if you couple it with something like wxPython.

    4. Re:Enough rope by serviscope_minor · · Score: 5, Funny

      You could argue C gives you all the rope you need as well.

      C gives you all the rope you could ever want, wraps it wround your neck and encourages you to run very fast across a long, wobbly plank.

      Oh, and don't forget to free() the rope when you're done with it.

      --
      SJW n. One who posts facts.
    5. Re:Enough rope by hobarrera · · Score: 2

      While I really like C, I think it doesn't remotely qualify as "doesn't have to be compiled for a particular processor".

    6. Re:Enough rope by elucido · · Score: 2

      You could argue C gives you all the rope you need as well.

      I keep asking myself "what language should I learn that's accepted everywhere, doesn't have to be compiled for a particular processor, and has a truly cross platform UI". Javascript is it, with C coming in a heavily qualified second, Java most 3rd except for that fruit company (and I know Java, but hate it passionately).

      Python is a better language than Javascript. Why did they choose Javascript over Python?

    7. Re:Enough rope by hobarrera · · Score: 3, Informative

      PySide is quite powerful as well, and can be used for both desktop and mobile development.

    8. Re:Enough rope by Anonymous Coward · · Score: 0

      Python?

    9. Re:Enough rope by gstoddart · · Score: 5, Insightful

      C gives you all the rope you could ever want, wraps it wround your neck and encourages you to run very fast across a long, wobbly plank.

      I always like to think of it as being more that C leaves ropes, cliffs, pointy objects, and a few angry bears wandering around -- and it's up to the user to to look out for themselves.

      If you know how to navigate it, and keep your wits about you, you'll mostly be fine. But if you're running around with your eyes closed or don't have adult supervision, you could really get hurt.

      It doesn't actively come after you, but there's no safety nets either.

      --
      Lost at C:>. Found at C.
    10. Re:Enough rope by Anonymous Coward · · Score: 5, Funny

      Because then people would be bitching endlessly about The Whitespace Thing, whereas JS has the curly braces that God and Dennis Ritchie intended.

    11. Re:Enough rope by Fallingcow · · Score: 0

      I've yet to see a feature it has that other scripting languages don't, that doesn't qualify as "cool for a 'gee, look what I can do' demo, but for the love of god never do that in production code that someone else will one day have to read". Worse, the culture seems to be all about these unreadable-and-dangerous-garbage-producing "features"—adding shit to instances so you have no idea what any given object might actually have on it at any given time, modifying prototypes of built-in objects (!!!!), anonymous functions everywhere all the time because fuck code organization, reuse, and sensible levels of indentation, etc.

      So its benefits are, IMO, dubious, and in exchange for those features you have to put up with a pile of fundamental flaws (hoisting, the worst scope model ever, broken type detection, etc.) so bad that if you turned Javascript in for an undergraduate assignment in language design you'd get an F. The whole fucking language is one giant gotcha, but oooh prototypal objects!

    12. Re:Enough rope by Cro+Magnon · · Score: 3, Funny

      I've heard that C++ gives you all the rope you need to string yourself up and bind and gag everyone in the neighborhood.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
    13. Re:Enough rope by Anonymous Coward · · Score: 4, Insightful

      C gives you all the rope you could ever want, wraps it wround your neck and encourages you to run very fast across a long, wobbly plank.

      I'd rather take the OP's version.

      You could argue C gives you all the rope you need as well.

      with the qualifier that far too many people do not know how to handle that much rope, so in the process they get it knotted and accidentally wrapped around various things, neck included. But otherwise C does not actively wrap rope around necks, it just doesn't have anti-neck-wrapping safeties for ropes.

    14. Re:Enough rope by ohnocitizen · · Score: 2

      wxPython is unfortunately a bit of a mess. Platform specific bugs make it unusable as a cross platform toolkit, imo.

    15. Re:Enough rope by Dcnjoe60 · · Score: 4, Informative

      Python has also made some good advances for those criteria, esp if you couple it with something like wxPython.

      The developers talked about python quite a bit, but what caused them to go javascript as the recommendation for n00b gnome developers is that is (javascript) is so pervasive in other systems that it is likely they will already be exposed to it and can build upon that. If you are doing web, iOS or Android programming, chances are you are or have used javascript. That plus all of the gnome-shell stuff being done in it makes it kind of a no-brainer as that is what a lot of new developers are interested in extending.

      The gnome developers went out of their way to explain that python, c and are all still fully supported and that javascript is just what they are steering new developers to when asked the question about what language.

    16. Re:Enough rope by Anonymous Coward · · Score: 0

      What would that make PHP?

      If JS was a rope, PHP would have to be a dirty bomb.

    17. Re:Enough rope by knarf · · Score: 0

      Python might be a pleasant language to work with, but where it still lacks is performance and memory management. In more mundane language it is a memory hog (not that JavaScript is much better in that respect).

      --
      --frank[at]unternet.org
    18. Re:Enough rope by Anonymous Coward · · Score: 0

      Accepted everywhere? Compiled at runtime? Cross platfrorm UI? That'd be LISP, not Javascript

    19. Re:Enough rope by the_B0fh · · Score: 3, Funny

      Obviously that's because anyone who uses C++ is heavily into BDSM.

    20. Re:Enough rope by rs79 · · Score: 2, Interesting

      I learned C when it was two years old and have touched the mimeograph Bell Labs C manual with dmr's penciled in notes (yes, I'm bragging). I did computer languages at Waterloo and have written a few at least one of which is still in use today. So I make a point of trying all these new languages that come out and I've tried them all from Snobol to Erlang. They're all fucking retarded.

      JavaScript rawks. Utterly. Among my friends I've noticed they've all quietly moved to js and node.js independently, as I have. It's really that good, so this is an obvious and wise choice.

      It's just a pity about the name, Java is so bad and JavaScript so good; ECMAscript doesn't exactly roll off the tongue though. It this point I think it would be most prudent to kill off the current Java (or rename it LarryScript) and rename Javascript as Java so Java can finally live up to it's promise.

      --
      Need Mercedes parts ?
    21. Re:Enough rope by rs79 · · Score: 4, Informative

      If you're unclear why, watch the 8 hours of doug crockford's videos about and and you'll get it. there's a lot more academic rigor in js than most people have any idea about. it's good stuff.

      --
      Need Mercedes parts ?
    22. Re:Enough rope by Anonymous Coward · · Score: 0

      True, but can you name an architecture that doesn't have a C compiler targeting it?

    23. Re:Enough rope by jythie · · Score: 4, Informative

      Yeah, that produces a bit of a barrier. Once one has a good feel for what works everywhere and what does not it can make a good tool (I develop wxPython apps for Linux/Windows/OSX) but the 'oh wait, that doesn't work here' traps can be discouraging. Their documentation has improved significantly in that regard though.

    24. Re:Enough rope by jythie · · Score: 1

      Which actually makes a lot of sense. When choosing a language, often the biggest issues are not ones of language features but of community and familiarity.

    25. Re:Enough rope by jythie · · Score: 2

      I am not sure I completely agree at this point. The cases where you get significantly better performance out of other languages are very task specific. Sometimes thing like manual control over memory allocation can make a huge difference, but most of the time it comes out pretty even.. and no language really escapes big O, which when your sets get large enough, the differences between languages can quickly become trivial.

    26. Re:Enough rope by Anonymous Coward · · Score: 0

      The developers talked about python quite a bit, but what caused them to go javascript as the recommendation for n00b gnome developers is that is (javascript) is so pervasive in other systems that it is likely they will already be exposed to it and can build upon that. If you are doing web, iOS or Android programming, chances are you are or have used javascript. That plus all of the gnome-shell stuff being done in it makes it kind of a no-brainer as that is what a lot of new developers are interested in extending.

      Which just reinforces the previously held thought that GNOME has gone to shit because it was taken over by webdevs. Now it's official at least.

    27. Re:Enough rope by Chemisor · · Score: 4, Funny

      Don't worry: the rope is automatically freed when you are terminated.

    28. Re:Enough rope by MikeBabcock · · Score: 1

      I love Python for GUI apps. I often find myself using wxWindows even though I started out with Glade and Gtk+ because its so much easier to make cross-platform apps with.

      --
      - Michael T. Babcock (Yes, I blog)
    29. Re:Enough rope by Anonymous Coward · · Score: 0

      Good logic. And that goes for every language. Wrap a nice framework around the base functions/classes/prototypes/whateverturnsyouon and use the syntactic sugar to improve reading comprehension for whoever will read your source code two years later. That's really all there is to it.

    30. Re:Enough rope by Anonymous Coward · · Score: 0

      C gives you more rope than you can possibly ever need. They don't however give you a spool around which to wrap the rope for easy transport/prevention of knotting/self hanging.

      Most of the advancement in programming languages since C has been attempts at developing a better spool.

    31. Re:Enough rope by c · · Score: 1

      Oh, and don't forget to free() the rope when you're done with it.

      Nonsense. In the event of program termination, the O/S will free the rope for you.

      --
      Log in or piss off.
    32. Re:Enough rope by Lodragandraoidh · · Score: 1

      Here is a better idea: why choose? Why not build a virtual machine for Gnome that people can use thier language of choice to cross compile to? Too much is tied up in all-or-nothing solutions, when given processing power today, more creative solutions offer themselves...

      On the other hand (at a different level of abstraction) you could build your own python to javascript code translator (or cross compiler if JS has a virtual machine you can build bytecode for...does it?)

      If coding JS hurts too much - there are ways to get around it (or at least minimize the need to do it).

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain
    33. Re:Enough rope by hackula · · Score: 1

      All I need is that extra bit of rope to get my feet on the ground after hanging nearly myself. Not a bad analogy for js actually. Out of one of the worst dev platforms has actually given rise to one of the best dev experiences in the past few years. I do think js on the web will always be 95% crap though, if only because few devs take the time to learn it properly (instead focusing on the server side more with their "real" language). I have found the node.js community has brought a breath of fresh air to js though that has begun to bleed over into a lot of the front end frameworks. Jquery spaghetti will continue to be the norm for copy pasta spaghetti coders for the foreseeable future though.

    34. Re:Enough rope by jones_supa · · Score: 2

      Java packs you inside a robust, protective suit, which avoids some of the problems. Unfortunately the suit is kind of heavy so you move around slowly.

    35. Re:Enough rope by Anonymous Coward · · Score: 0

      Indeed, real computer scientists like me had always been into sado-masochism. For the kids pleasure, someone created JavaScript, Java and Smalltalk.

    36. Re:Enough rope by claytongulick · · Score: 1

      While there are many things about python that I love (array slicing, list comprehensions, etc...) the lack of anonymous in-lines really kills it for me. I enjoy working with python, and for certain apps python/django is a clear win - but these days I find myself mostly slinging nodejs code.

      --
      Drinking habits can be dangerous. You can choke on the cloth and the nuns will wonder where their clothes are.
    37. Re:Enough rope by Anonymous Coward · · Score: 0

      Python is a better language than Javascript.

      Not really. It's just bad in different ways. It's also harder to embed and has significantly worse performance.

    38. Re:Enough rope by fahrbot-bot · · Score: 1

      I always like to think of it as being more that C leaves ropes, cliffs, pointy objects, and a few angry bears wandering around -- and it's up to the user to to look out for themselves.

      If you know how to navigate it, and keep your wits about you, you'll mostly be fine. But if you're running around with your eyes closed or don't have adult supervision, you could really get hurt.

      "C" - the Adventure / Zork of programming languages: "You are in a maze of twisty little passages, all alike."

      It doesn't actively come after you, but there's no safety nets either.

      Right. That would be Hack :-)

      --
      It must have been something you assimilated. . . .
    39. Re:Enough rope by Anonymous Coward · · Score: 0

      Small refinement to your statement. TypeScript is also backwards compatible with Javascript. You can write jscript inline and it still works. This is very different than its competitors which are new languages and syntax that just recompile to jscript.

    40. Re:Enough rope by theskipper · · Score: 2

      and no language really escapes big O

      Agreed, it sounds like my wife is screaming in 10 languages combined at that particular moment.

    41. Re:Enough rope by Austerity+Empowers · · Score: 1

      which is why it made my #2 over Java.

    42. Re:Enough rope by Austerity+Empowers · · Score: 1

      Python requires its interpreter to be installed. That's not the case on windows, and not necessarily the case in some other places.

      Also, I have never felt that Python solves an issue for me. It seems as fiddly as C, as heavy as Java, and as syntactically bizarre as Javascript. It always seems like I end up with Perl, C and Javascript as the suite that provides good support to all my problems.

    43. Re:Enough rope by SolitaryMan · · Score: 1

      Dunno, I only *wish* it gave me enough rope so I can finally hang up myself and not have to support it anymore.

      --
      May Peace Prevail On Earth
    44. Re:Enough rope by Anonymous Coward · · Score: 1, Funny

      JS has the curly braces that God and Dennis Ritchie indented

      FTFY

    45. Re:Enough rope by Anonymous Coward · · Score: 0

      also coffeescript

    46. Re:Enough rope by Anonymous Coward · · Score: 0

      What's with the "and" in His name?

    47. Re:Enough rope by modmans2ndcoming · · Score: 1

      perhaps with typescript and Visual Studio we will finally have good development tools for the language.

    48. Re:Enough rope by Anonymous Coward · · Score: 0

      Only for some environments. If you're on a toaster without an OS, then no free for you.

    49. Re:Enough rope by Anonymous Coward · · Score: 0

      Node.js is stupid. If Javascript had proper coroutines, all those ridiculous callbacks wouldn't be required.

      Python is stupid for the same reason. Any decent modern language should have coroutines. They're just incredibly useful for massively concurrent contexts of execution, as well as inverting producer/consumer relationships. This is exactly the sort of things that web applications _and_ GUI applications constantly struggle with. And they have nearly _zero_ cost if implemented correctly.

      Lua is more powerful than Javascript, but with an even simpler learning curve.

      (Yes, Python has generators. Saying Python generators are like modern coroutines is like saying that C has garbage collection. Yes.. sorta of... but not really.)

    50. Re:Enough rope by smpoole7 · · Score: 1

      > LarryScript

      Heh. You made my night with that one.

      I propose a toast, followed by a vote. :)

      --
      Cogito, igitur comedam pizza.
    51. Re:Enough rope by MurukeshM · · Score: 1

      As a football fan, I say God is Dennis Bergkamp. The 'and' is to separate the surnames.

    52. Re:Enough rope by Waccoon · · Score: 1

      academic rigor

      Ah, so that's why if anyone thinks JavaScript is bad, fans will quickly snap, "You just don't get it."

    53. Re:Enough rope by Anonymous Coward · · Score: 0

      C is basically a necktie. You're supposed to wrap it around your neck, but not pull hard enough to choke yourself.

    54. Re:Enough rope by Anonymous Coward · · Score: 0

      I would say that type mangling in JavaScript is basically insane:
      http://www.youtube.com/watch?feature=player_detailpage&v=kXEgk1Hdze0#t=83s

      Waiting for someone to continue believing JavaScript is fine after watching this...

    55. Re:Enough rope by Pieroxy · · Score: 1

      big O has almost nothing to do with the language but with the algorithms you're using. To some degree, the default implementation of some libraries could bite you in the ass, but those libraries are so basic that they can be rewritten pretty quickly.

    56. Re:Enough rope by Anonymous Coward · · Score: 0

      That guy really shows his credibility when he doesn't even realise that in "{}+[]" he's actually saying "(empty block statement) (unary plus) (empty array)" and not "(empty object) + (empty array)" (which is string "[object Object]", just like in [] + {} case, where he thinks it's actually object returned).

      Unless both sides of binary + are numbers, it returns a string. Unary plus returns a number (or NaN). That's all incredibly complex rules of + in JS.

    57. Re:Enough rope by Anonymous Coward · · Score: 0

      God and Dennis Ritchie

      -1, Redundant

    58. Re:Enough rope by cheekyboy · · Score: 1

      C can do anything, but its also like a protoplasm, very simple, low level, needs 80% management code vs business/logic code.

      At least I can get C code, paste it , rename ints to vars, do a few hand fixes, and presto it works. But also that it does look similar to C, not Pascal or LISP or MODULA 2.

      Yes there are things JS could improve on, maybe thats why Google is making DART, maybe that could be the new standard in chrome later, and in Android.

      So why not give COBOL an F, or SQL an F.

      --
      Liberty freedom are no1, not dicks in suits.
    59. Re:Enough rope by Anonymous Coward · · Score: 0

      Don't trust a language that depends on invisible space to function!

    60. Re:Enough rope by hattig · · Score: 1

      "what language should I learn"

      Doesn't matter, a good developer can pick up any language.

      A better question is "which API should I learn". Javascript has a small API, and most web developers only know the DOM manipulation API, XML, JSON, jQuery or similar, etc. Main point is that the Gnome API is a different API from these, and developing Gnome Apps using Javascript means learning an entirely new API and dropping the one you know.

      What Gnome should be doing is saying "come and learn the Gnome API, we have implementations for C, C++, Vala, Python, Java, Javascript, etc".

    61. Re:Enough rope by Anonymous Coward · · Score: 0

      Yeah, let's develop Gnome apps using Python and wxPython.

      I think the point has been missed here! :-)

    62. Re:Enough rope by hattig · · Score: 1

      Hmm, web programming is mostly web browser DOM manipulation, jQuery/similar, XML and JSON, all glued together with Javascript. Most web developers don't get any deeper into Javascript as a language than having lots of simple functions they call at various points. Using this as the primary basis for using Javascript as a primary language for a non-web-browser, non-DOM, non-JSON, non-XML, non-jQuery API like Gnome is quite an interesting decision.

      iOS is mostly Objective C, which is not like Javascript. Maybe it's like Java after being mixed up with a billion square brackets. The API is specific to Apple of course, nothing can be applied to Gnome development.

      Android is Java based, but again the main issue is that the Android APIs are useless for Gnome programming.

    63. Re:Enough rope by Drinking+Bleach · · Score: 1

      Here is a better idea: why choose? Why not build a virtual machine for Gnome that people can use thier language of choice to cross compile to? Too much is tied up in all-or-nothing solutions, when given processing power today, more creative solutions offer themselves...

      Wasn't that Mono?

    64. Re:Enough rope by Anonymous Coward · · Score: 0

      "what language should I learn that's accepted everywhere, doesn't have to be compiled for a particular processor, and has a truly cross platform UI". Javascript is it, with C coming in a heavily qualified second, Java most 3rd except for that fruit company (and I know Java, but hate it passionately).

      You forgot Perl. In reality the ordering is C, Perl, Javascript - C runs on everything, from obsolete MVS mainframes to your toaster. Perl (which is in many ways a hideous language) runs on nearly as many platforms, with js a strong third place.

      This may change, though - Javascript has already passed python and PHP, and will surpass Perl soon enough.

    65. Re:Enough rope by rboatright · · Score: 1

      Typescript is great if you like that sort of thing, as is coffeescript. Both provide a nice clean way to write lintable js with nice constraints. Typescript provides static analysis and classes and interfaces that compile to native javascript prototype Object orientation, but it doesn't automatically produce closures as far as I know.

    66. Re:Enough rope by Anonymous Coward · · Score: 0

      C gives you just enough rope, to shoot yourself in the foot!

    67. Re:Enough rope by tepples · · Score: 1

      Sometimes thing like manual control over memory allocation can make a huge difference, but most of the time it comes out pretty even

      Until you discover that dynamic languages tend to incur an overhead of several bytes for each variable, even a variable holding a small value.

    68. Re:Enough rope by tepples · · Score: 1

      Why not build a virtual machine for Gnome that people can use thier language of choice to cross compile to?

      Wasn't that Mono?

      Mono doesn't necessarily work with the language of one's choice. I was under the impression that Mono ran CIL, and standard C++ didn't compile to CIL. (There is a C++-like language called C++/CLI that compiles to CIL, but the subset compatible with safe CIL and the subset compatible with standard C++ are disjoint.)

    69. Re:Enough rope by tepples · · Score: 1

      Accepted everywhere? [...] That'd be LISP, not Javascript

      There's a difference. A JavaScript interpreter comes preinstalled on every PC, every tablet, and every smartphone. A Common Lisp REPL does not.

    70. Re:Enough rope by shutdown+-p+now · · Score: 1

      Why would you need to "automatically produce closures" in JS, when it has native closures in the language?

      TypeScript does have ES6 arrow-closures with lexical rather than dynamic scoping for "this", though...

      Generally speaking, the difference between CoffeeScript and TypeScript is that the former is its own programming language that compiles to JS, while the latter is basically a bunch of ES6 features with optional compile-time-only static typing language extensions. The nice thing about TS is that if you remove all the type annotations and interface declarations from your program, it becomes valid ES6. The not-so-nice part is that this attitude means that they can't quite fix as many messy things about JS as CoffeeScript can.

    71. Re:Enough rope by shutdown+-p+now · · Score: 1

      The other thing about the Java suit is that you don't get fingers (too dangerous - you could poke yourself in the eye with one), and it has wheels instead of legs because most people walk on paved even surfaces 99% of the time. In practice, it means that you need to learn to pick your nose with your elbow, and climb stairs with wheels, to actually get anywhere (turns out that 1% is more important than designers thought).

    72. Re:Enough rope by shutdown+-p+now · · Score: 1

      Yes, yes, JS has first-class functions and closures. We know. So do a dozen other mainstream programming languages (in fact, it's easier to list the two that don't: C, which doesn't need them, and Java, which is simply stagnating). What more, those other programming languages implement their first-class functions better - for a specific example, see the treatment of "this" inside a closure in JS.

    73. Re:Enough rope by shutdown+-p+now · · Score: 1

      I was under the impression that Mono ran CIL, and standard C++ didn't compile to CIL. (There is a C++-like language called C++/CLI that compiles to CIL, but the subset compatible with safe CIL and the subset compatible with standard C++ are disjoint.)

      Who said anything about safe CIL?

      And standard C++ certainly does compile down to full CIL.

    74. Re:Enough rope by Jonner · · Score: 1

      You could argue C gives you all the rope you need as well.

      I keep asking myself "what language should I learn that's accepted everywhere, doesn't have to be compiled for a particular processor, and has a truly cross platform UI". Javascript is it, with C coming in a heavily qualified second, Java most 3rd except for that fruit company (and I know Java, but hate it passionately).

      While you're correct about the universality of Javascript, you seem very confused about the rest. Unless you're using one of the very rare C interpreters or doing something else extremely odd like compiling C to Java bytecode, C doesn't belong in the list at all. Java could be the second in line given your constraints. JREs with GUIs do in fact exist for all PC OSes if not all mobile platforms. The fact that you don't like the Java language doesn't give you the right to ignore reality.

      BTW, there are many language implementations for the JVM so you don't have to use Java itself to get the benefits of cross-platform execution and universal GUI. Actually, the same is true of Javascript, since there are now many compilers and translators for a wide variety of languages that allow you to run code in a browser.

    75. Re:Enough rope by rs79 · · Score: 1

      It's one thing to have an informed opinion, that is to have really spent some time with the language and to be able to identify the good and bad points. Buf if you aren't familiar with something, you really can't criticize it objectively. This is the logical fallacy of the argument from ignorance.

      I'm guessing if you had a wealth of experience with the language you'd have made a substantive point.

      Therefore it's reasonable to assume you don't actually know what you're talking about.

      Please feel free to correct me if I'm wrong.

      --
      Need Mercedes parts ?
    76. Re:Enough rope by rs79 · · Score: 1

      Ok I'll bite. What language would you replace js with in the browser?

      If you're gonna say Erlang, please don't even bother clicking the submit button.

      --
      Need Mercedes parts ?
    77. Re:Enough rope by rs79 · · Score: 1

      Lua is more powerful than Javascript, but with an even simpler learning curve.

      Can you back this up? I took a quick look at it. Meh. At least js has C syntax.

      What is it you can do in lua you can't in js?

      At this point a language slightly better than js isn't enough because of the installed base. It would have to be 10X better. And I'm not seeing that.

      --
      Need Mercedes parts ?
    78. Re:Enough rope by shutdown+-p+now · · Score: 1

      I would much prefer something like Google's PNaCl - a bytecode VM with JIT compilation, as low-level as humanely possible (while retaining platform and architecture portability and efficient sandboxing), so that people can use whatever language they see fit.

      If you're rather asking what language I would choose to run on top of such a VM, for typical browser app tasks - then it would be Python, with Ruby a close second.

  4. I like writing JavaScript by Anonymous Coward · · Score: 0

    I suspect most people are too lazy to write a scripting language that doesn't typically come with intellisense.

    1. Re:I like writing JavaScript by bazmail · · Score: 1

      Gnome devs have been writing apps for Gnome without "Intellisense" since day 1.

    2. Re:I like writing JavaScript by Anonymous Coward · · Score: 1

      Without any sense at all, as a matter of fact.

    3. Re:I like writing JavaScript by someones · · Score: 1

      THIS made my day!

  5. LuaJIT... by Anonymous Coward · · Score: 0

    ...would have been better.
    But if they offer the right tools to make JS sufferable... Why not?

  6. And you thought they already jumped the shark by Anonymous Coward · · Score: 0

    At least it's not VB

  7. Before someone starts pulling out hair by eksith · · Score: 3, Informative

    This bit is kinda important :

    For system libraries the language of choice is still C.

    The Gnome folks don't have a deaf ear, it seems, since they proactively acknowledge JS isn't a lot of developers' cup of tea... And the anti-JS vitriol is something that doesn't make sense to me, but whatever (note: I don't use it in app work, but that's only because I found another language I know).

    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.

    --
    If computers were people, I'd be a misanthrope.
    1. Re:Before someone starts pulling out hair by Anonymous Coward · · Score: 0

      I've been programming for 35 years and I've seen a lot of stuff, but I have never seen anything written by anyone in JavaScript that was more than about 50 lines long that wasn't absolutely unmaintainable shit. The libraries could be made of solid gold and it wouldn't help a bit.

    2. Re:Before someone starts pulling out hair by eksith · · Score: 1

      I once knew a brilliant artist who worked with water colors, oil paints and even home-made concoctions. Been at it for several decades. Absolutely hated scupture.

      Without knowing what you actually did or how good you were or whether you touched the language for any meaningful length of time to form an intelligent decision, you're just another AC with a theory... and there seems to be plenty more of that on this story and none of them add to the discussion more "I hate JS cause people write bad programs with it". Doesn't that apply to pretty much every language?

      I don't care either way since, as I said, I don't use it for app stuff, but the intellectual dishonesty on this thread would make a politician blush.

      --
      If computers were people, I'd be a misanthrope.
    3. Re:Before someone starts pulling out hair by lilrobbie · · Score: 1

      3 months ago I would have agreed with you. Now I think you just have insufficient experience with JavaScript to understand "maintainability" when you see it ;-)

      See jQuery, Backbone, underscore, mustache and a myriad of other extremely clean and highly polished open source libraries out there. Every one of those libraries can be read top to bottom AND UNDERSTOOD in well under a few hours.

      JS has problems, as does every language. *BUT* it is a powerful language, and deserves consideration as a language for serious developers.

    4. Re:Before someone starts pulling out hair by sgnn7 · · Score: 0

      I've met and talked to Jon McCann about GNOME3 and he's got a pretty good head on his shoulders about usability and if the rest of their crew is similar, the project is for sure moving forward. Sure, the icons won't be in the same place nor will your resource meter stay docked in a taskbar but you trade that change off with a cleaner design, more screen real-estate, and pretty snazzy but subtle effects. Once you have the presentation layer in JS with the help of debugging tools like lg (similar to Firebug) you can rapidly modify/develop/iterate over new UI designs without much time spent handling memory allocations, de-referencing null pointers, nor adding metric tons of boilerplate code. Not to disagree with other knee-jerk reaction commenters, JS can be used for evil but when used carefully it can be a very powerful RAD tool.

  8. Perl? by Anonymous Coward · · Score: 0

    Things created with JS are just as messy as with Perl so they might have used Perl as well..

    1. Re:Perl? by someones · · Score: 1

      perl has a too wide acceptance rate.
      Its gnome - where everything good gets removed and replaced with something bloat and with less functionality.
      If people complain, they ignore it, because people are tooo dumb to understand.

      (another reason i switched away from gnome)

  9. Are apps in WinRT, ChromeOS, and "FirefoxOS" good? by mbkennel · · Score: 1, Insightful

    Are apps in WinRT, ChromeOS, and "FirefoxOS" good? Anything people want so far?

    Generally the "apps" which seem to be good quality are written in Objective-C on Mac and iOS. Of course much of this relates to libraries, but are we entirely sure there's no relation?

  10. Sign of the Times by halfkoreanamerican · · Score: 3, Insightful

    It's not another sign that javascript is taking over the world, but rather a sign that gnome is making bad decisions.

    1. Re:Sign of the Times by someones · · Score: 1

      THIS

    2. Re:Sign of the Times by Anonymous Coward · · Score: 0

      They were always trying hard to emulate Windows. Mr De Icaza has very few original ideas of his own.

      WxWidget is your friend. And fvwm+command line, if you want more than a McComputer.

    3. Re:Sign of the Times by strikethree · · Score: 1

      It's not another sign that Javascript is taking over the world, but rather a sign that gnome is making bad decisions.

      I disagree. I have only ever done some light Javascript programming but it is close enough in syntax to C that it was easy to learn. The Gnome project has made some absolutely horrendous user interface decisions (I want control!) but otherwise Gnome has generally made good decisions... and having support for Javascript is one of them.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  11. What's the problem? by Anonymous Coward · · Score: 0

    It's a good choice apart from situations where performance matters. These users aren't running Gnome or KDE anyway.

    1. Re:What's the problem? by Nerdfest · · Score: 1

      It's also a language that while powerful, seems to encourage people to write poorly maintanable code.

    2. Re:What's the problem? by rs79 · · Score: 1

      Unlike the languages that encourage you to wrote easily maintainable code like:

      --
      Need Mercedes parts ?
    3. Re:What's the problem? by HalWasRight · · Score: 2

      Like languages (pick one) with strong typing so you know at compile time of trivial bugs that you'll never discover with JavaScript until you have exercised every path of execution that can reach your function.

      --
      "This mission is too important to allow you to jeopardize it." -- HAL
    4. Re:What's the problem? by Anonymous Coward · · Score: 0

      It's also a language that while powerful, seems to encourage people to write poorly maintanable code.

      This is a wetware problem and nothing to do with the language. I've worked with some beautiful javascript and some ugly C, C++, ObjC, Java and so on... I see no problem with UI scripting or basic application logic in javascript.

      I'm an XFCE user and just started playing with seed right now. It'd be great if this was bundled along with GTK and the core libs for quick install on OSX and Windows.

    5. Re:What's the problem? by rs79 · · Score: 1

      Oh I'm sorry, I forgot there are people that don't check their work. They should use Pascal or something; sloppy is as sloppy does.

      And if you think goto's are harmful you'll really hate self modifying code. But, when you save a million instructions by doing that, it's gonna get done Dr. Whitetower.

      Enumerate the properties of js. Now point to another language that has them. Oh look, null set.

      --
      Need Mercedes parts ?
    6. Re:What's the problem? by Anonymous Coward · · Score: 0

      Google Go.
      The second it has proper GUI kit bindings to a major cross compiling kit (Qt \ GTK ...) is the second I stop writing C, C++ and Python.

  12. Still doesn't answer "Why" by bazmail · · Score: 1, Insightful

    Saying JS is an awesome language isn't a good enough reason to switch. Next year are they going to switch to Python coz like thats awesome too? Or Dart?

    1. Re:Still doesn't answer "Why" by elucido · · Score: 1

      A switch to python at least would make sense. Python is the best language for apps. Who uses javascripts to write apps?

    2. Re:Still doesn't answer "Why" by Anonymous Coward · · Score: 0

      Switching to python was last year :)

    3. Re:Still doesn't answer "Why" by Anonymous Coward · · Score: 0

      Why? They have to make sure that Gnome is always worse than Windows.

      Vista was a challenge, and Microsoft has upped the ante with Windows 8.

      But it goes to show you should never underestimate the Gnome developers. Microsoft should be happy they don't have to bribe Miguel and gang to make sure Gnome always remains crappier ;).

      Captcha=defects.

    4. Re:Still doesn't answer "Why" by Dcnjoe60 · · Score: 1

      Saying JS is an awesome language isn't a good enough reason to switch. Next year are they going to switch to Python coz like thats awesome too? Or Dart?

      They didn't say JS is an awesome language, exactly. They said a lot of new developers coming to gnome already know JS. In addition gnome-shell and a number of components are written in JS. Therefore it makes sense to write some tutorials and recommend to new developers to build on what they already know from their work with other operating systems, which is -- JS.

      They are not telling existing developers to change to JS. They are not telling new developers not to develop in something else. They are only saying that if you are a new developer they will have tutorials and sample code written in JS.

      Is JS the best solution? I don't know. Personally, I would have chosen python, but if you are coming from other operating systems, then python probably isn't as wide spread as JS. Besides, it is my understanding the they already had much of the tutorial work completed as it was a project somebody had done earlier, before this decision was made.

      Face it, no matter what language gnome decided to standardize on for recommending to n00b gnome developers, people would be upset.

    5. Re:Still doesn't answer "Why" by squiggleslash · · Score: 1, Interesting

      It's very popular on the mobile side, and it's a tribute to Javascript's power, ease of use, and flexibility that people use it despite usually being required to use it in a sandbox where all user interaction has to be written in HTML and accessed via the DOM, two of the most ugly technologies ever designed.

      Python... heh. COBOL meets perl, they have a baby, BOOM, Python. Awesome. You were joking right? Isn't the selling point of Python that it has so many libraries and so much stuff in them you don't even need to do any programming?

      --
      You are not alone. This is not normal. None of this is normal.
    6. Re:Still doesn't answer "Why" by Dcnjoe60 · · Score: 1

      A switch to python at least would make sense. Python is the best language for apps. Who uses javascripts to write apps?

      Says you.

    7. Re:Still doesn't answer "Why" by sourcerror · · Score: 1

      Isn't the selling point of Python that it has so many libraries and so much stuff in them you don't even need to do any programming?

      No, that's Java.

    8. Re:Still doesn't answer "Why" by rs79 · · Score: 1

      Does that mean you've never written a serious app in js? If so what makes you qualified to compare?

      Have you see the x86 emulator written in javascript?

      http://bellard.org/jslinux/tech.html

      It only runs one program I've seen - Linux. It boots, I can vi, cc, run it and it's not slow. And it's doing all this in a browser tab. Or as many as you want.

      Have a go doing this in python and let us know when we can compare the two.

      Or do this: http://osjs.0o.no/

      --
      Need Mercedes parts ?
    9. Re:Still doesn't answer "Why" by squiggleslash · · Score: 0

      I wish it was Java. Java's the one that has an absolutely huge library... that turns out to actually be the same damned class implemented 200 different ways.

      Because I want to open an TextReader of a Reader of a FileInputStream of an InputStream of a file of a...

      --
      You are not alone. This is not normal. None of this is normal.
    10. Re:Still doesn't answer "Why" by lattyware · · Score: 1

      It's popular on the mobile side because it's cross-platform. That's it. JavaScript isn't easy to use, it's a mess of a language that has been hacked into something vaguely usable because it's the only option there.

      And yeah, who wants to actually write relevant code? Let's spend all our time re-implementing the wheel, because that's effective. Python has excellent design behind it, and it's perfect for this kind of thing. Small to medium sized applications that need to be made fast, while remaining maintainable and work in as many places as possible.

      --
      -- Lattyware (www.lattyware.co.uk)
    11. Re:Still doesn't answer "Why" by Bill_the_Engineer · · Score: 2

      Actually Perl with its CPAN.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    12. Re:Still doesn't answer "Why" by squiggleslash · · Score: 1

      It's popular on the mobile side because it's cross-platform. That's it. JavaScript isn't...

      You're missing the point.

      JavaScript is immensely popular. It doesn't matter whether it's popular because the government has a group of hitmen out roaming the country shooting at anyone who programs in anything else (in PHP's case, of course, this would be a mercy killing), or because it's all unicorns and rainbows and JS is the bestest language there ever was.

      Although, personally, and this is my personal opinion, I think it's pretty nice.

      But anyway, the point is it's immensely popular. People know it. And the plethora of apps written in JS means that it's capable of being used to develop apps. (Oh, and BTW, as someone who's had to write that kind of thing, I can tell you that while I cursed a lot doing this kind of development, the language was never the problem. DOM, HTML, and inconsistent ways to access the native wrapper, yes. Language. No.)

      If this were 1982, GNOME would be absolutely 100% right in picking Microsoft BASIC (no, not VB, I mean the:

      10 PRINT "BASIC is the most popular, well known, programming language on Earth in 1982, just about everyone can program in it."
      20 GOTO 10

      type of BASIC), but it isn't, it's 2013, and the most popular scripting language on Earth is JavaScript.

      Awesome, sexy, JavaScript.

      Delicious, yummy, JavaScript.

      It uses curly braces. Like God intended.

      And it's a good modern programming language. And best of all, you already know it.

      --
      You are not alone. This is not normal. None of this is normal.
    13. Re:Still doesn't answer "Why" by lattyware · · Score: 1

      Except is that really what's best? Sure, lots of developers know it. And? We all know raw numbers of applications don't matter. Using a better language would result in better quality when it came to applications, and a better experience for the developers doing it. Some people might have to learn to use another language - that's not the end of the world.

      As to it being a good language to use, show me that. I've seen a million things trying to show me how great it is, and they all just seem to be spending half the time talking about how amazing it is they can do this thing that would be trivial to do in any other language, but in JavaScript requires a ton of boilerplate crap to make it possible.

      --
      -- Lattyware (www.lattyware.co.uk)
    14. Re:Still doesn't answer "Why" by Anonymous Coward · · Score: 2, Interesting

      Python... heh. COBOL meets perl, they have a baby, BOOM, Python. Awesome. You were joking right?

      These statements make it clear that you don't know very much about Python, and much of what you do know is probably wrong. That or else you are trolling.

      Python was designed by Guido van Rossum (GvR), a computer geek who was also a math geek. He designed it to be clean and regular; there aren't a lot of weird punctuation operators like in Perl. It's a lot more terse than COBOL... well, anything designed later than 1960 is. I'll just bet the reason you even mentioned COBOL is the significant whitespace thing... oh wow, you're so smart, I'm impressed, really.

      GvR based Python on a teaching language called ABC, and to some extent the C language. Regular expressions are credited as being copied from Perl but that's about it.

      The Python community agrees that this is a good summary of the philosophy of Python:

      The Zen of Python, by Tim Peters

      Beautiful is better than ugly.
      Explicit is better than implicit.
      Simple is better than complex.
      Complex is better than complicated.
      Flat is better than nested.
      Sparse is better than dense.
      Readability counts.
      Special cases aren't special enough to break the rules.
      Although practicality beats purity.
      Errors should never pass silently.
      Unless explicitly silenced.
      In the face of ambiguity, refuse the temptation to guess.
      There should be one-- and preferably only one --obvious way to do it.
      Although that way may not be obvious at first unless you're Dutch.
      Now is better than never.
      Although never is often better than *right* now.
      If the implementation is hard to explain, it's a bad idea.
      If the implementation is easy to explain, it may be a good idea.
      Namespaces are one honking great idea -- let's do more of those!

      Perl folks are proud of saying "there's more than one way to do it" and Python explicitly rejects this philosophy.

      Isn't the selling point of Python that it has so many libraries and so much stuff in them you don't even need to do any programming?

      The Python community does say "Batteries Included"... Python has a lot of useful stuff you can use. You said the above like it's a bad thing and I'm not seeing it.

      The worst thing about Python is that it is a lot slower than other languages. I don't like Java as much as I like Python, but Java is at least fast. You can get a lot of useful work done in Python and it can even be fast, but the fastest Python is the code that relies on built-in features and C library code, so the fastest Python is the Python you didn't write.

      Python is a much cleaner design than JavaScript. There are fewer land mines for newbies to step on. I'm a Python fan, but I'm not that worked up about the GNOME guys picking JavaScript.

      But Python as a bastard offspring of COBOL and Perl? Nope.

    15. Re:Still doesn't answer "Why" by aztracker1 · · Score: 1

      ...And best of all, you already know it.

      Well... *know* is pretty subjective... most developers can hack away at it... but few actually have anything resembling a decent understanding. I wish more JS devs understood type coercion and short circuiting techniques a bit better...

      I cringe when I see the following...
      var x = getSomeValue();
      x = parseInt(x);
      if (x == 0) x = null;
      if (isNaN(x)) x = null;


      vs:
      var x = +getSomeValue() || null;

      --
      Michael J. Ryan - tracker1.info
    16. Re:Still doesn't answer "Why" by bondsbw · · Score: 1

      it's a tribute to Javascript's power, ease of use, and flexibility

      No, it's a tribute to the fact that JS is the only game in town.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    17. Re:Still doesn't answer "Why" by rs79 · · Score: 1

      Anybody who knows more than BASIC should be able to see the logic of the former. The latter just looks like fucking witchcraft or something I'd expect to see on the walls of the tomb of an ancient Egyptian king.

      --
      Need Mercedes parts ?
    18. Re:Still doesn't answer "Why" by Anonymous Coward · · Score: 0

      it's a mess of a language that has been hacked into something vaguely usable because it's the only option there

      Please list the aspects you consider to be a "mess". Note: DOM and HTML are not JavaScript.

    19. Re:Still doesn't answer "Why" by lattyware · · Score: 1

      Automatic type conversion, NaN is a number, NaN doesn't equal itself, leave off a 'var' and you start creating globals, "0" == false but "false" != false, parseInt assumes that anything beginning with a 0 is octal, anonymous functions everywhere (which discourages code reuse), there is nothing that even approaches a decent looping structure, etc..., etc... - I'm no expert, I fully admit, but what I have used of JavaScript makes it quite clear that there are huge problems there.

      Really, I'd be happy to take another look if someone could show me why everyone loves it - but even without the mess of DOM and HTML (which I agree, are half the pain of web dev with JS), I don't see it.

      --
      -- Lattyware (www.lattyware.co.uk)
    20. Re:Still doesn't answer "Why" by shutdown+-p+now · · Score: 1

      You must be a former Perl developer...

    21. Re:Still doesn't answer "Why" by aztracker1 · · Score: 1

      Not really... I do know a little bit of perl, I try to learn a programming language a year, and perl was in '08, ruby in '09... There are some things I like, and some I don't so much.

      --
      Michael J. Ryan - tracker1.info
    22. Re:Still doesn't answer "Why" by aztracker1 · · Score: 1

      My point stands, that if you don't know things like the above, imho you don't *know* the language. Just like in C# today, I would expect you to know how to use Lambdas, object literal syntax, etc. I should clarify that as if you say you are an "expert" or "advanced" in knowledge of a language/platform, you should know a lot of the current syntax.

      In JS, you should have an understanding of how it does type coercion, as well as how binary operations (and shorting) works. You should also know how equality operations work, in terms of coercion, (0 == null) vs (0 === null) etc... Yes, it does mean that sometimes you don't get what you might expect, but in understanding how things work you can be far more effective. Considering in client-side development the style of code (even optimized) heavily influences load times (by download size) being terse is a good idea... In my example, you could have a comment explaining what is happening in the second, and the final size would have been a fraction of the output... points like that over a large JS file make bigger differences in optimization and download. Sometimes terse is better, sometimes verbose is... when I have argument names, and function names, I tend to favor longer and more descriptive names that can be optimized to 1-2 characters. For variable assignment/manipulation, if it fits on a line well, will favor that.

      I would also expect someone who *knows* JS to know about variable scope in JS... I get sick of doing interviews with people who put "Expert" next to languages they are far from expert at. Copying/Pasting jQuery snippets does not qualify. I get finicky with other languages too. If you don't claim advanced/expert at something, I am *much* more lenient.

      --
      Michael J. Ryan - tracker1.info
    23. Re:Still doesn't answer "Why" by rs79 · · Score: 1

      One simple graphic in the page that's loading and it blows your rationale for terse code out the door.

      I assert there's greater utility in the former example because it's more readable: more people can understand it.

      --
      Need Mercedes parts ?
    24. Re:Still doesn't answer "Why" by aztracker1 · · Score: 1

      I tend to avoid unnecessary graphics as well, a lot can be done with CSS that tends to be done with graphics... or at least intents very similar to original... having an optimum response is more than just JS, certainly.. but that doesn't mean you should just ignore any given aspect. You may as well just use postbacks, and no client-side script at all.. yeah, it's a little less responsive, but verbose server-side code is so much more understandable than JS anyway... /sarcasm

      --
      Michael J. Ryan - tracker1.info
  13. There shall be only one? by mike.mondy · · Score: 5, Informative

    From the TFA and the blog linked from the TFA:

    During the GNOME Developer Experience Hackfest this week, one of the major goals we identified was the need to pick a *single* language to give a simple answer to "how do I write a GNOME app?". [emphasis added]

    Why only one?

    * It allows us to focus when we write developer documentation, fixing bugs in the development environment and the development of tools. This reduces our maintanence costs and enables us to be vastly more efficient.
    * It enables code and knowledge sharing to occur, so that people can easily copy and paste code from existing applications, or find information about common problems and challenges.
    * It provide a coherent and easy-to-follow path for new developers.
    * It allows us to include the full GNOME framework within the language itself.

    But also:

    We will continue to write documentation for other languages, but we will also prioritize JavaScript when deciding what to work on.

    I wonder how much harder it would be to support LUA, python, tcl, and some of the other common languages. Or whatever comes next...

    1. Re:There shall be only one? by Anonymous Coward · · Score: 0

      So that's why it feels like my head is being chopped off with a sword?

    2. Re:There shall be only one? by mike.mondy · · Score: 2

      I'm not sure that they're even saying JS is preferred. (Not sure that they aren't because I just skimmed the blog.) However, the whole context might be

      "how do I write a GNOME app?".

      Only using a single language in noob/intro examples isn't quite the same thing as deprecating other languages...

    3. Re:There shall be only one? by Xtifr · · Score: 1

      I wonder how much harder it would be to support LUA, python, tcl, and some of the other common languages. Or whatever comes next...

      You mean for documentation purposes? Since most, if not all of those are already supported for development?

      Anyway, I'm just glad they're no longer pushing Mono/C#! Gnome has enough overhead by itself without adding in a huge, mandatory VM; especially one with the sort of dubious connections that Mono has. (Not that Java's VM has much better connections these days.) I guess they really have finally broken with Miguel.

    4. Re:There shall be only one? by ardeez · · Score: 2

      Where does this leave Vala? I thought they wanted to make that the default language instead of C.

      --
      don't be a spelling loser
  14. Isn't gnome slow enough? by Anonymous Coward · · Score: 0

    Isn't gnome slow enough? Why go to an interpreted language and make it slower?

    1. Re:Isn't gnome slow enough? by Xtifr · · Score: 1

      JS is pretty fast for an interpreted language. Several companies, especially Google, have been putting a lot of work into improving the interpreter. I'm not sure it's caught up to lua, but I suspect it's well ahead of perl/python/ruby at this point. Note that you can still use any of those if you want, or even C or C++. I think there's even bindings for GNU Ada. I doubt the Mono bindings have disappeared either, but I'm really glad they're no longer pushing Mono, even though that can technically be considered a compiled language (for a huge, bloated monster of a virtual machine).

      Python in particular will continue to be used for large chunks of Gnome, since nobody has said anything about rewriting the existing apps, and lots of them are currently in Python. (Which means they might actually be faster if they were rewritten in JS.)

    2. Re:Isn't gnome slow enough? by Anonymous Coward · · Score: 0

      It's not an interpreter technically, but a JIT-compiler. And LuaJIT is still faster than V8.
      I find this impressing, because LuaJIT is a one-man project, while V8 has a big company behind it.
      And the author of LuaJIT stated that V8 could be faster.
      But Google seems to take the half done approach when it comes to VMs. Also Dalvik is not too impressing.
      Ah well, just throw some more cpu cores at it.

    3. Re:Isn't gnome slow enough? by Xtifr · · Score: 1

      Lua has the advantage that the language is pretty minimalist. It doesn't even offer inheritence--though it does give you all the tools you need to implement inheritence. Which makes direct comparisons between the languages tricky, though I have no doubt that V8 still has room for improvement.

      (I'm actually far more familiar with lua than JS, but not deeply experienced with either one. So don't expect a detailed criticism/comparison of the two languages from me.)

  15. Javascript == annoying by sanosuke001 · · Score: 5, Interesting

    loosely typed language without declaration requirements for methods/variables makes it such a huge pain in the ass to debug/understand/update source that I want to have nothing to do with it.

    --
    -SaNo
    1. Re:Javascript == annoying by krovisser · · Score: 1

      +9000

    2. Re:Javascript == annoying by Anonymous Coward · · Score: 0, Troll

      I think you mean Javascript === annoying

    3. Re:Javascript == annoying by rs79 · · Score: 1

      It is a pain to understand and get used to, but when you do I haven't found it to be a problem. The only way to fail is to give up. Keep at it.

      --
      Need Mercedes parts ?
    4. Re:Javascript == annoying by Jartan · · Score: 1

      He didn't mean Javascript is hard to understand. He meant it's difficult to write understandable code in Javascript.

    5. Re:Javascript == annoying by Anonymous Coward · · Score: 0

      No, it's "OVER 9000!!!"

    6. Re:Javascript == annoying by squiggleslash · · Score: 1

      You know, Javascript is an excellent language, both for its power and its familiarity, but I have to say part of me wishes, after reading this thread and seeing how "not picking Python" has really riled up half of Slashdot, they'd picked PHP instead, just to really piss everyone off.

      --
      You are not alone. This is not normal. None of this is normal.
    7. Re:Javascript == annoying by HalWasRight · · Score: 1

      You haven't found it to be a problem because you haven't tested your code well enough. That is the problem with loosely typed languages, you don't know what is lurking out there until you find it. Strongly typed languages do not guarantee bug free code, but give you a fighting chance.

      --
      "This mission is too important to allow you to jeopardize it." -- HAL
    8. Re:Javascript == annoying by Anonymous Coward · · Score: 1

      110% agreement. I love the statement "...elegant and sparse language that is is". Are you serious? Javascript reminds me (but much less useful) of trying to maintain "sparse" perl scripts 20 years ago. Or the people that believed the real value in writing the shortest and most obfuscated code in C is appropriate. Javascript can be elegant, but it doesn't enforce or even promote elegance or readability and its a language from hell when it comes to large teams with large code base and long term maintenance. And don't get me started when you combine javascript with the DOM interactions that are still, to this day, largely a mess and in critical areas, undocumented. Take that times 5+ browser variations (and IE being the worst offender), Javascript in the browser sucks! Node.js has some potential and I see the value, mainly because I'm not at the mercy of browser DOM variations.

      HTML5(+) and Javascript maybe the final endpoint of client UI and serious web applications, but until Microsoft, Apple and Google(Android) give up on pushing us into custom platform applications, we'll continue to move web application development technologies forward at a snails pace.

    9. Re:Javascript == annoying by Philotomy · · Score: 0

      Lol. Mod parent up; that AC knows what he's talking about.

    10. Re:Javascript == annoying by UnknownSoldier · · Score: 1

      What's really sad is that initially Javascript had the following idiotic C keywords reserved but doesn't use them -- even more annoying was that you couldn't use them as property names until recently!

      * char
      * double
      * float
      * int
      * long
      * short
      * void // still reserved as it is an operator

      Reference / See:
      * http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
      * http://stackoverflow.com/questions/5306315/browser-support-for-using-a-reserved-word-as-a-property-name-in-javascript
      * https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Reserved_Words

      Javascript is the new Basic -- it encourages sloppy programming with hard to find bugs.

      --
      Only cowards use censorship.

    11. Re:Javascript == annoying by Anonymous Coward · · Score: 0

      Javascript === annoying

    12. Re:Javascript == annoying by Anonymous Coward · · Score: 0

      I believe ECMAScript 5 allows you to use strict mode, wherein use without declaration is an error.

    13. Re:Javascript == annoying by rs79 · · Score: 1

      That property is true of every computer language.

      Fast, quickly done, understandable. Pick any two.

      --
      Need Mercedes parts ?
    14. Re:Javascript == annoying by rs79 · · Score: 1

      I scoff at your testing methodologies, Sir, I find them wanting.

      If you aren't sure exactly what your code is doing and not doing then you aren't really done.

      This isn't rocket science. Oh wait, actually it is if you do it right.

      --
      Need Mercedes parts ?
    15. Re:Javascript == annoying by Anonymous Coward · · Score: 0

      Agreed.

      Nothing like spending an hour trying to debug a problem which turned out to be due to a typo.

      Or spending a day trying to understand a code path which would be obvious if it had types.

    16. Re:Javascript == annoying by 21mhz · · Score: 1

      And don't get me started when you combine javascript with the DOM interactions that are still, to this day, largely a mess and in critical areas, undocumented. Take that times 5+ browser variations (and IE being the worst offender), Javascript in the browser sucks!

      I'd like to introduce you to jQuery. They really took care of all the mess for you.

      --
      My exception safety is -fno-exceptions.
    17. Re:Javascript == annoying by Anonymous Coward · · Score: 0

      Wait, what?
      So he can understand it until he actually uses it? haha

    18. Re:Javascript == annoying by strikethree · · Score: 1

      Then don't write code in Javascript that is hard to debug. Just because it gives you the choice (like perl) to write lousy code, that does not mean that you are forced to write lousy code.

      Now if you are talking about having to debug other people's crap, I highly agree. Most/many people can not be self disciplined enough to write code that is debuggable unless the language forces them (Python seems to try (but fail) that route).

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    19. Re:Javascript == annoying by ignavus · · Score: 1

      loosely typed language without declaration requirements for methods/variables makes it such a huge pain in the ass to debug/understand/update source that I want to have nothing to do with it.

      Then don't have anything to do with it.

      No one is forcing you to write in Javascript.

      C and Vala will work with Gnome. Any language with Gnome binding will work. But your average noob who needs an equivalent to Visual basic can use Javascript.

      Why are you complaining? Because someone out there might be using a language you disapprove of?

      --
      I am anarch of all I survey.
    20. Re:Javascript == annoying by thenextstevejobs · · Score: 1

      I'd recommend using the === operator instead of == in JavaScript unless you like things like " \t\r\n " == 0 evaluating to 'true'.

      --
      Long live the BSD license
    21. Re:Javascript == annoying by sanosuke001 · · Score: 1

      Because at work our customers want "lightweight" web applications (we do 3D visualization software) so we get to mess around with JS/WebGL but not often enough for me to look for a job elsewhere; thus the "annoying" adjective

      --
      -SaNo
  16. Exit stage left. by Anonymous Coward · · Score: 0

    KDE/Qt here I come.

    1. Re:Exit stage left. by Anonymous Coward · · Score: 0

      KDE/Qt here I come.

      I don't give a shit about KDE, but Qt rocks.
      If I had to code an app for Gnome, I'd use Qt. :)

    2. Re:Exit stage left. by jones_supa · · Score: 1

      Ditto.

  17. JavaScript Is The Future by Anonymous Coward · · Score: 0

    To provide a true cross-OS portable app framework, the use of HTMl5, Javascript and CSS3 will become commonplace. This will make everyone's app completely portable and provide integration with cloud services.

    The role of the OS will diminish, to be replaced with a mainly browser based UI as standard.

    The only native apps in the future will be high performance applications such as databases. Other than that, everything will be delivered as Software as a Service.

    1. Re:JavaScript Is The Future by Anonymous Coward · · Score: 0

      Or, OTOH, we could accomplish that same vision by allowing something other than a godawful hack of a language to run in browsers.

    2. Re:JavaScript Is The Future by tenco · · Score: 1

      The only native apps in the future will be high performance applications such as databases. Other than that, everything will be delivered as Software as a Service.

      I will believe this when I see the first serious engineering application written in it. Like, Pro/E, SolidWorks, Matlab etc.

    3. Re:JavaScript Is The Future by tristes_tigres · · Score: 1

      Write once, run everywhere! The network is the computer!

      It's like 1995 is back.

    4. Re:JavaScript Is The Future by Anonymous Coward · · Score: 0

      Only this time it's not brought to us by some shitty ass overpriced hardware company run by an asshole Scott McAsshat and developed by some beard and sandals hippie fuck who gets a thrill up his leg locking programmers into a rigid model.

    5. Re:JavaScript Is The Future by hattig · · Score: 1

      To provide a true cross-OS portable app framework, the use of HTML5, Javascript and CSS3 will become commonplace.

      Where's Gnome in that? What you've described is a platform for applications to run upon, within a Browser Runtime. Google has even released an OS that is only a browser, with the above being the application runtime.

      Gnome is a different, competing platform for applications to run upon, no browser required, but completely different APIs (UI, networking, I/O, etc). You will get nothing of the benefit of Javascript's browser libraries (unless you have something like browser = GnomeBrowser(); browser.run(webapp);) because they're irrelevant when you are using the Gnome Javascript Bindings.

  18. Makes sense, TBH by Anonymous Coward · · Score: 0

    It's certainly better than pointing fledgling developers to the GObject or GTKmm sludge.

    It's sad to say it, but Javascript is probably a sweet spot of performance, ease of development and mindshare ATM.

    What happened to Vala, though? Wasn't that supposed to become the GNOME language?

  19. Gnome is officially dead. KDE has won. by elucido · · Score: 3, Insightful

    I went from using KDE exclusively to using Gnome exclusively back to using KDE exclusively.

    The latest Gnome 3x sucks and is worse than the 2x series. The KDE 4x series is far superior to the flawed 3x series. KDE is on the right track with 5x while Gnome continues to stay on the wrong track doing things it's userbase isn't wanting it to do, taking features away which users love, "improving" the interface by making it harder to use or reducing flexibility.

    Whoever is designing the Gnome interface sucks and this decision to choose Javascript over a language like Python, Ruby, or C#? Wtf are they thinking?

    1. Re:Gnome is officially dead. KDE has won. by UltraZelda64 · · Score: 1

      Unfortunately, as much as it sucks... there will remain a healthy supply of GNOME-based distributions, for whatever reason. And as long as people continue to put out shitty GNOME distributions, they will inevitably have users and GNOME will continue to have an audience. The environment is still garbage even now, yet there continue to be GNOME-based distributions released.

    2. Re:Gnome is officially dead. KDE has won. by Anonymous Coward · · Score: 0

      Are you using the same KDE 4x as everyone else? You know, the one where all the desktop is written in javascript?

    3. Re:Gnome is officially dead. KDE has won. by oGMo · · Score: 5, Interesting

      Gnome has always been on the wrong track from day 1. It was a political response to KDE's use of Qt (which was QPL back then) and always a mishmash of libraries and utility applications rather than a fundamentally solid desktop environment. That it might have been usable at some point is more luck than anything.

      I don't use KDE (or GNOME, I prefer RiscOS On X because it's insanely fast and powerful), but at least KDE has had a solid vision from the get-go, if sometimes flawed.

      --

      Don't think of it as a flame---it's more like an argument that does 3d6 fire damage

    4. Re:Gnome is officially dead. KDE has won. by Anonymous Coward · · Score: 1

      The KDE 4x series is far superior to the flawed 3x series

      wat

    5. Re:Gnome is officially dead. KDE has won. by Brandybuck · · Score: 1

      I'm as confused as you are why everyone is jumping on board the Javascript bandwagon. And not just on the desktop where there's the extra horsepower to run it, but also on very resource limited platforms such as phones. Why not Python? Isn't it easy to learn? Isn't it stable and robust? I'm coming from the Qt world, and Nokia's decision (which Digia is now forced to live with) to make QML/Javascript a requirement for QtQuick was mindbogglingly stupid. I have nothing against QML per se, but the arguments as to why C++ can't be used instead are downright silly.

      But I know the reason why everyone is pushing Javascript: Because it's a web language. Look at the apps you can get for your Droid, the vast majority are little more than hastily ported web pages. Web developers are cheap, C++ developers are expensive. With HTML/QML/Whatever all you need to do to write an app is drag-n-drop some stuff around in an IDE and tie them together with some Javascript snippets. It's Visual Basic all over again!

      --
      Don't blame me, I didn't vote for either of them!
    6. Re:Gnome is officially dead. KDE has won. by strikethree · · Score: 1

      I disagree. GIMP started because there were no free methods of dealing with images, specifically jpegs. GTK is the GIMP Tool Kit... so there were things "lying around" with which to act against a "strong" desktop environment (KDE) that was built on non-free software(QT)... so you are kind of correct that Gnome is a reaction to KDE but I suspect Gnome would have begun at some point anyways since all of the buildings blocks were already being created.

      For myself, I like that they went with C. I am allergic to C++ and KDE is all C++. As you can C, Gnome was inevitable and should not be viewed as having "always been on the wrong track from day 1"... of course their recent ultra-disasterous UI decisions have put them so far on the wrong side of the tracks that I am unsure if they will ever come back to reality. Just wow. The depth of arrogance and stupidity required for their UI decisions are so bad that they could not have been purposefully evil as nobody is that creatively evil.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    7. Re:Gnome is officially dead. KDE has won. by Sigg3.net · · Score: 1

      I hear you, but testing on VMs I've found OpenSUSE to be the only distro making KDE feel native. (And OpenSUSE, for some reason, won't let me play in Wine.)

      Are there any distros/ themes you could recommend? (I'm toying with the idea of going back to Slack where things make sense.)

    8. Re:Gnome is officially dead. KDE has won. by ibsteve2u · · Score: 1

      It's Visual Basic all over again!

      Yes, I rolled on the floor laughing when I read that...if you really want to destroy the utility/flexibility of Linux/Gnome, call some key part of it "Visual Basic" and before you know it, the language snobs will .NET it up...errrh, make it "better".

      --
      Orwell: "In a Time of Universal Deceit, telling the Truth is a Revolutionary Act"
  20. Depends on how its implemented by stewsters · · Score: 1

    So, do we at least get to use jQuery to select UI elements? it would be cool to do a
    $(".buttons").each{ //do something}
    Libraries like that are as essential as collections are for Java.

  21. Elegant? by Tridus · · Score: 4, Insightful

    Javascript is about as elegant as an oil tanker. Considerable effort has gone into tools and libraries to make working in it suck less, but it's hard to wipe away the problems inherent in the design.

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    1. Re:Elegant? by IICV · · Score: 0

      You can say the exact same thing about C. If we sit around waiting for the perfect language, it's going to be a looooong wait.

      I would argue, though, that Javascript is significantly better suited to UI work than C is, much like C is better suited to systems work.

      It's flexible so you don't have to write a bunch of code to encapsulate a data structure that only exists in one place in the UI, and powerful enough that you can easily write behavior-driven components.

    2. Re:Elegant? by Nethemas+the+Great · · Score: 1

      There are plenty of 4th generation languages that are highly capable of the job, and do so in an elegant, and more importantly maintainable way. JavaScript is a monkey's language born from the intentions of enabling lay-users. A noble goal but detrimental to professional development work.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    3. Re:Elegant? by Anonymous Coward · · Score: 0

      Javascript blows shit. Prototype based languages do in general. If they wanted to use something sane, they'd go with python. But this is GNOME we're talking about. They have to continually try to make it a shittier experience to use or people might not switch to KDE.

    4. Re:Elegant? by rs79 · · Score: 1

      Most of the world disagrees with you. I disagree with you and am of the opinion you haven't surveyed the landscape properly.

      --
      Need Mercedes parts ?
    5. Re:Elegant? by davydagger · · Score: 1

      what is a better compiled language though?

      specificly for linux or any other *NIX and UNIX variant./

    6. Re:Elegant? by the+eric+conspiracy · · Score: 1

      I've had occasion to work on projects that included some very experienced and talented Javascript programmers.

      I'm not impressed by the language at all.

    7. Re:Elegant? by rs79 · · Score: 1

      That says more about the people you work with than the language.

      I've seen Ferarri's in rough shape too. Doesn't mean they're not fast.

      --
      Need Mercedes parts ?
    8. Re:Elegant? by rs79 · · Score: 1

      You are aware Google's V8 interpreter compiles, right? That's the basis of node.js.

      --
      Need Mercedes parts ?
    9. Re:Elegant? by gl4ss · · Score: 1

      we all know they should just have gone with qt but that would make the whole gnome effort totally pointless.

      anyhow, javascript is severely lacking until they hack in a threading model that's implemented on several implementations...

      --
      world was created 5 seconds before this post as it is.
    10. Re:Elegant? by Anonymous Coward · · Score: 0

      Most of the world aren't competent, professional, programmers.

      I'm glad we got that one out the way.

  22. What then of Vala? by Anonymous Coward · · Score: 0

    What does this mean for the future of Vala? It does not sound like there is one...

  23. They should have gone with Python by elucido · · Score: 1, Insightful

    Python is a language which makes app writing very easy. It's very easy to write, read, debug. It's also very fast when used right or modified.

    This decision in my opinion is one of the boneheaded decisions which will be Gnomes final nail on the coffin. They had a chance to rule the Linux desktop with Ubuntu and since Gnome 3.0 have threw it all away. Everything that made Gnome great with the 2x series seems to have been lost at 3x and their release schedule is so slow that we are probably going to be stuck on 3x for 10 years. Goodbye Gnome and welcome back KDE.

    1. Re:They should have gone with Python by squiggleslash · · Score: 4, Insightful

      If only they'd picked ${my favorite language} instead of ${language I don't like} - all of Slashdot.

      --
      You are not alone. This is not normal. None of this is normal.
    2. Re:They should have gone with Python by Dcnjoe60 · · Score: 5, Informative

      Python is a language which makes app writing very easy. It's very easy to write, read, debug. It's also very fast when used right or modified.

      This decision in my opinion is one of the boneheaded decisions which will be Gnomes final nail on the coffin. They had a chance to rule the Linux desktop with Ubuntu and since Gnome 3.0 have threw it all away. Everything that made Gnome great with the 2x series seems to have been lost at 3x and their release schedule is so slow that we are probably going to be stuck on 3x for 10 years. Goodbye Gnome and welcome back KDE.

      You are welcome to your opinion, but since gnome-shell is written in JS and most new developers want to work on things that tie into gnome-shell, it seems to make a lot of sense to steer them to JS. If you took the time to actually read what the gnome developers are putting forward, you would find that they are officially recommending JS for new developers who are looking how to quickly become productive in developing for gnome. They are still fully supporting c (libraries still are in c) python, vala and any other language that has bindings to the gnome libraries.

      Obviously, if you are a C programmer, you will probably continue to program in C, even in gnome. That is, unless you want to write extensions for gnome-shell, in which case, you will program in JS as that is the language gnome-shell is written in. The same is true for C++, python or any other language.

      Once people get past the knee-jerk reaction to the work "javascript" and look at what gnome developers are proposing, it makes a lot of sense. Basically, they realize the entry bar to developing in gnome is quite high, so since so much of gnome already uses JS they are going to make tutorials for beginning developers on how to use JS to develop for gnome and recommend new developers use JS to develop for gnome. Experienced developers, or any developer for that matter, are still free to use any language they want.

    3. Re:They should have gone with Python by jedidiah · · Score: 1

      > Obviously, if you are a C programmer, you will probably continue to program in C

      Sure. That certainly explains why he's advocating for PYTHON.

      Python would not be my first choice but I can at least understand why it might be chosen. Javascript is just another big fat WTF like everything else associated with Gnome3.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    4. Re:They should have gone with Python by rs79 · · Score: 0, Troll

      I'm one of the first C programmers and I've switched to js and node.js. it's better and faster than C.

      If you don't know why that is true, instantly, you have a bit of reading to do.

      --
      Need Mercedes parts ?
    5. Re:They should have gone with Python by Anonymous Coward · · Score: 0

      Like you, I am a Python fan. But I don't think the decision is quite as cut and dried as you are saying.

      These days, JavaScript is sort of like Python with curly braces, and with a bunch of weird gotchas you need to avoid. If you use some of the cool JavaScript libraries, and you don't mess around with some of the weirder parts of the language, it is very much like working in Python.

      Some people really hate the "significant whitespace" feature in Python. For people who would use Python other than that, JavaScript is not a bad choice, and learning it means you also know how to write client-side stuff for the web, and more importantly you also know how to write desktop extensions for GNOME 3.x.

    6. Re:They should have gone with Python by Bill_the_Engineer · · Score: 2

      I'm one of the first C programmers and I've switched to js and node.js. it's better and faster than C.

      What is your definition of fast?

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    7. Re:They should have gone with Python by lattyware · · Score: 1

      Really? JavaScript has too many fatal flaws, as much as libraries try to hide them, even with something like CoffeeScript patching the holes, it's still missing a ton of stuff that makes Python so powerful and effective.

      --
      -- Lattyware (www.lattyware.co.uk)
    8. Re:They should have gone with Python by lattyware · · Score: 2

      it's better and faster than C

      That's such a non-statement. Better in what way? Faster in what sense? In what situations?

      --
      -- Lattyware (www.lattyware.co.uk)
    9. Re:They should have gone with Python by BitZtream · · Score: 3, Interesting

      I'm one of the first C programmers and I've switched to js and node.js. it's better and faster than C.

      Then you're doing it wrong. And if you had half as much experience as you claim to have in this and your other post, you would understand that.

      Just because you've written some C, doesn't mean you know what you're doing. I've worked with plenty of 'programmers' who have been 'doing it all their life' or better yet, 'longer than you've been alive' (refering to me) and those statements universally come from people who suck and are too stupid to realize it.

      You go on to further my point about you not really knowing what you're talking about when in other posts you talk about the x86 emulator written JavaScript as if thats supposed to be something to show how awesome it is. When you make that awesome emulator there out run my copy of QEMU without kmod, then perhaps I'll give you a listen, but you've got to be absolutely retarded to actually think JavaScript as a language has a technical reason for it to be faster than compiled C in reality, you being unable to write quality C withstanding.

      Yes, decent Javascript can out run really really shitty C, but only if you stack the deck so that C doesn't have a chance first. Just because you've seen a porn, doesn't mean you know how to be a parent.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    10. Re:They should have gone with Python by tristes_tigres · · Score: 1

      Javascript better than C for microcontroller design? Faster than C for matrix computations? Your unqualified " it's better and faster than C" is just plain retarded, and I don't care who you are, even if you fetched coffee for Dennis Ritchie himself.

    11. Re:They should have gone with Python by ArcadeNut · · Score: 1

      Please define:

      Better
      Faster

      As they have completely different meanings depending on context and what goals you have as a developer.

      --
      Visit the Arcade Restoration Workshop @ http://www.arcaderestoration.com
    12. Re:They should have gone with Python by cheesybagel · · Score: 1

      Python is slow and does not come bundled with a high speed recent VM. That is one issue I can think of.

    13. Re:They should have gone with Python by eric2hill · · Score: 1

      Just because you've seen a porn, doesn't mean you know how to be a parent.

      That's brilliant.

      The whole debate over who's language is better is really a moot issue. Javascript can be coded faster than C in many cases because of its' relaxed syntax and foundation primitives. C winds up running faster (all things being equal) in most cases, with a few exceptions where the Javascript RT can optimize better. In the end, you just have to use the best tool for the job.

      --
      LOAD "SIG",8,1
      LOADING...
      READY.
      RUN
    14. Re:They should have gone with Python by cheesybagel · · Score: 1

      For large matrix computations you are better off using OpenCL. Curiously there is a WebCL extension bundled in a lot of browsers today as well.

    15. Re:They should have gone with Python by tristes_tigres · · Score: 1

      > For large matrix computations you are better off using OpenCL. Sorry, but you don't know what you're talking about.

    16. Re:They should have gone with Python by UnknownSoldier · · Score: 1

      ALL programming languages suck in some ways. (Same with every text editor.)

      The pragmatic engineer knows what the tradeoffs are, understands both the strengths and weaknesses, and picks the right tool for the job.

    17. Re:They should have gone with Python by rs79 · · Score: 3, Interesting

      Well, the first metric I saw when when a web server written in node was faster than Apache.

      I know there's a lot of variables there, but still, when an interpreted language beats C for something like this, that's impressive.

      TO be sure, you can do the kind of I/O js does in C, but it's a real pain and usually platform dependant in some way, even the difference between linux and bsd can start the ifdefs popping up, but js brings asynchronous I/O to the 10 GOTO 10 crowd. That, and the fact the js x86 emulator not only works but runs linux under which you can edit, compile a real program no slower than unix used to be on an 11/45 and you're doing this in a browser tab.

      That's the metric I use for me to consider it fast. Obviously this is a contentious and complex topic, but as a rough approximation, I think it's fast.

      Or at least it CAN be. The loops FB makes it jump through are insane and they manage to kill any js interpreter they throw at it and even the mighty V8 is now starting to strain so something will have to change there. But if they knew what they were doing it'd be as slick as it was performance wise 3 years ago, this isn't the fault of js, just bad (or no) performance profiling and tuning in Palo Alto.

      So, while this may not mean any code you write will be fast, if you're used to real-time programming you'll love the language and the stuff you can do now with css3/html5 (gradients, css-masks) may not have the underpinnings of the next Pixar like NeXt did, there's still enough there to, say, keep the molbio crowd happy for the next decade with very fast real time renderings of molecules they can play with to cite one example.

      I agree the success of is tied to the web, but so what, that's like saying the success of C was only because of Unix.

      --
      Need Mercedes parts ?
    18. Re:They should have gone with Python by bondsbw · · Score: 1

      If only they'd picked <%= my_favorite_language %> instead of <%= language_I_dont_like %> - all of Slashdot.

      FTFY.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    19. Re:They should have gone with Python by squiggleslash · · Score: 1

      As long as it's not " <?=$my_favorite_language?> instead of <?=$language_i_dont_like?> "...

      --
      You are not alone. This is not normal. None of this is normal.
    20. Re:They should have gone with Python by Anonymous Coward · · Score: 1

      Wake me up when your server is faster than nginx, or has half of Apache's features.

      Wake me up when javascript is even listed on the alioth language shootout. Wake me up when js does multi core. Talk to me about scaling. Talk to me about stability.

      Node is good when you have a short event loop. It happens that generating HTML is not a hard problem in most cases and so that works out. You're looking at a tiny subset of computing problems and trying to apply them to everything.

      The real answer is that the only thing that beats C for speed is raw assembly. I'm sure that you think your hammer is wonderful. Let's not assume that it's appropriate to use as a sander or band saw.

      P.S. This idea that "everything is a nail" is exactly why people say "Javascript considered harmful."

    21. Re:They should have gone with Python by Clarious · · Score: 1

      I concur, now if only they improve the document for developing using JS with gnome-shell a bit more...

    22. Re:They should have gone with Python by rs79 · · Score: 1

      I was going to respond to this, but I can't really figure out what point you're making other than I haven't done what I actually did and that's obviously false. Let me ask you this, have you use both extensively?

      --
      Need Mercedes parts ?
    23. Re:They should have gone with Python by rs79 · · Score: 1

      Edge case. FORTRAN is better than C for matrix multiplications. I'm not sure I'd want to code Nastran in any other language.

      Of course you can find things where you really want to use the shorthand-for-assembly that C is, but you pretty much have to look at things like bitslice processors to do it. For the run of the mill microcontrollers two decades past the 8051, then sure, I'd use node.js in them in a heartbeat. What a pleasure that would be.

      --
      Need Mercedes parts ?
    24. Re:They should have gone with Python by rs79 · · Score: 1

      Easier to write, and test. A richer language that lets you do more per line.

      Non-blocking I/O by default. To be sure you can do this in C, but it's a pain and you don't even have to think about it in js.

      --
      Need Mercedes parts ?
    25. Re:They should have gone with Python by cheesybagel · · Score: 1

      I did not say it was easy to program in OpenCL. It is kind of like programming in C with vector types built in. You can easily make a matrix multiplication library in OpenCL which would have pretty high performance and run across a full spectrum of platforms from CPUs to GPUs or even Cell and FPGAs.

    26. Re:They should have gone with Python by Bill_the_Engineer · · Score: 1

      Well, the first metric I saw when when a web server written in node was faster than Apache.

      So you are comparing a full fledge web server with a lot of functionality to something not quite so all encompassing as node.js. I don't think this is an accurate test.

      TO be sure, you can do the kind of I/O js does in C, but it's a real pain and usually platform dependant in some way, even the difference between linux and bsd can start the ifdefs popping up, but js brings asynchronous I/O to the 10 GOTO 10 crowd. That, and the fact the js x86 emulator not only works but runs linux under which you can edit, compile a real program no slower than unix used to be on an 11/45 and you're doing this in a browser tab.

      Being able to run an emulator is a metric for function completeness not speed.

      So basically you like JavaScript and there is no harm in that. You like that it is powerful because of a neat project that emulates an x86 with caveats. Of course with the power of CPU these days we can probably emulate an x86 with pretty much any interpreted language. As for real-time programming, I don't see anything that makes JS deterministic.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    27. Re:They should have gone with Python by shutdown+-p+now · · Score: 1

      Available choices are not limited to C and JS. There are plenty of languages that are positioned similarly to JS (dynamic typing, runtime flexibility etc), but are much better designed.

      If you want an analogy, it's not about choosing between a hammer and a screwdriver. It's about choosing between a straight screwdriver and a bent, misshapen one.

    28. Re:They should have gone with Python by rs79 · · Score: 1

      I'm not seeing anything I can objectively rebut here, just your opinion. You don't like it. Ok.

      Meanwhile the world moves to js.

      --
      Need Mercedes parts ?
    29. Re:They should have gone with Python by rs79 · · Score: 1

      Then you're doing it wrong. And if you had half as much experience as you claim to have in this and your other post, you would understand that.

      Says you. While your opinion is interesting you haven't proved or disproved the value of anything here, just offered your opinion.
      There's a nonzero chance I've done more than you think.

      You go on to further my point about you not really knowing what you're talking about when in other posts you talk about the x86 emulator written JavaScript as if thats supposed to be something to show how awesome it is. When you make that awesome emulator there out run my copy of QEMU without kmod, then perhaps I'll give you a listen, but you've got to be absolutely retarded to actually think JavaScript as a language has a technical reason for it to be faster than compiled C in reality, you being unable to write quality C withstanding.

      I've written emulators and computer languages and interpreters. To be able to edit and compile and run a program in linux, running under emulation in a browser window in js it quite a piece of work. If you have never done something like this perhaps you don't know exactly what this implies.

      But, i'll bite, show me the other language's implementation of exactly this. But there isn't one, is there? Why do you suppose that is?
      Do you really want to run linux under Perl? Or python? Ok, cool, make it so then I'll tell you how fast is is compared to the original unix on an 11/45. If you haven't done this how can you comments on it. It's like saying "oh apollo, pfft, it's just going to the moon" and trivializes quite an accomplishment, one that doesn't occur anywhere else and you can't do. It's just your opinion, and it's unsubstantiated.

      Yes, decent Javascript can out run really really shitty C, but only if you stack the deck so that C doesn't have a chance first

      I don't think you really get this. because while the above is true it's got nothing to do with what I'm talking about. Consider the impact on a multiuser system where programs are written in one of two languages, one had blocking i/o by default, one doesn't.

      Now do you get it?

      --
      Need Mercedes parts ?
  24. For a specific platform, developers prefer native. by goruka · · Score: 1

    You can write desktop and mobile in plenty of languages already, yet most people still uses whathever is native for the platform. Be it ObjC for iOS, Java for Android, or C/C++ for desktop.
    The reason? Maybe JS is easier to write for unexperimenced developers (do you really want that anyway? are they that desperate for more developers?), but truth is, when you have a layer of abstraction there is always some functionality missing and the only way to access it is via bindings to native anyway. When you write native, you know you have everything you can possibly do on the device available to you. Simple as that.

  25. Python or Ruby? by RedHackTea · · Score: 1, Insightful

    I know choosing a language is usually subjective, but most Linux fanboys like Python (or even Ruby or PHP). Why not these? IMO, these are better languages and more suited for Apps and scripting. JavaScript's either original intention or main intention from history has been for client-side Web Browser scripting. Most tutorials, questions, and hacks will be for the Web Browser when searching for JavaScript in a search engine. I really don't get why people are pushing JS. Spend a day each coding in Ruby, Python, and then JavaScript for non-web Apps. I bet most people won't pick JS.

    --
    The G
    1. Re:Python or Ruby? by Anonymous Coward · · Score: 0

      There could have been worse choices though - Actionscript or Visual Basic

    2. Re:Python or Ruby? by fahrbot-bot · · Score: 1

      ... but most Linux fanboys like Python (or even Ruby or PHP). Why not these?

      Because fanboys eventually grow up to be fanmen and put aside such childish toys. :-)
      [ Note: It's a *joke* fanboys. ]

      --
      It must have been something you assimilated. . . .
  26. Use the Farce, Gnome... by Remus+Shepherd · · Score: 4, Funny

    JavaScript is the programming language of a Gnome programmer; an elegant language for a more civilized age.

    But hokey nonstandard libraries and ancient browser syntaxes are no match for a good object class at your side, kid.

    --
    Genocide Man -- Life is funny. Death is funnier. Mass murder can be hilarious.
    1. Re:Use the Farce, Gnome... by Anonymous Coward · · Score: 0

      From what you're saying, I know how this goes:

      1. Grab ancient piece of technology.
      2. Fight the evil empire
      3. ???
      4. Profit!

      Wow, a happy ending!

  27. Re:Let me be the first to say by benjfowler · · Score: 1

    Our GNAA troll found a Spanish phrasebook...

  28. This restores my confidence in the GNOME project by Anonymous Coward · · Score: 0

    Linus Torvalds posted that.

    Oh it isn't April 1 yet? Damn.

  29. Lead or Follow? Gnome chooses Follow. by xanthos · · Score: 1

    From the article: "Gnome, the graphical desktop environment for Linux, may not be as influential as it once was."
    Add to it, "use of JavaScript in WinRT, Chrome Apps, and FirefoxOS apps" and you probably get a lot of the reason for the decision.

    Pity they didn't use the Hackfest to design something innovative to energize their base and make working with Gnome cutting edge. Instead it appears that they settling into comfortable middle age.

    --
    Average Intelligence is a Scary Thing
  30. Prejudice? Bull by Anonymous Coward · · Score: 0

    Javascript programmer of seven years here. It's an incomplete language.

  31. FirefoxOS? by HRbnjR · · Score: 1

    Why bother with Gnome for your apps, when you can target what might become a broader standard? http://www.mozilla.org/en-US/firefoxos/

    1. Re:FirefoxOS? by Anonymous Coward · · Score: 0

      Yeah, a "broad standard" with less marketshare than RIM.

    2. Re:FirefoxOS? by CanHasDIY · · Score: 1

      Why bother with Gnome for your apps,

      Because Gnome exists, and has been/is used by lots and lots of people.

      when you can target what might become a broader standard?

      You just answered your own question.

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
  32. JS will be what ASM is now? by AaronLS · · Score: 1

    I can see there reasoning for selecting javascript. But I would never call JS elegant. It lacks so many basic language constructs, that you everyone has to be intimately familiar with a mess of boiler plate code to make it object oriented or make your code easily reusable.

    It's somewhat like programming in ASM because that's what every processor requires, even though it is tedious and redundant.

    Similarly, with the pervasiveness of javascript, we will probably so TypeScript or something similar become the defacto eventually, to hide a lot of the boiler plate code.

    1. Re:JS will be what ASM is now? by rs79 · · Score: 2

      " But I would never call JS elegant. "

      When you do, then you can grab the stone from my hand, grasshopper.

      --
      Need Mercedes parts ?
    2. Re:JS will be what ASM is now? by xdor · · Score: 1
      Yes, JavaScript is the ASM of the web: and I actually quite like it.

      The elegance comes when you implement MVC to control your app, so maybe what's inspirational about JavaScript is that you may define this construct and all of its supporting elements even though the language never had them in the first place.

      But you're right that everyone has to intimately familiar with what you are doing: if someone looks at OO JavaScript for the first time it might boil their brains a little.

      Dealing with crazy PHB expectations I delivered a (beautiful) MVC JavaScript solution that worked beautifully. But the lead developer flipped out when he saw the code and got the project manager to end my contract in a week. So not everyone gets it right away.

  33. Re:Are apps in WinRT, ChromeOS, and "FirefoxOS" go by Anonymous Coward · · Score: 1

    gmail and google docs seem to have a bit of a following...

  34. Untyped Languages Are Ill-Suited for This by Maltheus · · Score: 3, Interesting

    Javascript is fine, once you divorce it from all of the browser peculiarities, but it's an untyped language and untyped languages suck for refactoring. They should never be used for complex apps requiring maintainability. And yes, that goes for python too.

    Yeah, I know they said "apps," but even most apps quickly grow beyond the comfort zone of a script.

    1. Re:Untyped Languages Are Ill-Suited for This by lattyware · · Score: 3, Interesting

      Comparing Python to Javascript and saying they are both the same is just wrong - for one, Python is strongly typed, but dynamic, not weakly typed like JavaScript.

      While I agree static typing makes maintaining complex applications easier, Python does a lot to reduce the issue. The language and culture are built around code being readable and maintainable, it's strongly typed, it follows the idea that nothing should ever fail silently, which greatly reduces the chance of issues cropping up. This makes Python completely usable for a wide range of applications. Yes, in some cases, a statically typed language will be easier to manage, but that's not the case in 'anything beyond the comfort zone of a script'.

      JavaScript, on the other hand, is full of awkward stuff that makes it hard to program in. Things fail and return random values, stuff like that. Add to that a poor syntax for readability and JavaScript is pretty hard to maintain.

      --
      -- Lattyware (www.lattyware.co.uk)
    2. Re:Untyped Languages Are Ill-Suited for This by rs79 · · Score: 1

      They said the same thing about Assembler, C, Perl and PhP.

      If you have a clear mind and know what you're dong, js is a godsend. No computer language will help the lazy though.

      Ok, maybe BASIC will, but you get the point.

      --
      Need Mercedes parts ?
    3. Re:Untyped Languages Are Ill-Suited for This by Anonymous Coward · · Score: 0

      JavaScript, on the other hand, is full of awkward stuff that makes it hard to program in. Things fail and return random values, stuff like that. Add to that a poor syntax for readability and JavaScript is pretty hard to maintain.

      Never had that problem myself. And poor syntax for readability? At least it doesn't change the meaning of something if I hit tab and my IDE doesn't convert that to spaces.

      My experience of Python programmers is that most think they're better than they actually are. They can quickly write programs to process small amounts of data, but as soon as their software is hit hard, things get ugly quickly, largely because they'll do things like read multigigabyte files into memory, or totally screw up anything whose underlying method requires hashing because they don't grok it.

      I sometimes find myself comparing it to PHP. It's a little like comparing a 1950s Cadillac to a Ford Escort of similar vintage. The owner of the former will look down and laugh at the owner of the latter, but deep down, both cars are rusted out pieces of crap that shouldn't be allowed anywhere near a road.

    4. Re:Untyped Languages Are Ill-Suited for This by lattyware · · Score: 4, Informative

      It's mainly a product of the weak typing - doing [] + {} gives you an object, while {} + [] gives you 0. That's not useful when you have a problem you are trying to debug. Python follows the idea that things should fail loudly so that bugs are made clear. The indentation thing is overstated - text editors are not that terrible, and if they are, use a different one. It makes the code far nicer to work with and read.

      Firstly, don't blame the language for the programmer - anyone can be a rubbish programmer in any language. As to your examples, I find it funny you manage to pick an incredibly hard thing to do in Python - if you open a file and iterate over it, the default method (without any special work from the programmer) is to do so lazily, so there is not a massive file read into memory. The whole Python core library is built around the iterator interface, which means most data is processed lazily without having to even think about it.

      As to your last comment, Really? PHP has a host of problems - mainly due to the way they update the language without removing old stuff, and add features haphazardly. This leaves you with twenty different ways to access a database, etc..., etc... Python, on the other hand, has specifically avoided this. 3.x has gone back and fixed core language problems where they existed, and made the experience much more consistent. This is a sign the language is being curated and nurtured, not hacked on like JavaScript or PHP.

      --
      -- Lattyware (www.lattyware.co.uk)
    5. Re:Untyped Languages Are Ill-Suited for This by ChunderDownunder · · Score: 1

      Haskell has bindings for Gtk+ if you want a statically typed language without the bloat of a VM (Java/c#).

    6. Re:Untyped Languages Are Ill-Suited for This by pongo000 · · Score: 1

      As to your last comment, Really? PHP has a host of problems - mainly due to the way they update the language without removing old stuff, and add features haphazardly. This leaves you with twenty different ways to access a database, etc..., etc... Python, on the other hand, has specifically avoided this. 3.x has gone back and fixed core language problems where they existed, and made the experience much more consistent. This is a sign the language is being curated and nurtured, not hacked on like JavaScript or PHP.

      If anything, Python is just the opposite: Every upgrade of Python to a new version will invariably break things that once seemed to work. Maybe this has changed in the last few years (I will admit to getting so turned off by having Python apps break after a version update that I tossed Python aside several years ago), but I really can't see how an organization suddenly fixes the inability to remain backwards-compatible with previous releases.

    7. Re:Untyped Languages Are Ill-Suited for This by lattyware · · Score: 1

      They have broken backwards compatibility once, when they released 3.x.

      --
      -- Lattyware (www.lattyware.co.uk)
    8. Re:Untyped Languages Are Ill-Suited for This by Anonymous Coward · · Score: 0

      Try as I might, I can't agree with the "the indentation thing is overrated" remark. I'm what you might describe as a professional Python developer. I've been doing python more-or-less exclusively for nigh on to five years now. For the 20+ years before that I've done C, FORTRAN, LISP, Tcl, and a few other languages so I'm not exactly wet behind the ears. I can categorically state the indentation thing is the thing that I most hate about python. As for the "get a better editor" comment, I suppose that's possible. Maybe. I've been using emacs since the 80's, however, so I'm loathe to agree there's something better, but let's not go there.

      Yes, I'm quite productive in python in spite of the whitespace thing, but it's still an annoyance that rears its ugly head once in a while. . It's still an awesome language, but I'm tellin' ya, the whitespace thing was a stupid idea in my opinion. Several years have passed and it still annoys me.

    9. Re:Untyped Languages Are Ill-Suited for This by guacamole · · Score: 1

      Indeed. This is why RMS chose Lisp to write emacs.

    10. Re:Untyped Languages Are Ill-Suited for This by lattyware · · Score: 1

      I've just... never had a problem with it. It seems so natural to me, and I've never had any issues at all. I don't get why anyone would have a problem with it. I can't believe emacs is doing anything so terrible.

      --
      -- Lattyware (www.lattyware.co.uk)
  35. Hmmm by Anonymous Coward · · Score: 0

    IMO, Gnome's reliance on C as a primary language is the main reason why the applications have been very poor, even compared with KDE. Few people have patience to develop GUI apps in C. Javascript seems like another extreme, however.

    Perhaps all this is irrelevant anyway. Majority of apps I use on Linux (Gnome) is written in Java and the rest is migrating to the Web. I could easily throw away Gnome and use something like Fvwm instead. So, who cares, it's just a window manager and a crappy file manager which I don't use anyway. A few horribly crashy applets on top of it (the result of having been written in C no doubt). Who cares.

  36. Great for portability by detain · · Score: 1

    Even if there are some gnome specific JS bindings, your basic code logic and flow should be easily portable to other new platforms all supporting JS as well. There are a ton of applications out there now, and while JS may have been supported before; this announcement will hopefully get some existing developers for other platforms to port their JS apps to gnome. Also anxious to see how jQuery will tie itself into this.

    --
    http://interserver.net/
  37. why not guile? by larry+bagina · · Score: 2

    GNOME is an official GNU project (damned if I know why... GNUStep was there first). Guile is an official GNU Project. So why not Guile?

    Riddle me this -- what's the official GNU javascript interpreter? Bueller? Bueller?

    Exactly.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

    1. Re:why not guile? by Chris+Mattern · · Score: 4, Funny

      So why not Guile?

      Personally, I prefer Chun Li.

    2. Re:why not guile? by squiggleslash · · Score: 2

      Guile is an official GNU Project. So why not Guile?

      Because nobody has ever used it, and hardly anyone has ever heard of it.

      Javascript is the most ubiquitous scripting language on the planet. There are implementations for virtually every platform. It's fast, modern, and it uses curly braces. And virtually anyone who's ever done any programming outside of Excel macrowriting has encountered it. It's the number one language used for cross platform mobile apps. It's a first class language for Windows 8 development.

      While today's story is full of whiners who think that their favorite language should have been picked, the fact is that on every objective level, by every objective criteria, the GNOME people could not have made a more sane and level headed decision.

      --
      You are not alone. This is not normal. None of this is normal.
    3. Re:why not guile? by Anonymous Coward · · Score: 0

      this.

      lol http://www.gnu.org/software/librejs/

    4. Re:why not guile? by Anonymous Coward · · Score: 0

      Yeah, and butt fucking is the number one choice of cross-gender sex.

    5. Re:why not guile? by MetalOne · · Score: 1

      Javascript is sand-boxed. Great for a browser, but on the desktop, I might need to make a system call. I don't see how this can work at all, unless they fork Javascript.

    6. Re:why not guile? by guacamole · · Score: 1

      This is a good question. I think the issue is that this has already been tried. I believe that Scheme was touted as a first class citizen among Gnome language bindings. Very few people took note. I mean, Guile seems mildly popular as an extension language, but it hasn't been a hit with Gnome developers for some reason. Sadly.

      Lo and behold, I am actually impressed with Guile v2. Unlike Guile 1, v2 runs on top of a virtual machine. Wicked fast. Faster than python3 for some stupid benchmarks I tried.

    7. Re:why not guile? by Anonymous Coward · · Score: 0

      Yeah, kind of. GNOME would need to write libraries/APIs to interact with GNOME and the rest of the world. All javascript interpreters provide the capability to add new functions/objects. Think about it -- the DOM isn't part of the javascript spec, it's a browser API imported into the javascript runtime.

  38. Oil tanker? by Anonymous Coward · · Score: 1

    I think you meant "dinghy". COBOL is about as elegant as the oil tanker. Javascript is about as elegant as a dinghy.

    1. Re:Oil tanker? by Anonymous Coward · · Score: 0

      And some would say that Python is the bastard child of COBOL and Javascript, so where does that leave Python?

    2. Re:Oil tanker? by RoccamOccam · · Score: 1

      Better off than if it truly were the bastard child of COBOL and Javascript, which it most certainly is not.

    3. Re:Oil tanker? by Anonymous Coward · · Score: 0

      You're right, it's more like COBOL meets PHP.

  39. Well it's better than mono by DrXym · · Score: 3, Insightful

    I can't say I like Javascript as a language but at least its ubquitous and more modern, lightweight and flexible than some other candidates. It's also far better than something heavy like Java or god forbid Mono which bring a lot of baggage in terms of runtime size and potential lawsuits.

    1. Re:Well it's better than mono by Xtifr · · Score: 1

      Yes, "at least it's not mono" was exactly my reaction! For a while there, it really looked like installing the Mono VM was going to be mandatory for Gnome users. Fortunately, Miguel went on to work on other things, and slightly more sensible heads have prevailed.

      At home, I use a personalized selection of apps that doesn't include any "desktop environment", but at work, I tend to like Gnome for its relative straightforwardness when it comes to interacting with a complex, heterogenous network.

    2. Re:Well it's better than mono by DrXym · · Score: 1

      I like GNOME 3 and I think it gets far more criticism than it deserves. That said, there is a perception that a streak of elitism / arrogance runs through the project that they know better than anybody else and sometimes I think they could do well to listen to users a bit more.

    3. Re:Well it's better than mono by Anonymous Coward · · Score: 0

      Java is a platform. The actual language itself is fairly small, it's just the 18 years of framework APIs that makes it heavy.
      Javascript is a language that is commonly attached to a web browser platform. Take away the browser, and you have a small language.

      Both require a runtime environment - Java's is considerably faster.

      So you can take Java, strip the non-essential Java frameworks away, put in the Gnome APIs, and have an entirely different platform. Call it Gava or something.

    4. Re:Well it's better than mono by DrXym · · Score: 1
      Even if you strip away the non essential frameworks (i.e. the javax namespace), it's still a sizable chunk of code and pretty complex. And regardless of the OpenJDK being GPL or not, I bet the fear / threat of litigation ranks highly in the consideration of people thinking of using it in other open source projects.

      JS would be a fairly lightweight, unencumbered library so it makes some sense to adopt it for app development if it were hooked up to some kind of visual development environment a la VB. QT did something similar with QTscript which is JS with extensions hooked up to QTDevelop. I expect the intention of GNOME is to facilitate a simple, visual editor which makes it easy to knock together apps.

      Personally I think JS the language is horrible though. Just as VB was a terrible choice for novice programmers, so too is JS. I think Python would have been a better choice from that regard, but perhaps that too comes with its own baggage that ruled it out.

  40. Gnome Shell huge memory leak *** warning *** by Anonymous Coward · · Score: 0

    Type:

    free -m -s 1

    In gnome-terminal and then start clicking in the activities area of Gnome Shell (or simply open the menus of the disableds accessibilty icon, clock, language switcher, gnome menu etc. Do this wuickly and you see it eat 500mb and more in less than a minute.

    1. Re:Gnome Shell huge memory leak *** warning *** by someones · · Score: 1

      so what? noone uses gnome anymore anyways.

  41. Do not forget about XFCE by houghi · · Score: 4, Interesting

    XFCE is the new Gnome. I hate both KDE and GNOME. Luckily there is XFCE (and LXDE).

    --
    Don't fight for your country, if your country does not fight for you.
    1. Re:Do not forget about XFCE by Sigg3.net · · Score: 1

      Razor-qt trumps both of them on old hardware, but is still in development.

  42. Jeez, Louise... by Chris+Mattern · · Score: 5, Funny

    At this point, I can only envision somebody at the head of Gnome saying, "Dammit, people are still using Gnome! Well, what else can we do to kill this thing?"

    1. Re:Jeez, Louise... by Anonymous Coward · · Score: 0

      That is exactly what I was thinking! In other news ... Gnome makes a final effort to kill itself.

  43. Re:Are apps in WinRT, ChromeOS, and "FirefoxOS" go by uradu · · Score: 1

    Wait, let me check...nope, no relation.

  44. Re:Lead or Follow? Gnome chooses Follow. by GeniusDex · · Score: 1

    Pity they didn't use the Hackfest to design something innovative to energize their base and make working with Gnome cutting edge.

    Like what, vala?

  45. Re:For a specific platform, developers prefer nati by sourcerror · · Score: 1

    Java is not native, even on Android. There's a separate NDK.

    http://developer.android.com/tools/sdk/ndk/index.html

  46. Accessibility, Democracy, Theoretical Purity by nhavar · · Score: 2

    I think that more organizations switching to JavaScript is reflective of what the internet is and the market space that organizations have to live and compete within. While JS isn't a great language, robust, elegant, or [insert your adjective here], what it is is accessible. Anyone can start programming in JS today, with no special tools and little to no knowledge. It means that anyone can participate in the conversation (which is both good and bad). It's like Democracy, everyone can have their say whether or not their opinion is informed or not. Similarly, people who might not have a ton of programming experience or might not know the "right" language can and will be able to take their ideas to market more readily than before. Even if their idea doesn't succeed, it may end up spurring more seasoned programmers to do something similar or improving the idea or even helping newcomers build up their products and abilities. I think this is much more important than the theoretical purity of a language or the right or wrong way to program something. It's about conversations and it's about bringing people into the fold versus excluding them. It's about equality versus the typical snobbishness that can occur as the "elite" developers look down their nose at you because of the choice of languages versus the value of the idea you are attempting to promote.

    --
    "Do not be swept up in the momentum of mediocrity." - anon
  47. Fuck, now I may have to like Unity. by Anonymous Coward · · Score: 0

    ...

  48. I want LISP!!! by Impy+the+Impiuos+Imp · · Score: 0

    What's with the perverse fetish with Java on all these platforms? What freaking difference does it make? Everything runs on a virtual processor of a JRE, I suppose. :(

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  49. Not Surprised by Anonymous Coward · · Score: 0

    after all, these are the same folks that thought GObject was something other than a complete abomination.

    For those that aren't aware, GObject is the Gnome folks idea of how to bolt on object orientated concepts on top of C, without actually making the fundamental changes to the compiler to support such things.

    Leads to crazy shit like having to do manual name mangling and the need to do tons of copy&paste to roughly simulate inheritance.

    That, instead of using one of the two reasonable and sane options for OO in C: C++ or Objective-C

    1. Re:Not Surprised by someones · · Score: 1

      mod parent up!

  50. Good. by sidragon.net · · Score: 1

    JavaScript is an outstanding language. Spend some time building web applications with Node.js and AngularJS, and you will find yourself enjoying it immensely.

    1. Re:Good. by TsuruchiBrian · · Score: 1

      I don't see how developing web apps could ever be enjoyable. I have to write specific code for ie, firefox, chrome, opera, safari, not to mention whatever crazy mobile browsers people have. Not to mention that all have varying levels of support for HTML 5 which is constantly changing. You are almost forced to write ugly code. If I was a web developer I would kill myself.

    2. Re:Good. by tehcyder · · Score: 1

      If I was a web developer I would kill myself.

      The seven figure salary makes the pain bearable, my dear chap.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    3. Re:Good. by TsuruchiBrian · · Score: 1

      I can picture screaming through a cavernous mansion how fucking stupid everything is. Maybe I am just more neurotic than you :)

  51. Citation needed. by sidragon.net · · Score: 1

    How's JavaScript not great, robust, or elegant?

    1. Re:Citation needed. by TsuruchiBrian · · Score: 1

      No block scoping?

    2. Re:Citation needed. by Anonymous Coward · · Score: 0

      Are you joking?

  52. Re:Lead or Follow? Gnome chooses Follow. by dstyle5 · · Score: 1

    Instead it appears that they settling into comfortable middle age.

    Settling into middle age and getting a bunch of unnecessary cosmetic surgery that will leave it a freakish caricature of its former self. How long until it gets a few Windows 8-ish Metroll implants?

  53. They've gone completely around the bend. by John+Hasler · · Score: 1

    Mad as hatters, they are.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  54. Proves it! by Anonymous Coward · · Score: 0

    Time to switch to KDE, or dig into the wayback machine and pull out "vtwm" to be able to get any work done without all the insane screen candy.

  55. Re:For a specific platform, developers prefer nati by davydagger · · Score: 1

    after they pissed off most of their fanbase, and app developers, they are looking for new ones.

  56. Stick a fork in it by Culture20 · · Score: 1

    Or make a fork from it. It's done either way.

  57. JavaScript seems to be a good choice for Gnome 3 by Anonymous Coward · · Score: 0

    Yes, they both deserve each other.

  58. script tag has language=, let's use it! by Anonymous Coward · · Score: 0

    Why, when the script tag has a language= attribute, has NO ONE ever implemented a plugin for languages other than javascript? I mean, why even leave the attribute there in HTML5?

    I'd love to see an easy-to-download (or bundled by default) plugin for Python client-side.

  59. Javascript/libraries/bindings by MetalOne · · Score: 1

    The thing I don't understand about using Javascript is the lack of interfaces to libraries. Is there even a 'C' foreign function interface? What if I need access to a database or numerical libraries or FFTs or whatever. I think Node.js is starting to change this a little. I think it has sockets and database access. But how is this functionality provided. I think that until Javascript has some solid method to work with external libraries and perhaps a module system, it just doesn't seem like a good choice.

  60. Hey by Anonymous Coward · · Score: 0

    ..don't be so harsh to the youth. We should be happy they are off drugs and doing pointless JS instead. We C programmers would be taxed even higher if the kids were smashing windows and on rehab programs !

  61. Or by Anonymous Coward · · Score: 0

    Sappeur ! Let me use this opportunity to be the shill for my own programming language. Efficient, real-time, strongly typed, memory safe and no GC whatsoever.

    http://sourceforge.net/projects/sappeurcompiler/

    1. Re:Or by Anonymous Coward · · Score: 0

      Looks terrible.

  62. Can't Be ! by Anonymous Coward · · Score: 0

    You must be confusing that language with Sappeur. THAT is the best language for apps. Can you see the clear logic of all my arguments ?

  63. JavaSCRIPT by Anonymous Coward · · Score: 0

    "... 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."

    Look, it's got "script" in its friggin' name. Mainstream consideration as an incomplete toy language has been sealed forever. You could be both a virtuoso concert violinist and a world-class acrobatic clown capable of giving the most entertaining children's birthday parties on the entire planet, but if you name yourself the "Kiddy Fiddler", it's simply not going to happen.

  64. Brace yourselves, n00bs are coming by Anonymous Coward · · Score: 0

    Basically, this pathetic move will atract thousands of bad programmers and n00bs all around, and the quality of the programs will quickly decrease. C++ shit was not shitty enough, now let's give them JavaScript.

    1. Re:Brace yourselves, n00bs are coming by gl4ss · · Score: 1

      Basically, this pathetic move will atract thousands of bad programmers and n00bs all around, and the quality of the programs will quickly decrease. C++ shit was not shitty enough, now let's give them JavaScript.

      well that's gnome's plan. exactly just that. the plan is to attract noobs and ux researcher code noobs.

      why would a noob want to code for gnome though.. dunno.

      --
      world was created 5 seconds before this post as it is.
  65. Python by Roger+W+Moore · · Score: 1

    You need Python! You'll just fly over all those obstacles...at least until the medicine runs out.

  66. AND THAT is gnome's nail in the coffin for me... by arfonrg · · Score: 1

    +1 to me for not using gnome!

    --
    Your thin skin doesn't make me a troll
  67. NeWS by Dadoo · · Score: 1

    You would think they'd take an example from NeWS. Then again, it's likely that no one currently working on Gnome is old enough to remember it.

    --
    Sit, Ubuntu, sit. Good dog.
  68. Javascript? by hduff · · Score: 1

    Why not Commodore/PET BASIC?

    --
    "I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
    1. Re:Javascript? by Osgeld · · Score: 1

      you can write something useful in PET BASIC

  69. KDE made a joke about this 12 years ago by andreak · · Score: 1

    Remember this?
    http://dot.kde.org/2001/04/01/kdeqt-switching-mozilla-and-javascript-technology

    Kind of cool it's actually happening.

    --
    Andreas

  70. Sweet! by jamessnell · · Score: 1

    As a software developer, I must vote that this is a very very interesting idea. I think there's great potential in this sort of move. Of course, the elegance of the actual implementation will likely make or break it. Javascript is full of potential. Great idea!

  71. Shit GUI, Shit Language by Anonymous Coward · · Score: 0

    It's just the same as when you're doing a webpage. If you actually like things like ads following you up and down the page, or equivalently, rounded edges on windows and exquisitely shaded and rendered progress bars, then you go to where all the other wankers are working.

    Don't worry, the rest of the world will keep a hold on reality.

  72. Turing Machine by Anonymous Coward · · Score: 0

    For those who understand

  73. For pity's sake by Anonymous Coward · · Score: 0

    Oh for pity's sake, will someone just flush this thing already ?

    Just pull the damned chain and walk away.

  74. I don't speak Gnome! by bretzel · · Score: 1

    If social webapps( facebook, yahoo, rss feeds, workpress, etc... ) are very well integrated into the Gnome Desktop and [dbus-like] services with Javascript + webkit-like engines, then Why Not ? Would be just cool! Making me have a look at Gnome this time :-) On the other sides, WebApps that are touching your local private fs-data is VERY dangerous. In fact, I feel the WEB is about to blow in our face - Too much unsecure/security-brakes/bloated defenses that make servers crawling under heavy security-protocoles/CPU load... [ My view on JAVA ( Sorry off-topic but couldn't resist): Example: My wife's employer - a VERY BIG compagny - using SAP ( now with its UI totaly in JAVA !!! ) is sooo sloooooww compared to the previous system! Oh yeah it is real-time DB updates ( cough-cough!! almost .... ) I hate JAVA!! I don't care missing some $$$$ with JAVA!!!! I do not mention JSP with .net-like fucking heavy xml bibles of web configs!!!! WTF is that ? ] Anyway, JavaScript is already doing its way into KDE ( KDE 5 QML in PLASMA and KWIN :-) ) Long live C/C++ !

  75. Pure JS? by Anonymous Coward · · Score: 0

    Why the hell not one of the better variants, like dart, coffeescript, typescript or uniscript?
    All compile down to efficient javascript.

  76. Perl by Anonymous Coward · · Score: 0

    Why not Perl? Every language sucks compared to it.

  77. Greenspun's tenth rule by tepples · · Score: 1

    And by the time you've made your Yet Another Framework, your framework will have poorly reimplemented half of Common Lisp.

  78. Windows Phone 7 and Xbox Live Indie Games by tepples · · Score: 1

    can you name an architecture that doesn't have a C compiler targeting it?

    Windows Phone 7 (based on Silverlight) is one. Xbox Live Indie Games (based on XNA) is another. These platforms can use only verifiably type-safe, Emit-free, P/Invoke-free CIL, which in practice means C#.

  79. Son of God != God by tepples · · Score: 1

    God and Dennis Ritchie

    -1, Redundant

    Just because Dennis Ritchie is the Son of God doesn't make him God.

    </jehovahs-witnesses>

  80. Turning Python generators into coroutines by tepples · · Score: 1

    Yes, Python has generators. Saying Python generators are like modern coroutines is like saying that C has garbage collection. Yes.. sorta of... but not really.

    Could you elaborate on how Python generators are not enough to build an adequate substitute for coroutines?

  81. Running with a mixed metaphor by tepples · · Score: 1
    Anonymous Coward wrote:

    C gives you just enough rope, to shoot yourself in the foot!

    Then perhaps it's a good thing that the little guy with the gun that shoots ropes has no feet.

  82. /clr:safe by tepples · · Score: 1

    Who said anything about safe CIL?

    PCs don't require safe CIL unless the system administrator has changed the policy to require safe CIL. Windows Phone 7 and Xbox Live Indie Games require safe CIL, and there's no way for an end user to change this policy. So if GNOME were using Mono, and you wanted a Windows Phone app and a GNOME app to share any code, you'd have to stick to safe CIL.

    And standard C++ certainly does compile down to full CIL.

    Standard C++ doesn't compile at all when you turn on /clr:safe. The syntax for code that compiles with /clr:safe differs for classes, pointers, references, and arrays.

    1. Re:/clr:safe by shutdown+-p+now · · Score: 1

      PCs don't require safe CIL unless the system administrator has changed the policy to require safe CIL. Windows Phone 7 and Xbox Live Indie Games require safe CIL, and there's no way for an end user to change this policy. So if GNOME were using Mono, and you wanted a Windows Phone app and a GNOME app to share any code, you'd have to stick to safe CIL.

      That's WP7 - WP8 does not have this silliness. And I don't think anyone cares about WP7 at this point.
      XLIG ... well, given the recent news on XNA, I doubt that will remain as is for much longer.

      In any case, Gnome developers probably don't care much about WP7 and XNA portability.

      Standard C++ doesn't compile at all when you turn on /clr:safe.

      I know about C++/CLI (remember the talk we had about using macros to define a common subset that would cross-compile between iOS/Android and WP7)? My point was specifically regarding full CIL - i.e. what you get with /clr:pure. As I recall, the only thing that's unsupported by VC++ there is setjmp/longjmp, and even that they could have done if they really wanted to.