Creo que de alguna manera construir un lenguaje que se compila en otro idioma parece una mala idea desde el principio, en lugar de aprender JavaScript correctamente desde el principio. Mira Douglas Crockfords Good Parts y luego estás enganchado. Y javascript no es difícil: escribir un buen código es difícil independientemente del idioma. Si escribes código malo en javascript, entonces probablemente escribirás código malo en coffeescript o lattescript o cuál será el sabor del día. Y decir que la sintaxis de coffeescript es hermosa me pasa. Me gustan mis llaves y la sintaxis C, y preferiblemente trabajaría en un lenguaje que sea así (¡perdón VB!). ¡Y más juguetes e idiomas y marcos para hacer lo mismo una vez más ya no me parecen progresos!
javascript
marko
fuente
fuente
Respuestas:
CoffeeScript es principalmente una sintaxis diferente a la de JavaScript.
Si entiendes JavaScript y realmente entiendes JavaScript, entonces puedes usar CoffeeScript si dices, prefieres espacios en blanco y
->
Considero que la diferencia entre JS y CS es la misma que discutir sobre
(lo último es mejor. Cualquiera que haga lo primero debería recibir un disparo).
De todos modos, el problema principal con coffeescript es que las personas entren (principalmente desde rieles) y luego escriban coffeescript sin saber javascript.
Por lo tanto, coffeescript tiene todos los mismos defectos que jQuery. Son solo más puntos de entrada para que los programadores malos escriban más JavaScript incorrecto. Realmente necesitamos resolver la calidad del código de alguna manera.
fuente
the latter is better. Anyone who does the former should get shot
- depende del idioma - me gusta el primer estilo, pero no es compatible con JS, que es mi idioma principal;)it depends on the language.
Creo que se refería con respecto a JavaScript.Existe una idea errónea de JavaScript como lenguaje de "juguete". Esto hace que las personas lo consideren como algo con lo que jugar, en lugar de usarlo para algo sustancial. Agregue eso a la barrera de entrada baja (es decir, ya tiene un navegador y un editor de texto, para que pueda comenzar a escribir JavaScript), y termine con una gran cantidad de personas que no entienden el idioma escribiendo cantidades masivas de código, y sulying el nombre "JavaScript".
No es una mayor (absoluta) cantidad de malas JS que otros idiomas, debido a que el aumento de la visibilidad. Los malos hábitos se vuelven comunes a medida que el mal código se propaga por la web y las personas ven la fuente en páginas que no han sido verificadas por su precisión o buena práctica, y JavaScript termina con un mal nombre debido a eso.
Por estas razones, las personas sienten la necesidad de construir lenguajes más familiares (más "reales") que se trasladen a JavaScript. Quieren la comodidad de la OO clásica, la escritura estática y otras características que aparecen en otros idiomas. Ven las monstruosidades creadas por programadores inexpertos que utilizan JS, y piensan que debe ser el resultado de los "defectos fundamentales" (para citar a Google) en el lenguaje.
</rant>
De todos modos, usa lo que quieras. Me quedaré con mis literales de objetos, escritura dinámica y prototipos de OO, gracias.
fuente
class
: - /Creo que el beneficio (descargo de responsabilidad: no he usado CoffeeScript más allá de jugar con el ejemplo en el sitio web) es que hace que JavaScript sea un poco más intuitivo para la multitud a la que atiende: es decir, la gente de Ruby / Python.
Personalmente, no veo la necesidad de CoffeeScript, ya que me gusta la sintaxis de JavaScript. Sin embargo, veo cómo podría ser útil.
fuente
->
y=>
) ya que he usado Ruby / Python un poco, pero creo que no deberíamos tratar de ocultar JavaScript debido a lo ubicuo que es. Sí, algunos de ellos son torpes, pero aprender JavaScript "puro" es IMO, un mejor retorno de la inversión debido a la proliferación de JavaScript "puro" en la naturaleza.Si te gusta la sintaxis o no es subjetiva, sin embargo, el hecho es que CofeeScript se encarga de algunas molestas verrugas de JavaScript. Por supuesto, aún no está claro si vale la pena introducir un nuevo lenguaje y hacer frente al paso de compilación.
fuente