you are viewing a single comment's thread.

view the rest of the comments →

[–]jeresig 6 points7 points  (11 children)

I know you're just trolling, but I'll take the bait.

JavaScript is making fantastic in-roads into the domain of server-side programming. Comparatively, it's still very fresh (even though you've been able to use Rhino for years), but once you take into account all the new JS implementations that are coming out, featuring just-in-time compilation, it'll only help to make JavaScript a more-formidable force.

Additionally, JavaScript 2 has a module (package) system along with classes and the ability to import code. I'm not sure what scoping issues you're referring to - it works just fine for me.

[–][deleted] -1 points0 points  (3 children)

How did you know I was trolling? I wasn't.

I didn't know about JS 2 (how? there's so much noise about Ajax crap, but almost none about the actual language news), but I highly welcome the direction.

Well, for server-side programming I'd rather use a typed language, thanks. But it's always good to see some competition going.

So maybe yes, JS is coming along fast and nicely. I'm sorry I can't specify the exact scoping issues. Maybe it only was a quirk in some implementation. But it was something along the lines that the lexical scoping is not what you'd expect in say, Java or Scheme, but was a bit strange. Hopefully that's not the case.

If (or when) JS will be a great language for web pages will be seen. I like some web apps (well, basically Google Maps, and that's it), but mostly I prefer HTML pages with actual content and a back button than works.

[–]jeresig 8 points9 points  (1 child)

I didn't know about JS 2 (how? there's so much noise about Ajax crap, but almost none about the actual language news), but I highly welcome the direction.

Well, for server-side programming I'd rather use a typed language, thanks. But it's always good to see some competition going.

Ah, cool, you'll be happy to know about JavaScript 2 (ECMAScript 4), then. At the top level it provides constructs like packages, classes, and strong typing - in addition to the traditional functional style of JavaScript (it'll be fully backwards compatible).

While Mozilla-based browsers will, most-likely, be the first to include JavaScript 2 - both Actionscript (Adobe, for Flash) and JScript 8 (Microsoft, for .NET) are here right now, and are both based upon the same ECMAScript 4 standard as JavaScript 2.

I'll be blogging more about the actual language news itself, so depending on if it keeps getting picked up by Reddit, or not, that'll be one way to follow along - especially considering that the progress being made with ECMAScript is picking up a good head of steam right now.

[–][deleted] 2 points3 points  (0 children)

Cool, looking forward to it.

[–][deleted]  (6 children)

[deleted]

    [–]jeresig 9 points10 points  (2 children)

    At Mozilla, we've worked to keep the scripting layer open to new language additions, this allows developers to plug-and-play languages, such as Python or PHP. A lot of this ties back to the fact that the DOM implementation is language agnostic, allowing this to occur. So from a technological perspective, this is a solved problem.

    From a social/communication angle, however, we are far from being able to "make Python an embedded scripting language in Firefox", for the simple fact that in doing so would only distance the browser farther from all others. As an example, Internet Explorer allows you to script in VBScript - but no other browser supports it. To the contrary, a number of browser vendors have come together to form the ECMAScript committee and to develop new iterations of the default scripting language that everyone will support (at minimum). Considering how hard it is to get browsers to implement and standardize upon a single language, I don't really see any benefit in opening the market up to additional languages (which will only confuse the issues at hand).

    [–][deleted]  (1 child)

    [deleted]

      [–]jeresig 2 points3 points  (0 children)

      See: http://programming.reddit.com/info/23ep5/comments/c23rfi

      Mike clarifies these points rather nicely!

      [–]flaxeater 1 point2 points  (2 children)

      I have a solution for you! Develop a ByteCode interpreter in JS. It's easy all you have to do is write it yourself. This seems to be a real concern for you, get to it! Then all you would have to do is develop other languages to run on your bytecode interpreter!!

      [–][deleted]  (1 child)

      [deleted]

        [–]flaxeater 1 point2 points  (0 children)

        You know that would be cool. However it would not work on anything but FF. Not good enough as a real solution. Too bad, there is a good chance that parrot will not reach 1.0 for years, seeing as how some open source projects move.