miércoles, 18 de junio de 2014

La nueva torre de babel

Cada compañia de software se jacta de generar un nuevo lenguaje de programacion que resolvera por completo la vida del desarrollador!
JA!
Y entonces, cuantos lenguajes debe conocer un desarrollador actualmente?
Esto ha generado una verdadera torre de babel!!! como dialogaran entre si esos nuevos lenguajes? se supone que ya existe el XML, los web services, comunicacion entre procesos, etc. para poder realizarloñ pero.... los que generan esos compiladores, se preocuparan por generar la comunicacion para con otros lenguajes?? Google, Apple, Facebook, etc. diseñarán e implementarán un lenguaje comun?? ( el ESPERANTO para los lenguajes o el equivalente al INGLES )

cuantos lenguales conoces?

exito en tu programacion!
:D

2 comentarios:

  1. Hola Chuy,

    El problema lo hemos tenido desde hace ya bastantes años, nuevos lenguajes son desarrollados todo el tiempo y, en cualquier aplicación no trivial nos vemos forzados a comunicarlos entre si. Creo que Microsoft ha hecho un buen trabajo desde el inicio, COM fué una solución bastante sólida, aunque la complejidad era brutal.

    Más recientemente (no tanto, en realidad), tanto .Net como Java han creado nichos de interoperabilidad que funcionan bastante bien. Podemos tener una misma aplicación escrita en diferentes lenguajes "hablando" un mismo lenguaje, en el caso de Java, podemos tener código fuente de Scala, Clojure, JRuby, Jython y el mismo Java, (entre otros) todos interoperando en la misma aplicación, incluso compartiendo el stack, heap y el garbage collector, cosa que con otro tipo de soluciones, como IPC o Web Services, no es posible. Esto se logra gracias a que dichos lenguajes son compilados a un lenguaje común, el Java bytecode, o en el caso de .Net el CLR.

    En cuanto a si entre todos crearemos un nuevo lenguaje común que resuelva los problemas de todos, lo dudo. Todos (o la mayoría) los lenguajes de proposito general son diseñados para resolver la mayoría de los problemas que tenemos en el momento de su diseño, pero nuestra industria evoluciona día a día y encontramos nuevas dificultades para las cuales nuestros lenguajes no están listos, como resultado, nuevos lenguajes nacen. Quienes los diseñan y los patrocinan tienen la mejor de las intenciones, creen que van a cambiar al mundo y algunos lo hacen. Otro detalle es que muchos lenguajes nacen con proposito muy especifico, explicitamente sacrificando areas (performance, por ejemplo) que los hace no aptos para proposito general.

    Creo que debemos aceptar que seguiremos viendo nuevos lenguajes todos los días y manetener una mente abierta. Personalmente, en el pasado no lo he hecho, cuando se anunció Dart pensé "que tontería, no necesitamos eso, ¡JavaScript ya ganó! ¡que desperdicio de recursos!", mi reacción fué similar ante TypeScript. Hoy creo que debemos darles la oportunidad de innovar, porque el mundo no puede mejorar si seguimos haciendo lo mismo todo el tiempo, hay que evolucionar la industria.

    ResponderEliminar
  2. Efectivamente Marcelo!
    acerca de COM, estoy de acuerdo contigo, tambien recordare que COM fue una especificacion que salio "tarde" ya que BORLAND en aquellos anios le gano con otra especificacion de comunicacion entre objetos.
    Lo que queria resaltar es que creo evidente de que las companias quieren asumir el CONTROL de un lenguaje y al no tenerlo entonces lo compran (como el caso de Oracle) o generan uno nuevo (Apple que saca su nuevo lenguaje) es decir, esto de los lenguajes tiene su parte POLITICA! :)
    lo bueno es aunque sean "peras" o "manzanas" esto genera mas trabajo para los desarrolladores y al "final de dia" es bueno! :D

    ResponderEliminar