4 ms·
The web doesn't need another language. It needs a sandboxable VM which has the DOM as a first class citizen. Dart didn't address that need...it merely provided
by saosebastiao 12y ago
The web doesn't need another language. It needs a sandboxable VM which has the DOM as a first class citizen. Dart didn't address that need...it merely provided another language and tried to strongarm its way into becoming a standard.
- lgunsch 12y agoDOM as a first class citizen is a non-feature. Dart didn't address that feature because they went out of their way to distance the language from the DOM, and instead provide a clean API on top of the DOM.
- andreasvc 12y agoWhat is the difference between having the DOM has a first class citizen and having a clean API on top of it?
- lgunsch 12y agoThe term "first class citizen" usually means there is a language syntax built-in for the feature that would be "first class." Dart has no such built-in syntax to deal with DOM elements. You have to use the API to manipulate the DOM. For example, the C language does not have OOP as a first class citizen. However, you can do OOP in C. GTK+ and GObject, for example, accomplish it.
- jenscow 12y ago> The web doesn't need another language Because choice is bad, right?
- saosebastiao 12y agoI'm not saying another language is bad, just that it is not a deficiency of the web. We already have hundreds of them...all of which are hacked onto a language that was never created with the intent of acting as a VM. A web-native VM would actually enable much better selection of programming languages than Javascript currently does. Dart is nothing more than a new soda selection in a broken vending machine. It hasn't gone anywhere because it isn't in any better of a position than the rest of the sodas in the vending machine.
- jenscow 12y agoGotcha. On a technical level, I would also have preferred something like a "bytecode" type VM. However, I believe that would have severely hindered the uptake since all browsers would have to support it before I'd even think about using it. Dart's "VM" is already supported on all modern browsers. edit: This was already tried with Java Applets, however I guess Microsoft's implementation had put people off it. Plus it was before it's time, IMO.
- lgunsch 12y agoChrome already has somewhat of a VM. It has the NaCL, or "Native Client" which lets you run native machine code. http://en.wikipedia.org/wiki/Google_Native_Client http://en.wikipedia.org/wiki/Google_Native_Client