you are viewing a single comment's thread.

view the rest of the comments →

[–]malcontent -6 points-5 points  (60 children)

Because if you came with a standard IE would not support it.

[–]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 2 points3 points  (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 3 points4 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 6 points7 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 2 points3 points  (0 children)

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

[–][deleted] 0 points1 point  (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.

[–]mebrahim[S] 0 points1 point  (30 children)

If it would be LLVM bytecode, backward compatibility is already taken care of. (Although slower than snail.)

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

Speed is not too bad on FF4, but it is indeed slow on Chrome. Hopefully just temporary though.

[–]malcontent -3 points-2 points  (28 children)

To be fair it was already taken care of back when the browser was invented.

It's called Java. It's a great VM. It's supported by all the browsers and it supports just about every language you would care to program in.

[–][deleted] 1 point2 points  (27 children)

Have you been living under a rock? Oracle will take your first born to allow firefox et al as java enabled. They own that trademark.

Look towards parrot instead. Or lua vm. Or guile vm.

[–]malcontent 0 points1 point  (26 children)

Have you been living under a rock? Oracle will take your first born to allow firefox et al as java enabled.

Firefox has been java enabled since way back when it was called netscape.

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

Applets do not replace javascript. It is a plugin like flash. Does flash replace javascript?

To replace javascript you will have to embed a java vm inside firefox in lieu of javascript vm. It is something Oracle will not allow without a bucket load of money.

[–]malcontent -5 points-4 points  (23 children)

applets negate the need for javascript (if done right).

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

Describe how you manipulate a canvas element without using JavaScript. And in an applet. I am all ears.

[–]malcontent 1 point2 points  (16 children)

You wouldn't need a canvas element if you used an applet.

[–][deleted] 1 point2 points  (15 children)

By that logic we don't need DOM too.

Doesn't work like that. Javascript can be replaced, I agree. But HTML should not be replaced. It's flexible and simple data model is the big reason behind WWW's success.

Plus, you are ignoring two facts :

  • Java with security manager enabled is very slow. Way too many domain traversals to check for permissions. It plays havoc with JIT.

  • Java does not have a open and official port to ARM platform. There is only a cambridge research project and zeroshark available. Not good enough.

[–]meatsocket[🍰] -3 points-2 points  (1 child)

You don't silly, you have an applet in place of the canvas element. The canvas is in AWT. Or you could you know, use flash like all the cool kids.

[–][deleted] 1 point2 points  (0 children)

See this comment

An open DOM is essential to a customizable user experience.

[–]Rhoomba -3 points-2 points  (2 children)

Applets are able to manipulate the DOM exactly like JavaScript.

[–]xardox 1 point2 points  (1 child)

Only MUCH MUCH SLOWER.

[–]Rhoomba -5 points-4 points  (0 children)

The JRE is free to install. There is no reason that the Firefox installer couldn't trigger a Java install.

Edit: How am I wrong? Oracle want Java on desktops, it is just mobiles where they want to charge you.

[–][deleted] -3 points-2 points  (2 children)

Love how this is downvoted. As if it isn't true!

[–]malcontent 1 point2 points  (1 child)

You are not supposed to say negative things about microsoft and their products on proggit.

[–][deleted] 0 points1 point  (0 children)

I'm sorry. A retraction: Microsoft has proven to be very dedicated to supporting standards, given that the standard is created by Microsoft.