In a hypothetical scenario where we could start the web from sketch to avoid current problems that javascript has, which language would you choose and why?
None. All software, along with all other media, is written by AIs. Writing code is one of many things which have been declared too dangerous for humans to handle and is illegal.
Concepts like "files" and "software" and "code" no longer exist in human society because all interactions with software and devices are done through seamless natural language integration with AI. The AI won't tell you about any of these things for your own protection.
In a similar vein to "use strict" we could create a new directive that disallows JS features like var, prototype, == (in favor of ===). Modules with this new directive at the top of the file would be executed under these new rules. You'd be able to create new (maybe lighter weight) JS interpreters that only target this subset.
I don’t think anyone uses var anymore. Linters and prettier are doing a good job keeping codebase consistent.
Operator == has a valid use case (null or undefined check) but rarely allowed as well.
But I wouldn’t mind to have language without legacy.
<script>
var x = 1;
if(x < 5) {
// now y is global (window.y can be accessed everywhere)
// using const y = x * 2 would be inaccessible outside the if block
var y = x * 2;
console.log('double x is: " + y);
}
</script>
Besides that, var is "pulled" upwards, as if it was the first line in the function. That may have side effects.
Metamine reappears from the void, and wins over the hearts and minds of programmers everywhere with it's clever and powerful combination of imperative and declarative techniques.
Concepts like "files" and "software" and "code" no longer exist in human society because all interactions with software and devices are done through seamless natural language integration with AI. The AI won't tell you about any of these things for your own protection.