Better Web Language
I've discussed about few things. There are lot of worries about javascript:
- We worry that ES6 will introduce lot of features nobody asked and in ways nobody will want to use. They do this for academic reasons and because everybody in the committee wants a pony.
- Coroutines/greenlets/call-cc whatchamacallit is not in the specifications. People argue between something like python generators and appropriately named promises, that promise to solve the javascript callback pyramids of hell. I used greenlets already 3 or 4 years back then to write asynchronous code as if it were just ordinary function calls.
- WebAssembly seems to be just yet different syntax for javascript, again designed by committee. At least in its early form it won't seem to bring up much chance to run, say python in the web.
- Javascript lack of operator overloading makes it clumsy language for, say, doing vector calculations. It is enough to do it very inconvenient to program webgl or opencl applications for the web in JS. The problem isn't fixed by languages that compile to javascript, such as coffeescript, because this alone requires large changes into the language.
There's one way to support the things that are going to be missing in ES6. It's by writing an interpreter. It'll be orders of magnitude slower than javascript, but it will allow putting in the things the javascript committee is ignoring.
JS evaluators used to be slow, but today JS programs rival in performance with C. It's got restricted form called asm.js to reach performance equivalent to software compiled from C sources.
I took some things out from the pyllisp project and used them to start better web language project. The name is a "promise" meaning the same thing that word means in the javascript. Basically it's the pyllisp with RPython virtual machine replaced by one implemented in javascript.
I started it yesterday. By now it runs hello world. During the doing the project I have been doing some screen recording. The project setup -video didn't come out well, but otherwise the remaining videos may turn out to be interesting to someone: