¿Pueden Coffeescript y TypeScript sustituir completamente ‘escribir JavaScript’?

Si alguno de los dos fuera a hacerlo, sería TypeScript, ya que las anotaciones de tipo hacen que JavaScript sea mucho más fácil de escalar y el motor de inferencia de tipos facilita el desarrollo.

CoffeeScript no lo veo como reemplazo de JS para proyectos grandes. CS es bueno para cuando quieres escribir una aplicación rápida y sucia.

Pero ninguno de estos lenguajes reemplazará la escritura de código JavaScript, porque agregan otra capa de complejidad. Para escribir un proyecto en TypeScript, por ejemplo, su equipo de desarrollo necesitaría conocer ES6 y la sintaxis adicional de los tipos, interfaces, tipos de unión, etc. de TypeScript.

En la industria, cuando el tiempo es un factor, tiende a querer evitar cosas que agregan otra capa de complejidad. Una gran razón es que reduce la cantidad de desarrolladores que pueden agregar a su código heredado, ya que las habilidades necesarias serían aún más especializadas.

El único cargador de preprocesamiento de JavaScript que veo que realmente reemplaza a la escritura simple de ES5 es Babel, ya que ES6 es estándar con Node de todos modos.

Por supuesto que puede. Ambos idiomas funcionan muy bien, y la tendencia de crear nuevos lenguajes que se compilan en JavaScript está de moda.

Pero debes entender por qué existen. JavaScript no es nada especial en absoluto. De hecho, es bastante complicado. Pero tiene una ventaja fundamental: es el único lenguaje que viene integrado en los navegadores web. ¿Por qué? Principalmente por razones políticas e históricas.

Todos los intentos de impulsar mejores idiomas para reemplazar o complementar JavaScript en el navegador fallaron por completo.

Así que llegamos a esta situación en la que, para escribir aplicaciones del lado del cliente, debe hacerlo en JavaScript. Pero millones de programadores que aman otros lenguajes y se acostumbraron a otros estilos y paradigmas de codificación siempre anhelaban mejores alternativas y CoffeeScript demostró que escribir transpilers es una gran idea.

Pero como dice su lema, es solo JavaScript, querida la capucha. ¿Qué significa y por qué funcionan tan bien?

Estos lenguajes transpilados funcionan bien porque solo reemplazan la sintaxis de JavaScript, mientras mantienen intactos sus tipos de datos y modelo de objetos. Básicamente, la codificación en CoffeeScript es solo una forma diferente de manipular los mismos tipos y objetos de JavaScript antiguos. No es un lenguaje completamente nuevo, es solo una sintaxis alternativa para JavaScript, una sintaxis inspirada en Python y Ruby que permite algunas características que hacen que sea más apetecible morir a los pythonistas y a los rubyistas.

Bueno, sí. Si escribe CoffeeScript, entonces está escribiendo CoffeeScript, no JavaScript según las especificaciones de ECMA). Lo mismo con TypeScript.

More Interesting

¿Cuál es la diferencia entre web-1 y web-2?

Si comienza a comparar plantillas de correo electrónico, plantillas de sitios web, cualquier categoría particular en sitios de plantillas como Themeforest ... Todos parecen ser, en su mayor parte, lo mismo. O solo soy yo? En este caso, ¿qué destaca y hace que los diseños más populares sean tan populares?

¿Cuál es mejor para el desarrollo del servidor: Node.js o Python?

¿Por qué la mayoría de los blogs y páginas web muestran contenido en el lado izquierdo?

¿Cuáles son las mejores prácticas de raspado web?

¿Es posible que un desarrollador de plugins de WordPress obtenga buenos ingresos desarrollando un plugin de WordPress? ¿Cuáles son las nuevas oportunidades para un desarrollador de plugins de WordPress?

¿A los psicópatas les gusta ver sitios web sangrientos?

Cómo convencer a los desarrolladores de mi empresa para que usen Windows en lugar de Mac para el desarrollo

¿Cuál es la mejor manera de eliminar miles de páginas desde un punto de vista SEO?

¿Cuál es la mejor plataforma autohospedada para crear una red social moderna?

¿Cuál es el tipo de programación más demandado?

¿Alguna vez ha construido un proyecto de codificación desde cero? Si es así, ¿qué construiste?

¿Cuál es la mejor manera de bloquear / bloquear un servidor de sitio web?

¿Es mejor tener una API para todos mis juegos o muchas API separadas para cada juego?

¿Cuál es la forma correcta de organizar archivos en el proyecto Angular 2?