17 de abril de 2010

Javascript

Tener un blog que pretende seguir e incluso predecir las modas tecnológicas de Internet tiene sus riesgos. Cuando uno escribía, hace pocos años, de aplicaciones web que sustituirían a las aplicaciones de escritorio de toda la vida -es lo mismo de lo que hablaba todo el mundo-, uno intentaba hacerse una idea de como sería la cosa más allá de las palabras huecas de los evangelizadores, preguntándose cómo funcionarían sus engranajes. Sin embargo, a medida que el futuro se va haciendo presente, las realidad va desbancando a las imágenes. Llega Gmail, llega Google Maps, llega Google Reader, llega Google Docs, llegan mejoras drásticas en la ejecución de Javascript, y el progreso tan idealísticamente anhelado se hace un hueco en la vida cotidiana y se convierte en algo muy útil y con piezas muy bien ensambladas, pero pierde su halo de ideal y maravilloso, que ya no sorprende a nadie (excepto a unos pocos e interesantes casos). Lo olvidamos y pasamos a anhelar el siguiente invento que los medios nos prometen para dentro de pocos años, y que no hará sino repetir el ciclo de permanente ilusión-desencanto que nos causa nuestro hambre insaciable de progreso material.

Esto viene a cuento de lo que ya se ha anticipado en internet varias veces: la posible ascensión de Javascript a lenguaje el que se acabarán escribiendo no ya las aplicaciones web, sino todo tipo de aplicaciones que tengan requisitos "generalistas". Se puede opinar que no es un lenguaje bonito, que si sus entornos de desarrollo, que si diferencias entre navegadores, que si no permite acceder al software ya existente, que si cualquier otra cosa. Pero tarde o temprano tocará incluir funcionalidades de redes sociales, implementar interacción con alguna cosa de Google, o utilizar una librería que esté escrita en Javascript. Cosas así, ya saben. Sumas de factores que acaben impulsando a los desarrolladores en masa hacia entornos basados en ese lenguaje. ¿Por qué C++/Win32 creció tanto en los 90, por ejemplo? Su ascenso sorprendió a muchos críticos y despistados lo mismo que hoy nos sorprende el navegador.

El caso es que Gnome Shell, el gestor de ventanas/escritorio de Gnome 3.0 está escrito en Javascript. ¿Es un absurdo o una genialidad? Puede ser una nueva ocurrencia lingüistica de la comunidad gnomera, o una genialidad que le de gran relevancia en un mundo futuro en el que los escritorios sean al estilo de eyeos. Puede ser una pasada de frenada, al estilo de todo aquel asunto ya olvidado de CORBA y bonobo, o no. A un servidor, de momento, le parece añadir un lenguaje más a la eterna discusión gnomera de cuál debe ser el lenguaje prioritario para implementar aplicaciones. Pero igual me equivoco.

5 comentarios:

  1. Oh, que filosófica esta entrada :-) Me sorprendió en Link a lo de Moncayo (lector colombiano). Saludo.

    ResponderEliminar
  2. Bueno, aunque GNOME Shell esté hecho en JavaScript, no hay que olvidar que en GNOME tienes total libertad para programar en el lenguaje que más te guste: C, C++, python, vala, JavaScript ...

    ResponderEliminar
  3. Holap:

    Muy interesante el artículo...

    Javascript es mi segundo lenguaje favorito (después de C, claro xD).

    A pesar de ser un lenguaje muy popular, no parece ser de los más utilizados o "importantes" (ojo con las comillas)... y tampoco pareciera que vaya a haber algún motivo que provoque un aumento significativo en su uso.

    Creo que por un buen tiempo más, la gran mayoría de las aplicaciones seguirán programándose en Java, C, C++ y PHP...

    Saludooos :P

    ResponderEliminar
  4. Des de luego es horrible ver las diferencias que puede tener un lenguaje en cuanto se ejecuta en un entorno como Internet Explorer o en otro como Mozilla Firefox, y más cuando los 2 entornos sirven para lo mismo: navegar por Internet!

    Únicamente partiendo de aquí ya tenemos un gran problema con Javascript. Me pregunto si... no! estoy casi seguro que en Gnome Shell también tendrá sus pequeñas modificaciones, o añadidos.

    Javascript, des de mi punto de vista, no tiene nada que hacer si cada cuál le añade funciones que no funcionaran si lo ejecutas en otra plataforma, ya sea porque se necesita otro parámetro o porque se llama de otra forma.

    Como programador web, intento evitar Javascript al máximo. Y en caso que no se pueda evitar, uso frameworks del estilo de jquery que suavizan el impacto en los 80.000 navegadores en los cuáles los clientes prueban la web...

    Pero es esta la solución para que Javascript llegue a ser algo más que el lenguaje de programación más odiado? Que cada cuál haga lo que le dé la gana y llegará alguien para crear un framework, una clase, una función que hará que funcione en cualquier plataforma?

    Sinceramente, espero que se normalize esta situación y que se acaben los quebradeos de cabeza... entonces apoyaré Javascript hasta el final y más si hace falta, porque por mucho que me pese, se pueden hacer muchas cosas y vale la pena. :)

    ResponderEliminar
  5. Lo que tendríamos que hacer entre todos es un escritorio usable de verdad, ligero y funcional. Nos falta desde siempre un explorador de ficheros que funcione bien, no como nautilus que cada actualización que hace es menos usable. Hay que mejorar rendimiento y mejorar aspecto gráfico.
    Lo que triunfa es lo que funciona y no las idas de pinza de los visionarios egocentristas que lo único que quieren es poder tener una entrada en su blog con el título: yo inventé el escritorio 3.0

    No me refiero al autor de este blog, si no al aire que se respira en los últimos años, cuando linux ha dejado de ser para gente insociable que se reunía en grupos de usuarios de autoayuda , a ser un moviento cool a la lucha de la vanguardia y el estilismo. Esto no quiere decir que no debamos avanzar en el aspecto visual, si no en centrarnos en crear herramientas libres, útiles y funcionales.

    que agusto que me he quedao :D

    ResponderEliminar