Algo como
TypeScript. ¿Podrían hacer que
TypeScript sea diferente de
JavaScript, verdad? Entonces, comencemos a eliminar las características que la gente no quiere en
JavaScript de
TypeScript. Bueno, en primer lugar, hay demandas bastante regulares para esto, ¿verdad? Hay muchas partes de
JavaScript que son extrañas e inconsistentes y que a la gente le molesta, pero ni siquiera podemos decir que es un tipo de
JavaScript, por lo que hay momentos en los que la gente quiere eso. Es decir, conceptualmente,
TypeScript podría eliminarse del lenguaje haciendo que esas cosas causen errores. Pero al final del día, el futuro de
TypeScript está alineado con
JavaScript y, ya sabes, comenzar a desmantelar
JavaScript y eliminar la compatibilidad hacia atrás arruinaría nuestra reputación con
TC39, que controla
JavaScript. Molestaría mucho a las personas que realmente lo usan porque de repente su código comienza a fallar y, como regla general,
TypeScript intenta no romper el código de las personas. Obtendrás errores del compilador a medida que mejoremos la detección de errores, pero retroceder y comenzar a regresar en cosas que han existido durante mucho tiempo no significa que no puedas hacer
JavaScript dentro y
JavaScript fuera. Y, realísticamente, debido a que es de código abierto, hay muchos colaboradores, alguien probablemente comenzaría un fork y eso parece totalmente razonable. Por lo tanto, no hay mucho incentivo para que el equipo de
TypeScript extinga
JavaScript tratando de bifurcar el lenguaje y eliminarlo.
Pero eso no quiere decir que esta idea no tenga valor. Hay un lenguaje de programación llamado Static
TypeScript que proviene de Microsoft Research. Su objetivo era hacer eso explícitamente. Querían tomar
TypeScript y convertirlo a código C. Por lo tanto, no pueden tener muchas de las trucos extraños de tiempo de ejecución involucrados en
JavaScript. Entonces, en realidad, te permiten escribir
JavaScript real en un navegador web que se compila en el navegador web a código C que se ejecuta en hardware pequeño. Cosas realmente geniales. Trabajo realmente interesante. Y lo hicieron con
TypeScript, por lo que obtienen todas las herramientas para
TypeScript, pero luego solo necesitan agregar algunos errores y advertencias adicionales para asegurarse de que se ejecute y se convierta en C. Este es un proyecto de investigación. Definitivamente no son los valores del equipo de
TypeScript. Pero es una idea interesante de cómo podría verse si
TypeScript fuera a hacer eso. Entonces, probablemente eso no suceda. Pero incluso si sucediera, el objetivo de
TypeScript literalmente sería ayudarlo a migrar de
TypeScript, ¿verdad? Simplemente compilas
TypeScript y elimina los tipos y obtienes
JavaScript. Entonces, si quisieras migrar de
TypeScript, ejecutarías
TypeScript en tu base de código en el nivel más alto de
JavaScript y luego comenzarías a usar Babel, ¿verdad? Babel nunca dejará de admitir
TypeScript en alguna forma en este punto. Y siempre habrá cosas como complementos de Babel o modificaciones de código para ayudarte a pasar de
TypeScript a
TypeScript o lo que sea. Y finalmente,
TypeScript tiene competencia, y eso es realmente genial porque mantiene a muchas personas usando sistemas de tipos en
JavaScript. Quiero que todos tengan éxito. Porque, ya sabes, cada vez que interactúas con bibliotecas, preferiría que tenga bases más sólidas al ser estáticamente analizable. E incluso hay nuevos sistemas de tipos de
JavaScript que tienen como objetivo tener compatibilidad con los archivos DTS de
TypeScript. Entonces, es poco probable que suceda de esa manera. Y, por lo tanto, es poco probable que suceda en absoluto, en mi opinión, pero esa es una de las razones por las que no hay muchos incentivos para que
TypeScript haga eso.