Recuerdo cuando aprendía BASIC con el Sinclair ZX Spectrum. Después de los comandos de entrada/salida tipo PRINT e INPUT, lo siguiente que uno aprendía eran las variables y como declararlas. Para eso se usaba la palabra clave LET.
Cuando pasé a GW-BASIC, el dialecto de BASIC interpretado de Microsoft, me alegró ver que se habían dado cuenta de una cosa, LET era redundante, así que había pasado a ser algo opcional. Daba igual que escribieras:
LET a=0
Como:
a=0
Pasó el tiempo, y llegó la era de internet, apareció Javascript, que por aquel entonces se conocía también como ECMAScript. En él, declarar variables era opcional, así que uno podía escribir:
var a=0;
Pero copiando al BASIC de Microsoft, también podía omitir el var:
a=0;
Después de eso pasó más tiempo, fue Swift de Apple el primer lenguaje en el que volví a leer un código que usaba el keyword let en la declaración de variables.
Y bueno, ahora con el nuevo Javascript (ECMAScript 2015), que como véis, retoma la denominación ECMA, la palabra clave let vuelve a tomar sentido. Aunque var sigue existiendo, la complementa para la declaración de variables de ámbito local.
Así que como decía al principio, y aunque nos parezca que todo cambia muy rápido, a veces se vuelve atrás, y ese LET de 1982, vuelve a cobrar vigencia.
Qué tiempos aquellos, con estos recuerdos y con mi Pacman, gracias por este texto para recordar GUTI.
Saludos.
Ricardo yo era muy fan de la siguiente versión Pacmania. Tanto en recreativa como en el Sinclair ZX Spectrum me maravillaban. En todo caso, aprovecho para dejar aquí algunas imágenes para el recuerdo:
Buenos días D. Javier y D. Ricardo.
¿Qué tiempos? aunque no soy muy ducho en esto de la programación (con nociones más básicas que un palo de escoba) y los videojuegos nunca fueron muy fuerte. Reconozco que estos albores (inicios) nos llenaron de una mágia inmensa. Quién no se acuerda de la película Juegos de Guerra (hoy la volveré a ver) y Tron.
Una buena entrada D. Javier mi enhorabuena.
Fue una época memorable Sergi. Y diría que también irrepetible. El auge de la electrónica de consumo, la informática personal, la popularización de la tecnología… En aquellos tiempos se veían avances año tras año. Nada que ver con el estancamiento actual. Todo se vende como innovador y revolucionario, pero no es más que marketing.
¡Es que con JavaScript hemos topado! Quizá el lenguaje con más particularidades del mundo, ya que ni var ni let ni el no poner nada son exactamente equivalentes! Hace poco salió un libro sobre crear lenguajes de programación y explicaba un poco por qué la tendencia ahora es a volver a poner let (o equivalente): http://craftinginterpreters.com/statements-and-state.html#design-note
En efecto aarroyoc, let indica un ámbito local, así que en Javascript no es exactamente igual que var.
@Guti, has mentado la bicha: ¡JavaScript! En mi opinión, el COVID-19 de los lenguajes de programación.
Como será la cosa que, en su día, uno de los libros de la editorial O’Reilly más vendidos acerca de este lenguaje de programación se titulaba «JavaScript: The Good Parts» [1]
Como es sabido, la industria lleva años arreglando este lenguaje de programación a través de ECMA International. Digo ‘arreglar’ por que comenzó como una chapuza allá por 1995: a su creador, Brendan Eich, le direron 10 días para hacerlo [2].
En lo que a mí respecta, la tirria que le he cogido a JavaScript no se me irá nunca.
[1] http://blog.primarilysoftware.com/downloads/2018-01-08-so-you-want-to-make-a-bridge-net-plugin/javascript-the-good-parts.jpg
[2] https://en.wikipedia.org/wiki/Brendan_Eich#Netscape_and_JavaScript
un relojista con Javascript pasa como con muchos lenguajes de programación que empezaron siendo de «broma». Me viene a la mente también ActionScript (Flash) y Lingo (Director). Con el tiempo fueron evolucionando, pero muy limitadamente, puesto que arreglarlos representaba romper la retrocompatibilidad.
Personalmente me gustan mucho los lenguajes como VB, te permiten hacer cosas a lo bruto (con variables sin tipo y sin declarar), pero también trabajar de forma tipada si es lo que quieres. Eso permite la flexibilidad de hacer cosas rápidas, y hacer cosas bien, el programador elije. Creo que Javascript/ECMAScript debería aprovechar ese camino. Añadir tipos de datos primarios, etc, pero mantener la compatibilidad con el código antiguo.