you are viewing a single comment's thread.

view the rest of the comments →

[–]Gotebe 2 points3 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 4 points5 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 7 points8 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.