Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming IT Technology

ECMAScript 4.0 Is Dead 168

TopSpin writes "Brendan Eich, creator of the JavaScript programming language, has announced that ECMA Technical Committee 39 has abandoned the proposed ECMAScript 4.0 language specification in favor of a more limited specification dubbed 'Harmony,' or ECMAScript 3.1. A split has existed among the members of this committee, including Adobe and Microsoft, regarding the future of what most of us know as JavaScript. Adobe had been promulgating their ActionScript 3 language as the next ECMAScript 4.0 proposal. As some point out, the split that has prevented this may be the result of Microsoft's interests. What does the future hold for Mozilla's Tamarin Project, based on Adobe's open source ActionScript virtual machine?"
This discussion has been archived. No new comments can be posted.

ECMAScript 4.0 Is Dead

Comments Filter:
  • by QuietLagoon ( 813062 ) on Saturday August 16, 2008 @01:30PM (#24627395)
    What is needed in the JavaScript world is not more features, but more consistency of implementation across the various browsers.
    .

    It is good to see the standards committee taking a breather from major new features, and instead focusing upon the alignment of behavior of functionality across the various browsers.

    Hopefully, there will be a robust and rigorous compliance test suite as a deliverable of this standards process.

  • by omfgnosis ( 963606 ) on Saturday August 16, 2008 @01:32PM (#24627417)

    Why? There's consensus on Harmony.

  • by Goyuix ( 698012 ) on Saturday August 16, 2008 @01:33PM (#24627427) Homepage

    I would disagree (to some degree) that more features are in fact needed. For example, E4X (and a native XML doc object) being standardized in the browsers would be a huge benefit.

    That being said, I think that a lot of the feature bloat going into the proposed v4 was really not all that great. I think this is generally a step in the right direction.

  • by hedwards ( 940851 ) on Saturday August 16, 2008 @02:06PM (#24627653)

    Quite so, a lack of standardization amongst the implementations has been a serious problem for years. Allowing developers to use the entire spec as is without fear of problems going between browsers would be a huge step forward for JavaScript.

    Perhaps add in a few fixes for annoying parts of the language and similar, but overall if it's just made to be consistent across browsers, that would go a long ways.

  • What a damn shame (Score:4, Insightful)

    by Stan Vassilev ( 939229 ) on Saturday August 16, 2008 @02:17PM (#24627741)

    Such a damn shame to let ECMAScript edition 4 go in this way.

    The small shame is for Adobe's efforts, who entered the ECMA standards body to contribute, donated the entire engine to Mozilla and plenty of other efforts to get this going. But AS3/Flash will not be affected in a big way from this.

    The web community as a whole will be. That's where the big shame is: for all of us, web developers. I see that packages, namespaces, classes and early binding are out, likely forever.

    Classes are not "sugar", we do need those paradigms when creating bigger applications, because they are more rigid, more readable, more maintainable, understandable. I love lambdas, prototypes and all that, but that's the lower level, the implementation inside a class, inside a package. Those are not interchangable paradigms.

    ES4 and AS3 have managed to add those higher constructs to the language, while maintaining full compatibility with all flexible features of ES3 (the JavaScript currently used in browsers).

    The reasoning behind dropping all constructs appears to be the preconceived notion that JavaScript must exist in the form of disparate text files loosely connected to each other, something that doesn't scale to bigger efforts at all (and which makes Flash much more viable for such deployment), hence packages and early binding are out. What a mistake.

    Who's to say we won't see JAR-like environment where bigger libraries can be compressed together, and some preprocessing can be done to ease the load on the client CPU/bandwidth? I've been praying we get such deployment option soon as a modern web application typically has to download a ton of CSS/JS/image files to build an average GUI nowadays. Why isn't this the focus of ECMA's efforts, but instead the focus is to maintain the status quo and reject us basics that have proven themselves in time to work well in all environments out there.

    If you doubt this would work, look no further than Java/Flash applets distributed over the web in this fashion (and Flash is very widely used nowadays).

    What ECMA has achieved with their decision, is to basically stagnate the browser environment, and empower third-party cross-browser plugins to eat more from the advanced web application market share, because Adobe's Flash, Microsoft's Silverlight are not even thinking of dropping their mature OOP features, just because ECMA said we don't need them.

  • A real pity (Score:5, Insightful)

    by shutdown -p now ( 807394 ) on Saturday August 16, 2008 @02:38PM (#24627883) Journal
    ES4, as proposed, was destined to become a truly beautiful language, applicable for far more than its present Web scripting role. It was something I was actually looking forward to. And now - they've essentially codified the status of ES as the "Web scripting language", and discarded all the "too hard" stuff from the spec because it didn't fit the role. Which is quite surprising, since, given the popularity of GWT, one would think that ES3 implementations do lack something that people want.

    Oh well; Microsoft scores one here, considering that Silverlight 2.0 will be scriptable using Python and Ruby out of the box.

    By the way, the whole fuss about MS being behind this is pretty stupid and unfounded. MS was actually one to jump on the ES4 bandwagon early, along with Adobe - their early implementation of it was called JScript.NET, first released in 2002 with .NET Framework 1.0, and it does in fact still ship with all versions of .NET, and is an officially supported .NET language. They certainly wouldn't have any trouble extending it to the more recent spec, should it become standard. Now, I guess it will just be quietly dropped in the next version of the framework.

  • by speedtux ( 1307149 ) on Saturday August 16, 2008 @02:45PM (#24627925)

    Any ideas ?

    The problem with Java and the CLR in browsers are mostly with the libraries, not the virtual machines. So, I think the thing to do would be to start with, say, the CLR and develop an open applet environment and browser integration based on it. This environment could even be emulated in Silverlight, allowing things to run without any install on Windows.

  • by pembo13 ( 770295 ) on Saturday August 16, 2008 @02:54PM (#24628001) Homepage
    I would ask for a safe JSON parser as well as I prefer JSON to XML (which is quickly becoming overused)
  • by Dzonatas ( 984964 ) on Saturday August 16, 2008 @03:24PM (#24628189) Homepage

    >The Microsoft stuff in the summary is just trolling

    That is true because MS actually voted for more security of an individual's IP rights than what ECMAScript 4.0 offered. One problem for example, under ES4, is that containers of code may also contain code that is owned by someone that never gave permission to distribute code. ES3.1 is not a solution, but it achieves that some desired advancements without a greater lack of security in a trade-off.

  • by lysse ( 516445 ) on Saturday August 16, 2008 @04:02PM (#24628527)

    This was the sentence of Crockford's post that really leapt out at me:

    It went off the rails when people started to just make new stuff up.

    That's generally true of standards committees. When they're documenting existing practices and seeking consensus and convergence between them, they're in their element. When they decide they can start inventing, rather than consolidating, they lose the plot altogether...

  • Re:ES4 not dead (Score:5, Insightful)

    by rycamor ( 194164 ) on Saturday August 16, 2008 @04:06PM (#24628565)

    The only problem is that JavaScript/ECMAScript from a language point of view isn't really good. A strongly statically typed script language would have been better since it would have allowed the developers to catch a lot of bugs that now occasionally blows up in the face of the users.

    That would be the worst possible thing to happen to Javascript. I know, I know... let's not get into a religious war over static/dynamic typing. There are valid points for each in different contexts, but a language in Javascript's problem domain is probably one of the worst contexts for static typing.

    Keeping the language small, clean and simple should be the priorities. If you want Java in the browser, well... that's already available.

  • by rycamor ( 194164 ) on Saturday August 16, 2008 @04:44PM (#24628865)

    In my case, I really didn't START to like Javascript until I began to read up on it's functional capabilities.

    I think there is more to Javascript's popularity than what you say. It is actually a fairly nice little language, and hopefully when a few annoyances are cleaned up in version 2.0 it will be used outside the browser more and more. In fact, anyone who has done some serious Mozilla application programming with XUL realizes that there is no reason Javascript must be restrained to a web browser context to be useful.

  • by try_anything ( 880404 ) on Saturday August 16, 2008 @04:47PM (#24628885)

    I think their primary roles would have been for basic libraries, for generated code such as SOAP bindings, and other code that ordinary web-developers would not write. They would work quite well for that and allow better robustness and possibly better performance (less dynamism -> more JIT compiler optimizations) for core functionality like parsing XML and drawing graphics.

    The only way I can imagine that those features are "unsound for the Web" is that ordinary web developers would not bother to understand and use them.

    Unfortunately, many of the people who write Javascript these days stubbornly identify themselves as non-programmers. They resist learning anything that smacks of a "real" programming language. There could have been an ugly struggle between people trying to force these features on web developers and web developers clinging to Javascript's current free-form dynamism. On the face of it, it might seem that web developers are just lazy to avoid learning a few new language features. It also sounds quite silly for them to say, "I'm a programming idiot; I can't write code," despite slinging around complicated DHTML, CSS, and Javascript. They're obviously intellectually capable of learning and using a "real" programming language for "real" programming.

    I think their basic point is sound, though. The job of writing the Javascript for web pages often falls to the web designers, and they should be allowed to program in a simple and dynamic language that suits their artistic temperaments and lets them focus their minds on their creative specialties. They do have artistic design responsibilities that programmers do not, after all, so it doesn't make sense for them to invest as much time in learning about programming as programmers do.

  • by Anonymous Coward on Saturday August 16, 2008 @07:05PM (#24630011)

    I have to disagree; the summary isn't trolling. Looking behind the scenes it appears that Microsoft wanted to kill it so it wouldn't compete with Silverlight. (Notice how one of the things they said wouldn't be included 3.1 that was included in 4 was namespaces and packages. It was claimed that they weren't good for the web, but oddly they appear in Silverlight.)

    Also, as far as Mozilla and Google being on board-this seems mostly due to the fact that Microsoft almost unilaterally killed 4 claiming they would never support it.

    I'm disappointed. If you've played with AS3(based on an earlier draft of the ES4 spec) it allowed you to code in a more classical OOP fashion, but you still had access to dynamic language features that people love about JavaScript.

    At this point, many, many people have attempted to graft a more traditional OOP framework on to JS(going so far as to abstract the prototype inheritance that exists with JS)-none of them have been completely satisfactory (which is why more keep coming out). The latest one of note was John Resig's which was somewhat decent.

    I am tired of people saying "You can do anything with JS". While JS's dynamic nature makes the simulation of a wide variety of language features possible, it would be far better if some of these were standardized into the language itself instead of having everyone invent hacks for things that would be available in almost any other language. This does not lead to increased productivity or efficiency.

  • by Anonymous Coward on Saturday August 16, 2008 @09:24PM (#24630949)

    Yeah, it's such a beautiful, expressive, powerful language that I have to use a browser plugin that disables it on all but a minuscule fraction of the websites that I surf. All just so that I can be reasonably certain that if my machine gets compromised through my browser, it won't be because of some bullshit javascript pwnage.

    The only aspect of a language that has anything to do with browser security is its security model. Are you trying to criticize Javascript's security model or are you just against browser scripting in general? If the former, please make a more specific case for how the security model could be improved, and if the latter, please make yourself clear, because it sounds like you have something against Javascript in particular.

  • by LowlyWorm ( 966676 ) on Sunday August 17, 2008 @12:18AM (#24631879) Homepage
    I agree but its not just its functional capabilities. It has a really nice (if limited) syntax. True, it is in many ways just a knockoff of C or C++ but that, to me, is part of its appeal. It is far less cumbersome than either and that makes it fun.
  • by lysse ( 516445 ) on Sunday August 17, 2008 @10:07AM (#24634363)

    That line was about HTML 5

    If you disagree with Crockford's opinions, the appropriate person to argue with is Crockford. I pulled out a quote to make a general point, one with which Crockford might not even agree, yet you don't seem to be too interested in talking to me.

    Rest assured, the feeling is mutual.

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (5) All right, who's the wiseguy who stuck this trigraph stuff in here?

Working...