12/5/2012 22:13 Lucas Ontivero

ECMA Harmony y la conquista del mundo

Dicen que existe un plan para que javascript domine el mundo en los próximos años, y a decir verdad, y viendo las propuestas que se plasman en el draf del ECMA-262 sexta edición, creo que el plan aunque algo silencioso sigue a marcha firme.

Quiero mostrar aquellas propuestas que a mi me resultan más interesantes:

Strings

Lo bueno: se agregan métodos startsWith(), endsWith(), contains(), repeat(), toArray()

Lo malo: la interpolación de strings no forma parte del draft actual, esta feature permitiría crear string de manera más natural, como por ejemplo:

image

en lugar de usar las formas actuales:

image

Destructuring

Esta es una de mis preferidas y permitiría entre otras cosas que una función retorne más de un resultado:

image

Iterar las propiedades de los objetos de manera más natural:

image

y quien sabe cuantas cosas más!

Iterators

for-of para iterar sobre los valores de las propiedades en lugar de hacerlo sobre las propiedades es sí mismas.

image

Generators

Esto nos tienen que resultar familiar a todos, solo hace falta ver el yield para darse cuenta de cómo funciona. Exactamente como se hace en .Net. Ahora podríamos por agregarle al prototype una función where, por ejemplo, para evaluar un predicado contra cada uno de los elementos del iterador y listo, tendremos linq en ECMAScript. (pero mejor ver Array comprehension)

image

Lo mismo pero quizás más claro y conveniete puede realizarse con un Generator comprehension:

image

Lambdas

Aunque actualmente no forma parte del draft de la versión 6, la discusión está vida. No hay que explicar nada.

image

Array comprehension

image

¿Quien no entiende esto? es un generator que retorna los cuadrados de los números pares de numbers.

Let

Si bien la idea detrás de la sintaxis de javascript era parecerse a java, pocos lenguajes se parecen tan poco. El scope de las variables en javascript es la función y no el code block como en java. Let es justamente para limitar el scope al code block.

image 

Estas son solo unas pocas de las propuestas que se discuten actualmente y que me han gustado más. Otras más importantes quizás sean las de modularidad del lenguaje, pragmas y API, pero a mi me gustan las que tratan sobre la expresividad del lenguaje y la verdad es que con estas y otras propuestas tomadas de ruby y python, ECMAScript va a dar un lindo paso en su plan de conquista del mundo.

Archivado en: ,,,,,,
Comparte este post:

# re: ECMA Harmony y la conquista del mundo

Monday, May 14, 2012 3:31 PM by Eduard Tomàs i Avellana

Buenas figura!

¿Sabes que el otro día, en unas ruínas Mayas localizadas en Belice encontraron una piedra tallada con sentencias javascript? Son los Mayas los que empezaron con un plan secreto para que Javascript dominase el mundo. Después los siguieron los Illuminati y el Priorato de Sión, pero bueno, eso son otras historias.

Gran post! De lo que mencionas me encanta Destructuring (es uno de mis sueños húmedos para C#, ahora que nos estamos "funcionalizando") y Array Comprehension. Brutales.

De hecho, en el fondo no nos engañemos, no es Javascript quien dominará el mundo... es la programación funcional! ^_^