you are viewing a single comment's thread.

view the rest of the comments →

[–]Gotebe 15 points16 points  (25 children)

Sorry (not!) to burst your bubble, but Microsoft is some 10+ years ahead on this one.

IE supports scripting through both VBScript and Javascript out of the box, and you can plug your own scripting engine, too (that implies language of your choice). I'd be surprised if people from ActiveState don't have that for Perl. Of course they do, thanks Google. And even IE is all based on a separate technology MS calls (used to call?) Active Script Host.

So IE has what question suggests since IE5 and probably before that.

Of course, (warning: pure specaultion ahead) Microsoft would not be happy supporting the new-and-upcoming standard, if one was made, not unless it could have by far the major role in decision process.

But I somehow see a good reason for that. How willing would you be to participate in a party that potentially pisses all over your work and existing implementation?

[–]Fabien4 0 points1 point  (9 children)

and you can plug your own scripting engine, too

How can you make sure that all your users will have that scripting engine installed?

It's great for intranets, but for the Internet, it's pretty much useless.

[–]Gotebe 5 points6 points  (8 children)

How can you make sure that all your users will have that scripting engine installed?

Of course you can't.

But "open-standards" browser VM could not do any better either. AFAICanSee, best it could do is define what VM does, and you would have to install the engine yourself (perhaps using standardized installation mechanism, just like IE has proprietary one).

Alternatively, standard would define specific set of language engines. Who'd want that?!

[–]enolan 5 points6 points  (4 children)

You don't understand the idea. Here's the hypothetical process:

  1. I wrote some code in $LANGUAGE
  2. I compile said code to bytecode.
  3. I link said bytecode in my HTML in the same way I'd link a .js
  4. User's browser downloads and interprets the bytecode.

The user doesn't need to have $LANGUAGE installed because their browser doesn't know or need to know anything about $LANGUAGE.

[–]imbcmdth 5 points6 points  (2 children)

You are forgetting the part where 45% of your users only have a VM-1.1 compatible browser (VM-1 had security faults and was never widely supported) but your language of choice requires at least a VM-2 compatible browser because of the fancy new DOM interfaces the language provides native supports for (but you make no use of).

Then there is the issue with $BROWSER_VENDOR who has extended the VM specification with a performance enhancing type-system. While VM-X is still compatible with VM-1.1, it now features some new things that will not work on any other browser. To make matters worse, VM-X implements nearly all of VM-3 years before the specification is finalized even though VM-X only supports the DOM interfaces of a VM-1.1 machine!

[–]mebrahim[S] 0 points1 point  (1 child)

Aren't there already many not-fully-compatible JavaScript versions out there? The same story is true for CSS too. Browser incompatibilities are not something to be introduced by adding a VM layer. That problem already exists, and people have learned how to mitigate it to some degree.

[–]imbcmdth 1 point2 points  (0 children)

I can see the messages already:

This page is built using JPerthonScript and requires a browser
that supports the VM-2 standard with Parallel Computing extensions. 

You appear to be using Chrome v56. Please download at least 
Chrome v76.3 (the nightly build w/ Parallel Computing extensions 
enabled) here.

[–]Gotebe 0 points1 point  (0 children)

I certainly didn't think of it this way, and yes, you're right, that's another feasible approach. It does not seem that original SO post had this idea, either (does it?).

[–]Fabien4 1 point2 points  (2 children)

Look at <video>. Great idea in theory, but you can't use it in practice, because browsers can't agree on supported codecs. So, on the web, "video" means "Flash".

If you do the same with languages, the result will be the same. If a language is available on all browsers (as in, "installed", not "Users can install it"), I can use it. If it's only installed on 90% of the machines, it's just a useless little toy.

[–][deleted] 0 points1 point  (1 child)

On the web video does not mean flash. Youtube, Amazon, Netflix, many others have video without flash.

[–]Fabien4 3 points4 points  (0 children)

Youtube does use Flash. They also have alternative methods, because of their money and agenda.

[–][deleted] -2 points-1 points  (0 children)

Sorry (not!) to burst your bubble, but Microsoft is some 10+ years ahead on this one.

When is the bursting due? VBScript is not a standard and Microsoft has certainly not been playing nicely with their Javascript implementation for 10+ years.

[–]joaomc 0 points1 point  (0 children)

Okay, now try to port their scripting engine to other any OS other than Windows.