Do you think it's also worrying that we all communicate in English? Is the English language a stagnated monoculture?
Pandering to language fanboys isn't a good idea. Javascript is a good enough language, and if you don't like it, write in something else and compile it to javascript.
I'm not smart or experienced enough to know the answer to this, it's an honest question. Doesn't compiling things to javascript inherently limit what we can do? For example, if a feature is supported in some other language but not javascript then I imagine even if there were a way to compile to javascript, there might be a severe performance impact.
I guess what I am saying is that it seems like we are stuck with javascript for historical reasons and it's a shame that we aren't exploring other options. Of course, I can also completely see that sticking with javascript is the most practical option as well.
> Doesn't compiling things to javascript inherently limit what we can do?
Yes, any concrete compilation target has limitations, including JavaScript.
For example, in JavaScript, there are no 64-bit integers, which can slow down some code. As another example, strings on .NET and Python are different, causing Python on the CLR to either behave differently or run more slowly.
I think the important thing to realize is that there isn't a "perfect" compilation target. What we really want is a target that is (1) fast on all languages, (2) portable to run on all OSes and architectures, and (3) safe to run in a sandboxed manner. There is no target I am aware of that maximizes all 3. All we can do is try to get close.
I would say that JavaScript is doing pretty well in that respect already (that is, like all other options, it isn't perfect, but it's relatively decent), and remaining missing features are being worked on.
> it's a shame that we aren't exploring other options.
I don't think that's true at all - such experiments have been done! We had or have ActiveX, Java, Flash with its multiple VMs, Silverlight/.NET, NaCl, PNaCl, and others I forgot.
Given the performance of JavaScript engines today, those experiments of other VMs don't show a big enough reason to prefer them. asm.js code runs fast enough to run AAA game engines, which is a very good test.
> The scope of applications and interactivity found in today's browser-based apps today dwarfs what we were doing even 10 years ago.
I'd dispute that. 10 years ago we had pretty brilliant browser based apps. They just happened to be using flash or Java applets whereas now they're using javascript.
Actually, I wrote a pretty complex browser-based app in 2002. It ran on Microsoft Explorer as it was the only capable browser at the time, and it used Javascript, XML and XSLT to construct a Windows-like UI environment within the browser -- you may check the code at https://bitbucket.org/BerislavLopac/waexplorer
I used the web 10 years ago, along with a lot of those flash and java applets, and I use the web now, along with a lot of these richly interactive javascript applications, and comparing then with now strikes me as truly ridiculous. The web is hugely more usable now.
There were but probably in-house non public ones. I had a course where the teacher explained how its company was building portable asynchronous desktop-like applications in JS since early 2Ks. Maybe the exception though.
A few examples would come in handy. The only place I can remember using flash and enjoying it was youtube. (And then only because there wasn't a better/standard way of playing videos.)
There were some pretty good multi-user flash games around 1999/2000, when things were just getting going. I can't remember the names though at the moment.
It's only recently that graphics / audio / video / networking in javascript is almost as good as flash/java was 15 years ago!
Sometimes it's easy to think we're on the cutting edge. But we're really not.
I'm sorry but the UX on Flash and Java plugin-based apps was horseshit. They were sluggish and encapsulated clumsily within the plugin sandbox so the integration to the browser was terrible.
Yeah people did some amazing work on those proprietary platform when they were the only game in town, but it really doesn't hold a candle to what we have today in terms of a fully open and native web tech stack. If you want to be reductionist why not just say we haven't been on the bleeding edge since Lisp was invented and declare everything else derivative tripe.
They were faster than browsers were at the time, that's for sure. Especially Flash. At one point no serious design-focussed website worth its salt bothered with HTML because Flash was so much better and easier to author. Heck it's probably still easier to author.
The "open and native web tech stack" is something that evolved messily over a long period of time in a piecemeal fashion with little overall design vision. It's hardly something to be proud of.
And yet the sites that succeeded long-term (Google, Amazon, etc.) didn't use it, while all the sites that consisted of a zillion MB of Flash and Java all went by the wayside.
Maybe design snobbery isn't as important as designers think it is.
And yes, the web is definitely something to be proud of.
There has never been a cross-platform, cross-media, accessible platform like the web in the history of computing or humanity for that matter. It is very much indeed something to be proud of.
Pandering to language fanboys isn't a good idea. Javascript is a good enough language, and if you don't like it, write in something else and compile it to javascript.