Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Adobe and Mozilla Foundation Collaborate on ECMAScript 142

gemal writes "I just saw a project called Tamarin (AVM2 open source) Flash9_DotReleases_Branch initial revision checked into the Mozilla CVS repository. Shortly afterwards came the following press release: ' Adobe and the Mozilla Foundation today announced that Adobe has contributed source code for the ActionScript Virtual Machine, the powerful standards-based scripting language engine in Adobe Flash Player, to the Mozilla Foundation. Mozilla will host a new open source project, called Tamarin, to accelerate the development of this standards-based approach for creating rich and engaging Web applications. This is a major milestone in bringing together the broader HTML and Flash development communities around a common language, and empowering the creation of even more innovative applications in the Web 2.0 world.' You can read about the Tamarin project on the Mozilla site."
This discussion has been archived. No new comments can be posted.

Adobe and Mozilla Foundation Collaborate on ECMAScript

Comments Filter:
  • by AxXium ( 964226 ) on Tuesday November 07, 2006 @10:26AM (#16750953)
    Go open source go! This is great news for us Linux geeks. :)
    • Open Source Compiler (Score:3, Informative)

      by mjbkinx ( 800231 ) on Tuesday November 07, 2006 @11:01AM (#16751373)
      The ActionScript compiler isn't open source (but available for free as in beer), but haXe [haxe.org] is. It's not ECMA262 v4, but a relative with some additional goodies, like its type system. It can compile for FlashPlayer 9, among other platforms, which uses the VM now known as Tamarin.
    • by nickull ( 943338 ) on Tuesday November 07, 2006 @03:40PM (#16755669) Homepage Journal
      There are are lot of us within Adobe that haven't forgotten our roots and our first experiences with code often involved Open Source. Time to give back to the community. We also started RIA Forge and have some more open source projects on the go. www.riaforge.org. Tschuss! Duane Nickull
  • AJAX in Flash, with a Web 2.0 hype engine. May god have mercy on us all.
    • by Anonymous Coward on Tuesday November 07, 2006 @10:50AM (#16751213)
      You're correct, this really can't be a good thing. Adobe and Mozilla are both companies that, in my experience, tend to put out extremely bloated and unstable software packages. And they do this for software that should be agile, and have a relatively low footprint.

      I like to compare their products to similar ones developed by the KDE community. Take KPDF, for instance. It manages to be much faster and more stable than Adobe's Acrobat Reader, yet performs the very same functionality. And I'm sure we've all experienced Acrobat Reader's plugin interacting poorly with various web browsers, including both Internet Explorer and Firefox. There was even that recent problem where it would pop up a modal dialog box behind the main Firefox window, thus rendering it inaccessible, and basically locking up Firefox.

      Then we can compare the Mozilla Project's Seamonkey and Firefox browsers to KDE's Konqueror. Konqueror proves to be lean, fast, and memory-efficient. Meanwhile, we routinely hear reports of memory leaks (often blamed on bad extensions or poor caching policies) causing Firefox processes to consume hundreds of MB of RAM. The few times that I have used Firefox, I have run into problems with it crashing.

      When two companies with that sort of a track record for putting out bloated, unstable software get together to collaborate, I can't help but think the outcome will be quite poor. At least we do have alternatives, such as KDE. It's those alternatives that I'll continue to use.

      • by strider44 ( 650833 ) on Tuesday November 07, 2006 @11:34AM (#16751799)
        The reason why I use firefox instead of konqueror is simple: In firefox I have all the toolbars and required info including menus, navagation buttons and a bar, in one toolbar up the top. Konqueror doesn't yet allow me to do this. I think Konqueror's KHTML is quite neat in programming, but its user interface could still use some work.
      • by mad.frog ( 525085 ) <steven@cr[ ]link.com ['ink' in gap]> on Tuesday November 07, 2006 @12:27PM (#16752659)
        Perhaps you should look at the code before calling it bloated.
      • by Ant P. ( 974313 ) on Tuesday November 07, 2006 @12:33PM (#16752749)
        I'd use Konqueror, but Firefox has certain things [kde.org] I can't live without.
      • by Maian ( 887886 ) on Tuesday November 07, 2006 @12:43PM (#16752949)

        I won't deny that it may result in more memory usage, but the virtual machine would make Mozilla's JavaScript engine faster [1]. And remember that JS is extensively used in Mozilla's GUI, and in fact, they intend to migrate more non-critical C++ code to JS in the future (for faster development, security, etc.).

        [1] http://weblogs.mozillazine.org/roadmap/archives/20 06/11/project_tamarin.html [mozillazine.org]

      • by xENoLocO ( 773565 ) * on Tuesday November 07, 2006 @01:52PM (#16754015) Homepage
        And the rest of us will continue to live in the real world, where things like convenience and corporate product support matter. Not to mention bad markup.

        Also, I realize you're blaming the output and not the developers, but give the developers some credit here...
      • by Tei ( 520358 ) on Tuesday November 07, 2006 @03:08PM (#16755117) Journal
        Take KPDF, for instance. It manages to be much faster and more stable than Adobe's Acrobat Reader, yet performs the very same functionality.

        I disagree. KDPF is really nice, and the next version will be impresive. But still theres minimal support for some advanced features, like scripting. Yea, only a subset of users need some byzarre features like that one, but still.. seems that adobe support a lot of these, maybe 99% of what PDF mean.
        As a example (scripting) you need a javascript engine, maybe Spidermonkey, and add it to KPDF. Theres actually no javascript engine on KPDF, and adding spidermonkey is somewhat easy, but still is some work to do.

        Seems... that is reallly hard to create a good parsing engine for pdf. This why KPDF is based on XPDF and theres only a few PDF viewers. And once you can parse a PDF file and render simple stuff, is enough for 90% of people. But theres still that 10% that use advanced features, that need HUGE ammounts to work.

        I only know 3 pdf engines:

          - XPDF engine (that KPDF and Evince use). Fast but not complete.
          - Foxit engine. Fast but not complete.
          - Adobe engine. Slow but complete.

        Once you add more features to a application. You need to do more stuff on startup. Maybe init some static arrays, load and parse config files, dynamically call more librarys that also need build stuff...

        Imho, theres out here a engineer on Adobe that is frustrated because Adobe reader at core is lighting fast, but all the CRAP that need to load slowdown the whole thing to the actual mud-style.

        note to self: Ask the Okula developpers to support CBR.
      • by nickull ( 943338 ) on Tuesday November 07, 2006 @03:44PM (#16755759) Homepage Journal
        I will disagree with your sentiment that both Adobe and Mozilla produce large bloated code bases. I think that given the stated requirements, both have done a good job. Nevertheless, if you don't like the code, at least now you can have a say and fix what you perceive is broken.
      • by sillybilly ( 668960 ) on Wednesday November 08, 2006 @02:31AM (#16764027)
        Adobe Acrobat 5 for me is still the fastest of all pdf readers in Linux, even if it has a relatively ugly motif interface look. As far as Windows goes, starting with Acrobat 6 things went very downhill in bloat, and my preferred version to use on Win2k is the last release official release for Win95, I think it's Acrobat 5.0.8. It's zippy, but it seldom complains of features not understood by this reader, upgrade, upgrade, upgrade, but it still displays things well anyway.
    • by Ayanami Rei ( 621112 ) * <rayanami&gmail,com> on Tuesday November 07, 2006 @10:59AM (#16751331) Journal
      64-bit support is being worked on currently now that the source code is intended to be used in multiple products.
      If and when this occurs, we could expect to see a 64-bit flash plugin (finally), as the main blocking factor was the ActionScript VM, according to developer blogs.
    • by metamatic ( 202216 ) on Tuesday November 07, 2006 @12:13PM (#16752409) Homepage Journal
      Careful... I got in a massive flamewar with a guy from OpenLaszlo who was adamant that Flash applications are AJAX web applications, because they use asynchronous XML and JavaScript.
    • by doom ( 14564 ) <doom@kzsu.stanford.edu> on Tuesday November 07, 2006 @06:32PM (#16759087) Homepage Journal
      ObsessiveMathsFreak wrote:
      AJAX in Flash, with a Web 2.0 hype engine. May god have mercy on us all.

      Don't worry too much, they're calling it part of the "Mozilla 2.0" project. They've got to break through the second system syndrome first.

      (second-second system?)

  • Jumping the Gun (Score:2, Informative)

    by eldavojohn ( 898314 ) * <eldavojohn@noSpAM.gmail.com> on Tuesday November 07, 2006 @10:27AM (#16750969) Journal
    I just saw a project called Tamarin (AVM2 open source) Flash9_DotReleases_Branch initial revision checked into the Mozilla CVS repository.
    While you may know more than you put in the summary, I suspect you are jumping the gun here. The fact that a Flash9_DotReleases_Branch tag shows up in an open source CVS repository is certainly no reason to infer that they will "open source Flash." Perhaps that tag referred to a point at which the project was compatible/comparable with Flash 9?

    In fact, after reading the project site, nowhere do they claim to be trying to open up Flash. Instead, it looks like they're going to re-implement the engine (tried before [osflash.org]):
    The goal of the "Tamarin" project is to implement a high-performance, open source implementation of the ECMAScript 4th edition (ES4) language specification.
    ECMAScript [wikipedia.org] version four is the language used by Flash, buy it could possibly be a derivative of Flash or an attempt to emulate Flash. Flex is an example of Adobe coaxing developers to use MXML and ActionScript and I suspect that this open source engine is no different. I imagine that it will lack the libraries and features of the licensed Flash Studio so that the developers will have to code a lot of the normal effect engines from scratch. Net effect, developers are given a little more freedom in coding and Adobe becomes the standard like they did with PDF. It looks like they're losing money on Studio licenses but instead they're cementing their stake in technology by offering basic services free and premium services at a ... well ... premium. Similar to what Google is doing and what Microsoft is learning. You know, like a heroin dealer the first few tricks are free but to get extra you gotta pony up.
    • Re:Jumping the Gun (Score:5, Informative)

      by Anonymous Coward on Tuesday November 07, 2006 @10:40AM (#16751109)
      You're incorrect. See this blog entry from an Flash Player engineer: http://www.kaourantin.net/2006/11/spidermonkeys-re lative-tamarin-joins.html [kaourantin.net]

      It is not an attempt to re-implement the ActionScript Virtual Machine (runtime). It *is* the ActionScript Virtual Machine. Adobe and Mozilla are working together to build a common runtime, that already exists in Flash Player 9 and is already ECMAScript 4 compliant. Adobe just saved Mozilla a lot of time and hassle by giving them a high performance virtual machine that already implements the ECMAScript 4 spec.

      Any changes Mozilla makes will find its way into the Flash Player. Any changes Adobe makes will find its way into Firefox.
    • by splict ( 1024037 ) on Tuesday November 07, 2006 @10:52AM (#16751231)
      They are not offering flash but they are open sourcing the Verifier, JIT, core frameworks and the garbage collection engine http://www.kaourantin.net/2006/11/spidermonkeys-re lative-tamarin-joins.html [kaourantin.net]. The the newest Adobe ECMAScript VM is small and very fast and further along than Spider Monkey. This is very good for everyone involved, I believe, and a nice step by Adobe. Mozilla/Firefox users get a better ECMAScript engine and Adobe can concentrate more on the flash side of the flash engine. Read more at the FAQ on Tamarin http://www.mozilla.org/projects/tamarin/faq.html [mozilla.org]
    • Re:Jumping the Gun (Score:3, Informative)

      by coyote4til7 ( 189857 ) on Tuesday November 07, 2006 @11:13AM (#16751527) Homepage
      Where did you read "open source flash"? The whole Slashdot summary and the linked project page all refer to ECMAScript, aka ActionScript, aka Javascript. The linked project page makes it pretty clear that Mozilla and Adobe plan to use the Tamarin project as they basis of JavaScript (in Mozilla projects) and the ActionScript _portion_ of the Flash Player. RTFSS (RTF Slashdot Summary) before inserting foot in mouth.
      • Re:Jumping the Gun (Score:1, Informative)

        by Anonymous Coward on Tuesday November 07, 2006 @11:23AM (#16751641)
        The title read "Adobe and Mozilla Foundation Open Source Flash" when I read it before it went live. So essentially I jumped the gun when I wrote the post--which I entitled "Jumping the Gun."
    • by springMute ( 873579 ) on Tuesday November 07, 2006 @11:19AM (#16751595)
      I find your theory pretty hard to follow.

      First, ActionScript (not "Flash") is based on ECMAScript, not the other way around. And I'd say it's hard for ECMAScript to try and "emulate" Flash. The ECMAScript specs aren't created by Adobe, you know, but by several engineers from companies like Apple, Adobe, Microsoft, Opera, etc, with Mozilla in the lead.

      Second, you've misunderstood the post, the press releases, and everything related to this news item. They're not open-sourcing the player. There's no "Flash Studio" (what?) libraries or features to be opened, and there's nothing for people to "code" like "normal effects".

      This is not related to Flash. It's related to the ECMAScript virtual machine, and something Mozilla can directly benefit from since they use a similar VM for their JavaScript execution. If anything, having this properly applied (2008 on according to their roadmap) will make HTML (specially Ajax) sites faster on Mozilla browsers, and Mozilla's own execution, not Flash.

      In sum, this is not the thread you're looking for.
    • by ccr65 ( 767339 ) on Tuesday November 07, 2006 @11:28AM (#16751721)
      As I understand it, this is the final step to deploying Javascript 2.0 which was sceduled to be included in Firefox 3 anyway, but since Macromedia/Adobe have been using it for awhile, this helps get the ball rolling faster and allows (as mentioned) better integration. This will also mean that XUL will have the same script engine as Flex. It's not just Web 2.0 however. Anything done in Javascript can use the new OOP language features. Microsoft has been using a form of ECMA 4 as well, but it's anybody's guess as to when IE will get it.
    • by msobkow ( 48369 ) on Tuesday November 07, 2006 @11:42AM (#16751913) Homepage Journal

      ECMAScript with support for VRML and related vector/plane graphics animation technology could compete with something like Flash, but I wouldn't call it a replacement.

      I would call it a standards-based answer to Microsoft's clumsy attempt to create a competing "standard" that only runs on WinXX. FUD for FUD, the battle over market share continues to be about media mind share, not quality, performance, scalability, portability, or any other technical "issue". Heck, most of the FUD bombs launched aren't even demos, much less production products.

      • by Metaphorically ( 841874 ) * on Tuesday November 07, 2006 @02:26PM (#16754451) Homepage
        Um, that "vector/plane graphics animation technology" is called SVG [svgbasics.com]. VRML is a whole 'nother ball game. SVG is accessible from the DOM and thereby Javascript. SVG is already in Firefox and getting better with each release. By the time this new VM is available (2008 they predict), it's conceivable that the new VM combined with the SVG implementation that's in place by then could be another option comparable to Flash. Of course developers would probably also have to contend with deploying on whatever WinFX is by then too.
  • by tcopeland ( 32225 ) <tom AT thomasleecopeland DOT com> on Tuesday November 07, 2006 @10:32AM (#16751023) Homepage
    ...check out the Dojo project's JavaCC ECMAScript grammar [blogs.com].

    It looks like they rolled their own parser for Tamarin - AbcParse.cpp looks hand coded [mozilla.org] to me. Maybe that was more efficient than yacc?
    • by Anonymous Coward on Tuesday November 07, 2006 @11:28AM (#16751715)
      The file you linked to is an an ECMAScript parser. It's the bytecode parser -- Abc stands for ActionScript bytecode. Its the intermediate format that Adobe's compiler creates and stuffs into .swf files for execution. The virtual machien parses the bytecode and executes the instructions found.

      The Tamarin project does not include Adobe's Java ECMAScript compiler used to create the abd block. Instead, it contains a "self hosting" compiler, located in this directory [mozilla.org]. Specifically, the ECMAScript parser, written in ActionScript, is here [mozilla.org]. This is explained in the FAQ.
    • The OpenLaszlo [openlaszlo.org] compiler also has an ECMAScript parser, and it outputs Flash bytecode. The Legals Project [openlaszlo.org] will support the AMV3 runtime, which Adobe just made Open Source and Mozilla will be incorporated into Firefox.

      Adobe open sourcing AVM3 and Firefox incorporating it is great news for OpenLaszlo, because it dovetails so nicely with the roadmap [openlaszlo.org] already in place!

      Opening up AVM3 also enables the development of open source debuggers and integrated development environments like Eclipse, and makes it possible to embed an efficient JavaScript engine into any application, which has enormous long term benefits for everyone.

      Please, I beg: somebody write an AVM2 back-end for SWIG [swig.org]! That would totally rock. It's an essential tool for wrapping libraries and extending languages, that SpiderMonkey's sorely missing.

      -Don

      From the OpenLaszlo Project Legals FAQ: [openlaszlo.org]

      Q: What is the Legals project?

      A: Legals is a project to extend OpenLaszlo to target multiple runtimes. For our initial release, we will be supporting AVM2 (Flash 7 and 8), AVM3 (Flash 9), and DHTML. It is also possible to extend legals to other runtimes in the future.

  • by 0x537461746943 ( 781157 ) on Tuesday November 07, 2006 @10:33AM (#16751031)
    tt the thought of yet another way to attack your web browser.
  • by Anonymous Coward on Tuesday November 07, 2006 @10:33AM (#16751037)
    Javascripts single-threaded design is the biggest roadblock on the way to a web-app platform.
    • by vaderhelmet ( 591186 ) <darthvaderhelmet@NOsPaM.gmail.com> on Tuesday November 07, 2006 @10:39AM (#16751101)
      My biggest complaint is the fact that it doesn't complete execution on a function before moving to the next. Having to estimate execution time, then using a timer to fire dependant functions is a pain. This would be much better if it were a "jump and link" situation.
      • by twofidyKidd ( 615722 ) on Tuesday November 07, 2006 @11:59AM (#16752183)
        I'm confused by this. It sounds like you're writing code like this:

        function thisX(args){
        SomeCode;
        SomeCode;
        thisX();
        }

        function thisY(args){
        SomeCode;
        thisY();
        }
        Where some function of thisY() is dependent on the execution of thisX(), except you're saying that thisX() runs slower than thisY(), so you write some sort of timeout to run thisY() after thisX has finished (by estimation, as you mentioned.)

        Why don't you do this instead:

        function thisX(args){
        SomeCode;
        SomeCode;
        return Var;
        }
        function thisY(args){
        SomeCode;
        SomeVar = thisX(args);
        }
        Such that the complete execution of function thisY() is dependent on the complete execution of function thisX() without having to set some timeout and basically, make your code wait around with fingers crossed for the first function to execute? I'm surprised you got modded up for this, and no one checked you before. The only time I ever use timeouts is when I actually want the code to run on human time, like "wait 5 seconds before refreshing some section of the page, or before you display an alert" or something to that effect, but never for code dependency. The parent's complaint regarding multithreaded is directed toward this, but the workaround is not to "time" your code.

        Then again, I could be way off base here, and I'm sure someone will "fix" me.
      • by Anc ( 953115 ) on Tuesday November 07, 2006 @12:09PM (#16752363)
        I don't really see the problem. If don't want multithreading then you just don't use it. Multithreading doesn't mean that every function you call returns immediately and is processed in in it's own thread. Now that would not only be silly - it would make the processing s language virtually unusable. You must specifically request the new thread to be created.

        And btw, Mozilla's JavaScript implementation does support multiple threads.
    • by BZ ( 40346 ) on Tuesday November 07, 2006 @12:28PM (#16752663)
      JavaScript supports multiple threads quite nicely.

      JavaScript IN A WEB CONTEXT does not. That's a problem that's hard to solve without breaking lots of existing pages that assume the single-thread run-to-completion semantics and depend on it.

      In Gecko, the DOM code is also effectively single-threaded. Changing that could be done, but would likely have significant performance impact...
    • Multithreading isn't on the table, but the ECMAScript 4 proposal (which will eventually be implemented in Tamarin) does include generators and iterators, which is a nice partial step to some easier coding techniques:

      http://developer.mozilla.org/es4/proposals/iterato rs_and_generators.html [mozilla.org]
  • by vaderhelmet ( 591186 ) <darthvaderhelmet@NOsPaM.gmail.com> on Tuesday November 07, 2006 @10:35AM (#16751055)
    I'm not a huge fan of Flash in general. It is too much like FrontPage... A thousand script kiddies to every 1 intelligent user. However, I believe a closer interaction and level of support for scripting languages that are shared between standard HTML pages and embedded objects will simplify (and hopefully speed up) development. ECMA Script is a very powerful tool in the right hands and Flash has some very interesting capabilities when paired with the Flash Media Server [adobe.com] or Red5 [osflash.org] (OSS) My 7 cents.
  • by Anonymous Coward on Tuesday November 07, 2006 @10:36AM (#16751063)
    This is really great news, assuming Mozilla can get over their "Not Invented Here" syndrome (see: Linux distros required to verify their patches with Mozilla) and replace SpiderMonkey (the current Mozilla JS engine) with it. Almost all the problems people have with excessive CPU use are related to the JS engine. Firefox's backend uses a LOT of JavaScript (not kidding!) and it can greatly slow the browser down, especially when there are a lot of extensions running.

    This is great news - assuming it replaces SpiderMonkey. The current JS engine in Mozilla is amazingly slow.
    • by wwahammy ( 765566 ) on Tuesday November 07, 2006 @11:26AM (#16751687)
      To be fair though, while SpiderMonkey is slow, IE is just as bad.
    • by Rescate ( 688702 ) on Tuesday November 07, 2006 @11:33AM (#16751789)

      From Frank Hecker, executive director of the Mozilla Foundation, at http://www.hecker.org/mozilla/adobe-mozilla-and-ta marin [hecker.org]:

      The current SpiderMonkey JavaScript engine (used in Firefox, etc.) will not be replaced, as it does more than just provide a virtual machine; rather the Tamarin code will be integrated into SpiderMonkey. On compilers, the current SpiderMonkey engine can convert JavaScript to byte code, but does not have the ability to convert byte code to native machine instructions; this is a major feature that Tamarin provides. I don't know enough to comment on relative code quality; I'll leave this to others who've actually had experience with both code bases.
    • by rs232 ( 849320 ) on Tuesday November 07, 2006 @12:01PM (#16752209)
      "This is really great news, assuming Mozilla can get over their "Not Invented Here" syndrome (see: Linux distros required to verify their patches with Mozilla)"

      They're free to use any patches as long as they don't call it Firefox. From what I can figure out it is a dispute over the use of the logo. Debian are happy to use the codebase they just don't want to include the logo. It's also not unreasonable for Mozilla to want to verify patches for Mozilla Firefox.

      was Re:It can't be any worse than SpiderMonkey
    • by BZ ( 40346 ) on Tuesday November 07, 2006 @12:30PM (#16752717)
      > Almost all the problems people have with excessive CPU use are related to the JS engine.

      By "related to" do you mean "there's some JS involved somewhere, possibly calling native code where lots of time is spent"? Or you mean "I've profiled it, and the time is spent in the JS engine"?

      If you _haven't_ profiled it, then you're basically making assumptions that might or might not be right (but probably aren't, given most of the profiles of "JS is slow" bugs that I've seen -- in almost all cases the problem is actually in the DOM or layout code).
      • by SimHacker ( 180785 ) on Tuesday November 07, 2006 @03:15PM (#16755217) Homepage Journal

        Why as a matter of fact, yes, somebody HAS profiled SpiderMonkey. And you might be interested in knowing just how fat and slow it is compared to other languages.

        The Computer Language Shootout [debian.org] demonstrates that SpiderMonkey JavaScript is not only THE WORST language, in terms of BOTH slow speed and huge size, but also TWICE AS BAD AS THE SECOND WORST. SpiderMonkey loses the Computer Language Shootout by a long shot. Even bigger than the Republicans are going to lose this election!

        So the assumption that SpiderMonkey is fat and slow is extremely correct, by a long shot. Just like the assumption that the Republicans are corrupt and incompetent.

        -Don

        • by BZ ( 40346 ) on Tuesday November 07, 2006 @04:24PM (#16756563)
          > Why as a matter of fact, yes, somebody HAS profiled SpiderMonkey.

          What you link to is not a profile, but a benchmark. Not the same thing at all.

          And note that nowhere did I say that SpiderMonkey is a very fast programming language. It's not, of course. It's got its speed issues. Not having carefully read the exact source of the benchmark you quote, I can't tell you how much of the performance shown on that benchmark is due to innate slowness and how much is due to poorly-written code, but I suspect it's more of the former than the latter.

          What I objected to was the claim by "Anonymous Coward" that "almost all" Mozilla performance problems are related to SpiderMonkey. Some are, most are not. Telling which is the case involves doing a profile (figuring out which parts of the code time is spent in). Just running a benchmark does NOT give you this information.
    • by cyfer2000 ( 548592 ) on Tuesday November 07, 2006 @01:31PM (#16753721) Journal
      I think the new stuff will become the "JIT" part for SpiderMonkey Mr. Brendan [wikipedia.org] has been talking for years, if not ten years.
  • by WarpSnotTheDark ( 997032 ) on Tuesday November 07, 2006 @10:36AM (#16751069)
    Hmmmm. CMP Media is driving this thing...or O'Riley Media? I'm so confused.
  • by henni16 ( 586412 ) on Tuesday November 07, 2006 @10:40AM (#16751117)
    ..on the issue by Mozilla Foundation's executive director: Frank Hecker's blog [hecker.org]
  • JIT for javascript (Score:3, Interesting)

    by augustm ( 147506 ) on Tuesday November 07, 2006 @10:49AM (#16751209)
    Reading the various explanations on mozilla sites-
    this will (one day) give a just in time compiler
    and virtual machine for javascript in firefox.
    This should lead to big speedups in many
    web applications
  • by Timesprout ( 579035 ) on Tuesday November 07, 2006 @10:56AM (#16751281)
    When Adobe does Flash its shit, bloated, resource hogging intrusiveness. When Mozilla does Flash its empowering and innovative.
  • by md17 ( 68506 ) * <james@@@jamesward...org> on Tuesday November 07, 2006 @10:57AM (#16751295) Homepage
    Here is the official Adobe Announcement:
    http://www.adobe.com/aboutadobe/pressroom/pressrel eases/200611/110706Mozilla.html [adobe.com]

    And here is a great blog post from Tinic, one of the Flash Player engineers:
    http://www.kaourantin.net/2006/11/spidermonkeys-re lative-tamarin-joins.html [kaourantin.net]

    And the Tamarin FAQ:
    http://www.mozilla.org/projects/tamarin/faq.html [mozilla.org]

    Please read these before you post FUD. Oh wait... This is /. FUD away. ;)
  • Especially — the Acrobat-plugin. You may not know this, but the plugin does little work other than spawning off an instance of acroread (a separate process). This means, they can keep their proprietary secrets intact, and open the source code of the plugin itself.

    This would allow various BSDs, for example, which can all run Linux executables, to have the plugin in their natively-compiled browsers. Same goes for 64-bit browsers on Linux (64-bit plugin can spawn off the 32-bit executable). Even on Linux, where native plugins are supplied by Adobe, it would allow bolder changes in the browser/plugin APIs (changes that may break the ABI).

    For example, Real has gone "all the way" and open-sourced their entire player (except for a few codecs). This allowed to fish out their plugin code, build it natively and use it with Real's own Linux executables (and full set of codecs), wherever that can run (such as FreeBSD/amd64).

  • Take it easy (Score:5, Informative)

    by springMute ( 873579 ) on Tuesday November 07, 2006 @11:05AM (#16751431)
    Just because I know people will jump the gut and make comments totally unrelated to this news just so they have something to bitch about, here's what Mike (One of the lead Linux engineers at Adobe) had to say [adobe.com]:

    Today, Adobe released the source for its ActionScript Virtual Machine to the Mozilla Foundation.

    That's what Adobe did. Since this blog is a common stop for open source-minded folk, I thought it might be pertinent to use this space to discuss what Adobe didn't do:

            * Adobe did not open source the Flash Player.
            * Adobe did not incorporate the Flash Player into Mozilla.
            * Adobe did not license Mozilla's HTML rendering engine.
            * Adobe did not purchase Mozilla, or vice versa.

    The project is specified by the name Tamarin, as in the monkey, in keeping with Mozilla's primate-naming conventions. Fun fact: Adobe is contributing around 135 KLOC (thousands of lines of code) of source code to the Tamarin project. So, in the grand tradition of open source collaboration, I invite you to jump right in.

    Also see Tinic Uro's blog for more information.

    This is not related to porting or open-sourcing Flash at all. It's all about ECMAScript, which is what JavaScript and ActionScript uses. This doesn't mean Mozilla will support ActionScript either, as it's just the virtual machine that's being opened, not the 'internal' functionality.
    • by Anthracks ( 532185 ) on Tuesday November 07, 2006 @11:52AM (#16752063) Homepage
      The /. summary is pretty worthless (is anyone surprised?). This is only related to Flash inasmuch as Flash has a JavaScript VM / JIT Compiler, and that technology has been released to Mozilla so that they can take advantage of those performance improvements. At least that's how I read the news from people actually involved.

      Brendan Eich's blog [mozillazine.org]
      Frank Hecker's blog [hecker.org]
    • by jesser ( 77961 ) on Tuesday November 07, 2006 @06:47PM (#16759387) Homepage Journal
      This doesn't mean Mozilla will support ActionScript either, as it's just the virtual machine that's being opened, not the 'internal' functionality.

      ActionScript and JavaScript are both extensions of ECMAScript 3. Mozilla and Adobe (among others) are working on an ECMAScript 4 specification that will incorporate many of the extensions, so I actually expect JavaScript and ActionScript to converge quite a bit over the next few years.

      Note that I'm just talking about the programming languages, not the DOM for manipulating HTML/XML documents in Firefox or the APIs for manipulating movies and animations in Flash.
  • Request, Please. (Score:2, Interesting)

    by LifesABeach ( 234436 ) on Tuesday November 07, 2006 @11:11AM (#16751503) Homepage
    What are Mozilla's intentions now with respect to SVG [carto.net]? One can not ignore that the specification of SVG [w3.org] with respect to Adobe's Flash [adobe.com] product. To my thinking, SVG [slashdot.org], or its spawn, is the direction of future web developement.
    • by Metaphorically ( 841874 ) * on Tuesday November 07, 2006 @02:21PM (#16754367) Homepage
      Scripting is separate from the graphics. Maybe having a more closely related VM under the hood will make it easier for people to port applications from Flash to SVG on Mozilla though. I hope.
      • by sillybilly ( 668960 ) on Wednesday November 08, 2006 @02:42AM (#16764093)
        I think if SVG really flies, it would revolutionize the web, unfortunately SVG is too open and unpatented. What MS figured out with Suse and what Adobe might be after here, is that, at least in the US, ( unlike in the EU for now, but that's only a matter of time, money and effort), patents work well against open source, so if we can hijack the open source people to code for free to our patent, then we can still demand people using the code to pay up for our "technology", we just have other people doing the development work and implementing our patents. Best way to make money - patent something, tell people to do the work free based on that patent, then go sell your customers the patented technology bundled with the code you had others create for free. Best way to make money.
  • ECMAScript... (Score:2, Interesting)

    by Bizzeh ( 851225 ) on Tuesday November 07, 2006 @11:52AM (#16752067) Homepage
    ...needs a less stupid name
  • by Dwedit ( 232252 ) on Tuesday November 07, 2006 @01:03PM (#16753291) Homepage
    In my personal tests, Actionscript is over 100 times slower than Quickbasic. Why the hell is that the case? Both are interpreted languages. Actionscript even compiles to bytecode before it's executed, and I think Quickbasic does something similar as well. Does static typing alone really cause a language to run faster? Or is it just what happens when you design interpreters for high vs. low-specification processors?
    • by mjbkinx ( 800231 ) on Tuesday November 07, 2006 @01:18PM (#16753499)

      In my personal tests, Actionscript is over 100 times slower than Quickbasic. Why the hell is that the case? Both are interpreted languages. Actionscript even compiles to bytecode before it's executed, and I think Quickbasic does something similar as well. Does static typing alone really cause a language to run faster? Or is it just what happens when you design interpreters for high vs. low-specification processors?

      With which version of the FlashPlayer did you do that test?
      Tamarin is the VM introduced for FlashPlayer 9, aka. AVM2. The above sounds like you tested on AVM1, which is included in FP9 for backwards compatibility. AVM2/Tamarin is JIT compiled, and significantly faster than AVM1. If you want to test, you will need to specifically compile for it, either by using Adobe's free as in beer Flex SDK [adobe.com] if you like to use ActionScript 3, or haXe [haxe.org] for an open source alternative that has some aditional features.

  • by DonZorro ( 452879 ) on Tuesday November 07, 2006 @01:07PM (#16753341)
    The headline at inquirer reads "Adobe Hands Mozarella Foundation Flash Code"

    http://www.theinquirer.net/default.aspx?article=35 584 [theinquirer.net]
  • by obender ( 546976 ) on Tuesday November 07, 2006 @02:54PM (#16754855)
    From Tinic's blog:

    # If you study the source code you'll realize that a 64bit port is NOT a recompile away. We are actively working on the 64bit port, the source code right now is still 32bit until the changes required are stabilized.
    Is this a gift to Mozilla or is it: please fix it for us?
  • by jo42 ( 227475 ) on Tuesday November 07, 2006 @04:01PM (#16756117) Homepage
    ...but when can I have it for IE6 and/or IE7?
  • by SimHacker ( 180785 ) on Tuesday November 07, 2006 @04:08PM (#16756253) Homepage Journal

    OpenLaszlo [openlaszlo.org]'s Legals Project [openlaszlo.org] will benefit immensely from this, because the OpenLaszlo compiler will directly target the AVM2 virtual machine that was just released as Open Source! Thanks to AVM2, Firefox will be a much better AJAX application delivery and development platform. OpenLaszlo is in a position to take excellent advantage of that, for the benifit of users as well as developers. Not only will AVM2 make OpenLaszlo applications run faster on Firefox, but opening up the AVM2 virtual machine will make it possible to develop much more powerful debuggers and integrated development environments.

    All AJAX applications running on Firefox benefit, but Firefox itself will also benefit from integrating AVM2, because so much of FireFox is written in JavaScript itself.

    AVM2 will be a huge improvement, because Firefox's current JavaScript interpreter, SpiderMonkey, is so extremely inefficient and wasteful of memory, that not only does it come in last in the computer language shootout [debian.org], but it's actually TWICE as band and the next worst language, Smalltalk! (That's REALLY BAD.)

    An important feature currently missing from Firefox that I'm looking forward to is a way to load pre-compiled binary bytecode into Firefox (like SWF9 files but without the graphics), instead of parsing and re-compiling the JavaScript source text every time. That's one of Flash's major advantages over browser-based JavaScript: it can quickly load and run pre-compiled AJAX applications much faster, thanks to the fact that it doesn't have to parse and compile huge amounts of JavaScript source code text files every time it starts up.

    -Don

    What is OpenLaszlo "Legals" [openlaszlo.org]?

    "Legals" is an OpenLaszlo project to provide a single application environment that supports multiple deployment runtimes. OpenLaszlo 3.x supports Flash 7 and 8 now, but Legals will extend that reach to include DHTML as well as Flash 9. And with the necessary infrastructure in place, we anticipate further runtimes will be developed by the OpenLaszlo community.

    The OpenLaszlo "Legals" project began at the start of 2006. We are projecting final availability by the end of the year. Developers interested in helping make Legals a reality are invited to contact us. Developers wishing to get a head-start building applications on top of Legals will be able to do so with our beta release in a few months.

    Many people ask about the back story for the project name. The name, Legals, is a tribute to a well-known local restaurant [legalseafoods.com] in Boston where a lunch meeting inspired the team to launch this project.

    See Legals FAQ [openlaszlo.org] for commonly asked questions and answers.

    The Architecture

    With Legals, the OpenLaszlo architecture is being remodularized into a true multi-runtime platform. OpenLaszlo generates script source that is compatible with ECMAScript Release 3, while leveraging extensions from ECMAScript Release 4. From there, multiple compiler backends generate JavaScript in the native dialect of the destination runtime: ActionScript 2 or 3, JScript 5.6, JavaScript 1.4+, and so on.

    The OpenLaszlo runtime library is being refactored into two parts: multiple kernels containing runtime-specific code, and a cross-runtime library written in standard ECMA-3. As part of the runtime library, the OpenLaszlo class system has been rewritten in ECMA-3 and includes several innovative new features.

    The OpenLaszlo runtime library delivers a common baseline of functionality across all supported runtimes. This gives the developer a rich environment in which to build full-featured web applications. In addition, Legals will include runtime-specific extensions so t

    • by BZ ( 40346 ) on Tuesday November 07, 2006 @04:29PM (#16756663)
      > An important feature currently missing from Firefox that I'm looking forward to is a way
      > to load pre-compiled binary bytecode into Firefox

      Actually, that feature exists and is used in Firefox at startup. See http://lxr.mozilla.org/seamonkey/source/js/src/jsx drapi.h#45 [mozilla.org] for the API.

      Now you can't do it from inside the JavaScript language. But any consumer of the C JSAPI can do this.
      • I didn't realize that SpiderMonkey already had a way to load pre-compiled JavaScript code. Is there any reason it's not possible to allow web pages to download pre-compiled JavaScript byte code as well? That would really benefit AJAX applications.

        For Firefox with the AVM3, the most obvious format to use for pre-compiled byte code would be SWF files, which contain codes for graphics as well as byte codes. Firefox could just ignore or trap on unsupported graphics codes. And then all the tools that support SWF files (like the OpenLaszlo compiler) could be applied to Firefox.

        (Of course I don't mean JavaScript compiled into machine instructions (that's the job of the JIT), so the security of downloading uncompiled JavaScript text and precompiled binary JavaScript byte codes should be identical).

        -Don

        • by BZ ( 40346 ) on Wednesday November 08, 2006 @03:42AM (#16764423)
          > Is there any reason it's not possible to allow web pages to download pre-compiled
          > JavaScript byte code as well?

          Probably not, except it involves freezing the bytecode format. The XDR format is not guaranteed stable across releases -- its primary purpose is effectively for a compiled-stuff cache, with fallback on the original script if the cache XDR version doesn't match the running version.

Work is the crab grass in the lawn of life. -- Schulz

Working...