Hace 7 años | Por tusko a news.softpedia.com
Publicado hace 7 años por tusko a news.softpedia.com

Ecma International, la organización a cargo de gestionar el estándar ECMASCript, ha publicado la versión más reciente del lenguaje JavaScript.

Comentarios

D

#1 En los servidores ya están implementados y para los navegadores está casi todo implementado en todos, lo que no, se puede suplir con polyfills. Yo lo llevo usando dos años.

cc #12

D

#23 Quieres decir para programar como programas en otros lenguajes. El lenguaje prototipado está pensado para trabajar de forma distinta. Claro que, como somos de mollera dura, ha sido necesario meter los cambios. Que, ojo, usar class name en vez de una autoejecutable con constructor te ahorra mucho texto, estoy de acuerdo Pero vamos, que OOP ya era.

D

#43 Bienvenido a los lenguajes de scripting, tron. Para algo existen el ===, el Number.isInteger() y el parseInt(). El isNaN lo debes usar cuando utilizas una operación que esperas que te pueda devolver un NaN.

Nova6K0

Ahora cuando quieras poner un asterisco usarás *** lol (aquí en Menéame cinco porque el asterisco es lo que vale para poner algo en negrita)

Salu2

m

#8: Creo que lo quitaron: asterisco

#Edito: pues tienes razón, se sigue marcando por asteriscos.

D

Un lenguaje que tiene una función isNaN que te devuelve false si se le pasa una cadena vacía, no merece ser llamado lenguaje ni nada parecido.

s

#34 Podríamos decir lo mismo en su día de C si la suma de dos enteros positivos muy grandes diera un número negativo?

Ese error y alguno más (0.1+0.2 == 0.3 //-> false) están controlados.

Por cierto, los errores de punto flotante son comunes a casi todos los lengaujes.

p

#37 El error está en lo que esperas tú del punto flotante, no en los lenguajes.

s

#40 Se espere lo que se espere:
0.1 + 0.2 == 0.3 es true.

Sabemos por qué da false, pero que lo sepamos no implica que no sea un error. Lo mismo pasa con el ejemplo de isNaN. Sabemos que cadena vacía no es un número por tanto ahí hay un error.

D

#37 Si lo consideras error, la suma que has puesto también falla en Javascript.

#41 Ya, pero considerar que una cadena vacía se convierte en cero...no me jodas.

s

#43 Claro, por eso lo dije. Falla en Javascript, en Python, en PHP...
Es un error de coma flotante. Cualquiera que conozca mínimamente los fundamentos de aritmética binaria lo entiende.
Pero es un error.

g

#43 Alguna vez escuchaste sobre los Truthy y Falsy en JavaScript?, pues eso, una cadena vacia equivale a false (0)

D

#37 Casi, Scheme usa racionales y posee exact->inexact para imprimir flotantes.

D

#34 NaN es un valor especial, hay otros métodos de comprobar si una variable o expresión devuelve un número o no.

D

#22 Eso sería posible si en los navegadores se pudiese ejecutar cualquier lenguaje. Pero dado que solo se puede usar JavaScript, es un aro por el que tenemos que pasar TODOS (salvo los que programen escritorio exclusivamente y/o drivers, que son minoría).

De hecho, en servidores, sí que se estila eso de "lo hago en Python/C/.NET/Ruby porque puedo". Por desgracia en navegadores no, y javascript es un lenguaje pésimo en mi opinión. El día que tenga multihilo y no dependamos de las async para hacer cualquier gilipollez empezaré a apreciarlo más.

¡Viva Python y Django!

Arlequin

#31 WebAssembly debería solucionar ese problema. Si termina implantándose va a ser una bomba porque JavaScript tendrá que justificar su uso de igual a igual con el resto de lenguajes.

borteixo

Ya estamos en ES7?
Mecagonlaputa, esto es peor que los cambios de la RAE.
Será para vender libros o algo, no creo que sea necesario lanzar nuevas especificaciones de javascript anualmente.

D

#10 Hay muy pocos cambios en ES7, el verdadero bombazo fue ES6, que más o menos ha terminado de llegar a todos los entornos. El año que viene quizá saquen las funciones "async", con lo que el manejo de llamadas asíncronas con "estilo secuencial" ya quedará normalizado del todo. Creo que el MS Edge ya lo soporta, curiosamente.

borteixo

#13 pues más razón para mi: si es poco cambio espérate al año.

D

#15 Supongo que no quieren volver otra vez a lo que les pasó con ES6. Esperaron tantos años que al final metieron mil cosas de golpe. Ahora quieren ir más en plan incremental, para que todos tengan tiempo de ir implementando los cambios.

D

#10 #15 Ahora es ES2015 (lo que era ES6), y ES7 es ES2016. Han cambiado el sistema precisamente por lo que dice #16, ahora podrás ir obteniendo poco a poco nuevas features, sin que sea traumático cambiar de versión o empezar a utilizarlas.

m

#20: De hecho lo traumático no se añadir opciones, sino quitarlas, porque pierdes la compatibilidad con lo anterior.

D

#26 Igualmente ha sido traumático. Porque las nuevas características te las tienes que comer tarde o temprano o te quedas atrás. Sólo con las promises, las funciones de tipo generador, las funciones arrow, las clases (poco recomendables pero te las puedes encontrar), las variables declaradas como const o let, parámetros por defecto, parámetros rest, operador spread, el destructuring, etc. etc. etc.

Tienes características nuevas para aburrir y las librerías las están implementando ya poco a poco. Los ejemplos de código en github o en los blogs javascripteros los hacen ya todos en ES6 y mucha gente lleva años (literalmente) usando traceur o babel para poder programar en ES6 independientemente de que el entorno lo soporte. La mayoría de libros clásicos de javascript se han quedado cojos.

Y ahora que V8, firefox y los demás se han terminado de poner las pilas, los programadores se van a tener que adaptar por obligación. Y esos cambios no se aprenden en dos días.

D

La versión en pdf del estándar está disponible aquí:

http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

M

Notición: seguirá habiendo trabajo para mucha gente, por muchos años

D

Yo me puse a hacer un proyecto en Dart y me suplia casi todas las carencias que había encontrado en años pegándome con JS.
Lástima que se quedase atrás.

s

#39 Por curiosidad, en qué consitía el proyecto? Algo que se puede traducir en "para qué sirve Dart" que lo diferencie de otros lenguajes de uso común ya existentes?

Por ejemplo, entiendo sacar swift para modernizar el "horroroso" Objective-C; pero Dart... para qué? Para "modernizar" Javascript? Ya lo están haciendo con ES6.

D

#44 era más un experimento para aprender Dart que algo serio. Era un juego para el navegador.
Desde luego tengo que estudiar las nuevas versiones de javascript, pero aún así me gustaba bastante Dart, pero está claro que no puede competir.

ur_quan_master

/>document.write('que tal viene en cuestiones de seguridad?')

Ludosofo

#14 alert('#14 ni puta idea macho')

D

#14 ¿A qué te refieres exactamente con ”cuestiones de seguridad”?

#24 Aunque su sintaxis sea muy parecida tienen usos muy diferentes. No sé qué manía tiene la gente de comparar peras con botijos.

Peachembela

a mi me cuesta programar

Sofrito

#58 Yo he programado en JavaScript un montón de años. He expandido mi mente lo suficiente. Y no quiero expandirla más. Porque todo tiene un límite elástico.

Sofrito

Me parece muy bien. Pero en lugar de publicar nuevas versiones de JavaScript, PHP u otros lenguajes obsoletos, lo mejor sería crear un lenguaje desde cero y fuertemente orientado a objetos. Éso sí que sería un notición.

Por desgracia Dart (https://www.dartlang.org/) fracasó en su intento de convertirse en una alternativa a JavaScript. Lo cual fue una pena, porque es un lenguaje cojonudo y fácil de aprender. Ahora mismo lo estoy usando en un proyecto y es una delicia.

Sofrito

#21 técnicamente es OOP, pero en la práctica no. Tenemos que recurrir a diversos trucos para bordear aspectos que otros lenguajes cubren desde la propia sintaxis.

Al final tenemos un montón de trucos para declarar clases y otros para solucionar la dependencia de paquetes. Lo que hace del código algo muy difícil de mantener.

Sofrito

#18 creo que los programadores se obsesionan demasiado con esos datos. En realidad deberíamos usar el lenguaje con el que nos sintamos más a gusto y pasar un poco del "trending topic".

Sofrito

#28 El chiste es bueno, pero no dice que sea malo que haya muchos estándares. De hecho, es bueno. Si sólo hubiese un estándar, también habría un único comité. Y, con qué derecho se asigna un comité a pronunciarse sobre la legitimidad de un estándar? Con ninguno.

Viva la variedad. Viva la libertad.

Sofrito

#60 Ya respondí en #57. Que haya muchos estándares no es malo. Al contrario. Porque si un único comité se pronuncia sobre la legitimidad de un estándar, nos estaría "obligando" a usarlo, aunque sea una mierda. Piensa, por ejemplo, en la DOM de JavaScript, que es una mierda. Y jQuery tuvo que poner de su parte para poder acceder a objetos DOM de forma natural e intuitiva.

Aih, me voy a la cama.

D

#11 un lenguaje es obsoleto cuando deja de usarse, PHP y JavaScript son lo que hay, es lo que se usa, mientras se le de soporte con actualizaciones y se use ya puede haber mil lenguajes modernos de nombres variopintos que van a usarse para poco más que proyectos caseros.

Sofrito

#49 Obsoleto quizás no sea la palabra adecuada. Arcaico.

D

¿Y las personas normales que simplemente navegamos por la web qué cambios vamos a ver?

D

#55 Estas cosas no se ven, más bien se sienten. En la velocidad de funcionamiento de las webs/aplicaciones web, y en la menor cantidad de veces que petan al ser más fáciles de mantener.
Pero como esto es más bien un "parche" para ES6, más que una versión entera, pues seguramente se note poco o nada... suponiendo que la web de turno ya use ES6.

vaiano

Es aquí donde se crean flames diciendo que c es para hombres y javaScript para leims?

tartarus

'JavaScript developers will finally get a "raise to the power" operator, which was mysteriously left out of the standard for twenty years.'

El doublespeak aquí es brutal.

Ludosofo

¿Se actualiza automáticamente? ¿Que incluye?

D

No se por qué ponen fecha a los estándares; cuando los navegadores los implanten ya han pasado 2 años

D

#2 ¿ya van por el 8?

t

#3 A los otros no los considero "gente".

D

#4 los navegadores no son personas

t

#5 Vaya, te entendí mal. Pensaba que habías preguntado por la gente que usa versiones de Internet Explorer antiguas, no por una versión de Internet Explorer nueva...

Van por la 11. Pero Microsoft ya ha dejado de pensar en IExplorer y ahora intentan colarle a la gente un "nuevo" navegador: Microsoft Edge.

Seguro que tú ya lo sabes, pero por si entra algún despistado...

D

#6 Edge = IE - toda la mierda de retrocompatibilidad.

D

#2 pfff y cuando curras para la administración todos tus scripts deben ir en vista de compatibilidad, que te baja al 7.

Imagina cómo peta todo en ie 7.

Florida_man

#17 usa webpack + Babel y listo

D

#2 Por suerte Chrome ya actualiza automáticamente y Firefox la última vez que lo utilicé te ofrecía las actualizaciones de manera semi-automática. Y los que usan IE... dudo que les importe que las páginas web que visitan funcionen bien, precisamente los que lo usan suele ser para acceder a páginas del Estado (seg.social, etc.) y ni siquiera estas funcionan bien.