Google tried to do that with Dart, and failed. In fairness Dart 1 was much worse than Dart 2… So maybe that was a good thing because there’s no way they’d have been able to improve Dart as much as they have if it was part of the web.
Let’s not get ahead of ourselves. Typescript has a decent type system, but it’s hardly state of the art. It’s impressive how they’ve managed to mostly corral JavaScript into something much more sane, but at the end of the day it still suffers greatly from the limitations of JavaScript. They’ve essentially retrofitted some type theory onto JavaScript to make it possible to express JavaScript nonsense in the type system, but there’s plenty of things that would have been designed differently had they been making something from scratch. Not to mention that the type system is unsound by design, which by itself puts it behind languages designed from the ground up to have sound type systems.
There’s many, many things missing from the type system, like higher-kinded types, type-driven deriving/codegen, generalized algebraic data types (aka GADTs), type families (and relatedly, associated types), existentially-quantified types, and much more.
Can we start a new web with a better language/platform already?
Google tried to do that with Dart, and failed. In fairness Dart 1 was much worse than Dart 2… So maybe that was a good thing because there’s no way they’d have been able to improve Dart as much as they have if it was part of the web.
For dates there finally is something better anyway: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal
Why? Why not improve JS (e.g. with Temporal), especially given how excellent Typescript is?
JS is a lost cause.
How? It’s easy not to run into the common issues by using TS. What’s so bad about it that we should throw away the existing ecosystem?
Please give arguments instead of platitudes.
I wouldn’t call typescript excellent, if I did it would be on a very low standard.
It unquestionably is excellent. Can you name another language in common use with a type system that’s close to the expressiveness of Typescript?
Let’s not get ahead of ourselves. Typescript has a decent type system, but it’s hardly state of the art. It’s impressive how they’ve managed to mostly corral JavaScript into something much more sane, but at the end of the day it still suffers greatly from the limitations of JavaScript. They’ve essentially retrofitted some type theory onto JavaScript to make it possible to express JavaScript nonsense in the type system, but there’s plenty of things that would have been designed differently had they been making something from scratch. Not to mention that the type system is unsound by design, which by itself puts it behind languages designed from the ground up to have sound type systems.
There’s many, many things missing from the type system, like higher-kinded types, type-driven deriving/codegen, generalized algebraic data types (aka GADTs), type families (and relatedly, associated types), existentially-quantified types, and much more.