Hacker News new | ask | show | jobs
by Zamicol 1174 days ago
From another interview:

>The best thing we can do today to JavaScript is to retire it. Twenty years ago, I was one of the few advocates for JavaScript. Its cobbling together of nested functions and dynamic objects was brilliant. I spent a decade trying to correct its flaws. I had a minor success with ES5. But since then, there has been strong interest in further bloating the language instead of making it better. So JavaScript, like the other dinosaur languages, has become a barrier to progress. We should be focused on the next language, which should look more like E than like JavaScript.

- https://evrone.com/douglas-crockford-interview

One of the traits that makes Douglas great is being willing to say the obvious even if it is politically unpopular.

2 comments

Oh, hey. That's cool. I hadn't realised Douglas Crawford worked on E. I haven't actually looked but I wonder who else participated?

E had some really cool ideas, it's sad that it doesn't seem to be that well known!

The biggest impedances I see to replacing JS are:

1. You've got to keep JS around for backwards compatibility for the billions of websites already using it.

2. You will need to two engine teams, one to maintain JS and one for the new language.

3. Now you have a whole new vector for security issues. You've made the threat surface much broader. So, you will probably need to hire additional people.

4. You need to coordinate with all the other browser makers so everyone rolls out their new engines more or less concurrently. Other than experiments, nobody is going to start using it unless it works on all the major browsers and platforms.

That depends on the language you choose.

If we went to a scheme dialect as originally intended, we could have just ONE language for all the things.

Legacy JS? Just compile it into Scheme and run it.

HTML? Use S-expressions and support legacy HTML syntax by compiling it into them. Now you get all the power people want from template languages, but baked right into main language itself.

CSS? No more weirdness like adding sin() or calc() to make up for shortcomings. Once again, you get the power of the full Scheme language right there.