16 comments

[ 3.3 ms ] story [ 55.2 ms ] thread
If the Web is Open can I use my favourite language - C# in mainstream browsers without transpiling?
Even on Windows your C# "transpiles" to CIL.
But the performance doesn't degrade quite as much.
something being open doesn't imply it has every imaginable feature
But "open" does imply having more than just one realistic choice, or at least the ability to realistically create more choice if it isn't already present.

Right now, JavaScript is basically the only option in practice, and getting additional languages supported by the major browsers does not seem possible. I don't consider that "open" at all.

That's completely ridiculous, nothing about the word "open" implies that there being multiple VMs.

> Right now, JavaScript is basically the only option in practice,

That's absurd, Opal is a real option. ClojureScript is a real option. There are real, functional apps written in them. Prismatic, for example. There's far more language choice on the web than any mobile OS.

JavaScript is not a real virtual machine by any means, even with efforts like Asm.js and Emscripten being considered, and even if the recent implementations have been drawing ideas from real virtual machines. Compared to real virtual machines like the Java VM or the .NET CLR, it's very, very lacking.

At best, it's merely an interpreter that's targeted like it were a VM, since there is no other practical choice within web browsers today. This is part of the near-total lack of openness I referred to, by the way.

And it's very absurd for you to suggest that "there's far more language choice on the web than any mobile OS". That's not true at all, given that every major mobile OS today includes a web browser of some sort that can run web apps. And then the mobile OSes still allow the use of languages like Java, C, C++, and Objective-C, among others. So the choice is clearly far greater on mobile OSes, given that they support so many languages, plus JavaScript.

Browsers are supposed to be the new "platform" of the future. But their source code is so gigantic and inaccessible. A regular dev can't just pop in and help out, they have to learn a ton about internal browser infrastructure that they don't really deal with, and the learning curve is very steep. Contrast this with Linux, where most of us know the command line and can create/edit command line utilities much more easily.
To be fair, the Linux kernel is similarly opaque (although I agree that browser engines should make more of an effort to be clean and easy to understand—something we're working on with Servo!)

I think the right analogues to userspace utilities are something like Angular or jQuery, which are much easier to understand than the browser "kernel".

It's significantly easier for someone (an outsider) to build the Linux kernel for the first time than any of the OS browsers.
Well, the same is mostly true of traditional operating systems.

On the other hand, traditional operating systems support a myriad of local development options on top of them, whereas with browsers you're, at some level, using HTML/CSS for display and JavaScript for logic. Both of which I still find to be unfortunate despite how far they've evolved.

(comment deleted)
This is absolutely an important issue. Brian Bondy from Mozilla's platform engineering team put together an awesome little website called Code Firefox (http://codefirefox.com/) with a series of 1-minute videos that teach you everything you need to know to get started. :D
Why do you want phonegap apps? Isnt the point of firefox os being web app ready?
They don't. They want apps that are ported to Firefox os from phonegap apps.
I thought HTML5 was renamed to just "HTML" you know, to be more clear and open like FireFox dropping version numbers.