This is a very strange comment, especially coming from you.
Everybody knows that the bulk of Firefox is not written in JS. You personally have spent years of your life working on a new programming language precisely because JS is not suitable for writing a web browser.
I'll take your position on JS seriously when you abandon Rust and begin writing the bulk of Firefox in JS.
"You should abandon Rust and write in JS" presupposes exactly the kind of strawman I've been arguing against. You don't have to abandon your favorite language!
In browsers, the OSes of the web, nope, just a bad language designed in 10 days that resists all attempts to make it not bad.
It doesn't really matter if you like javascript, there's so many people who don't.
Why do you get to dictate whether we can or can't develop on the web? You leave us with a horrible choice, use what we consider to be one of the worst modern languages, or not develop. Why do you get to make our professional lives miserable?
The kernel doesn't have a DOM. On the Web, the number of GC'd objects that every "process" has to deal with exceeds the number of file descriptors by an order of magnitude.
Also, you do have a choice: you can compile your favorite language to JS, even low-level ones via asm.js.
> Why do you get to dictate whether we can or can't develop on the web? You leave us with a horrible choice, use what we consider to be one of the worst modern languages, or not develop. Why do you get to make our professional lives miserable?
That's not the choice: you can compile your favorite language to JavaScript. That's what source maps, asm.js, and the like are for. And JS is being improved all the time; it's not static.
Trying to add another language has been tried multiple times and has always failed, because having two languages that both interact with the DOM is much more difficult than just improving JS.
The way frontend devs for other platforms deal with it is to specialize in the nuances of the platform and effectively build your app around the capabilities that Google/Apple/Microsoft/Sun provide. That's fine, and makes for a fairly uniform, polished experience if you have good devs, but it significantly restricts the set of apps you can build. The reason web developers like developing for the web is because it doesn't make you a sharecropper in Google/Apple/Microsoft's world, while building a full-featured GUI framework into the browser would.
React's not bad on the web side (especially with Scala.js) but fudging around layouts in components with divs and Bootstrap still feels clunky.
Also, the kernel's written in C (maybe Rust in part, soon). So much for language choice!
Sure, in userland, many languages compile to assembly. Hmm, where have I heard that word lately?
Servers and command-line tools are an exception because your interaction with the host platform is limited to a few dozen syscalls that can be easily bound to a number of different languages. Not so with most GUI software.
This is unnecessarily inflammatory. I've been writing JavaScript since back when it was called LiveScript and while it's certainly not my vision of the perfect programming language, it's come a long way. The code I write now is considerably cleaner, easier and more reliable than the code I was writing in 2005, much less 1995.
No, it doesn't work on OSes. OSes only handle one language: the native machine code of that platform. Everything else must be compiled to it.
This is exactly the same as browsers.
Edit: At least two people disagree with me (-1 points) - would you mind elaborating why?
That is not what I personally like (the processes of compilation and deployment I mean), but if you develop for OS then you have to compile before you run... In most OS.
Uh, what? You do have a choice in the browser. I don't understand.
It's only a matter of time before other languages can have the same level of support.
The complexity of doing that would be needlessly high compared to just improving JavaScript. Having to integrate a C++ DOM with a JS DOM is hard enough. Think about how you handle cross-language cycles…
> Or, they could take their own medicine, and try and write the browser in JS.
You mean like Firefox?