¿por que tantos lenguajes y frameworks diferentes?

Todos conocemos a ese típico programador con 2 años de experiencia y super orgulloso que dice “yo programo en lo que sea, el lenguaje es un medio y todos son buenos y yo soy bien pinche chido”

Si conocen a un programador así, aléjese con calma y nunca lo contrate. La realidad es que los lenguajes son diferentes, y los frameworks también. Si… comparten las mismas bases logico-matematicas, pero la similitud entre lenguajes se suele quedar en la forma casi estándar de plasmar un for y un while. los lenguajes no son iguales y los frameworks aun lo son menos.

Para empezar, debemos comprender una razón tan simple del por que los lenguajes son diferentes y por que algunos son mejores, otros son peores  para resolver  determinado problema.  Los lenguajes son diferentes por que quienes los escribieron son diferentes  y cuando lo escribieron estas personas creyeron que podían hacer las cosas mas eficientes que el lenguaje/framework popular de turno para resolver el problema que en su momento tenian.

Un lenguaje tiene su filosofía, reflejo de su creador… algunos tienen una filosofía académica como Java, otros empresarial como .net,  otros de sacar la chamba como PHP, algunos mas de simplicidad como Python y algunos locos quieren que las cosas ocurran mágicamente como Ruby.

Todo el mundo odia los geters y los seters de la orientación a objetos; los programadores de java queriendo hacer mas fácil su trabajo hicieron que su entorno de desarrollo los generara a partir de una combinación de teclas. Los programadores python decidieron no usarlos

El lenguaje/framework que usamos es en realidad un reflejo de nuestra personalidad; por ejemplo yo no puedo programar en java. no por que no lo conozca, lo conozco y me causa dolor de cabeza cuando para hacer algo tengo que respetar reglas que un académico decidió que eran buenas sin  a verlas creado en razón a la experiencia de usarlo. También me es difícil aceptar usar nodejs (aunque me es mucho mas fácil que java) la falta de herencia e importaciones me parece que generan código sucio cuando el sistema que se realiza es grande.

Teniendo como ejemplo ambos lenguajes. uno se pregunta ¿por que uno si y otro no? se programar en ambos. Pero no somos maquinas, tenemos personalidad definida por una filosofia… por ejemplo algunas de ellas:

  • java tiene una filosofía de estructura rígida.
  • .net tiene una filosofía de atarte a comprar (en mayor o menos medida) productos de microsoft
  • nodejs tiene una filosofía de al diablo todas las reglas si hacemos esto así es mas fácil de programar.
  • python tiene una filosofía de al diablo las reglas, pero mantengamos las cosas limpias y estructuradas.

incluso dentro de un mismo lenguaje  nos topamos con que los frameworks son realmente diferentes.

En php por ejemplo, algunos pensaron que era mejor hacer un sistema de plantillas que simulara una herencia.. otros pensaron que mejor tener una plantilla principal con includes, algunos mas creyeron conveniente que el programador final no debía tocar para nada el controlador. otros hicieron un envoltorio para que pudiera tocarse el controlador. algunos creyeron buena idea hacer un ORM, otros solo manejar DAOs…  no hay forma de elegir que es correcto… y menos de saber si lo que crearemos es correcto antes de empezarlo.

Si vamos a trabajar de esto… Al menos vamos a hacerlos siendo nosotros mismos, elijamos lo que mas se apegue a quienes somos y volvámonos los mejores en ello. Ser fieles a nosotros es mejor que ser infelices programando en algo que no queremos por mero capricho de la gerencia de turno.

Martin Quinta

Crecí con una computadora desde el kinder. Empece a programar a los 14 y hoy, mas de una década después… realmente odio estar frente a una computadora. Pero programar es en lo que soy bueno, por lo tanto me desahogo en este blog mientras bebo cerveza artesanal y pienso en un mundo bonito donde Java no existe.

Facebook Twitter LinkedIn  

Entradas relacionadas:

2 comentarios en: “¿por que tantos lenguajes y frameworks diferentes?

  1. Pues yo si que programo en lo que sea porque tengo buena base y me adapto a cualquier lenguaje porque un framework no es mas que un conjunto de librerias para facilitarte la vida ahora bien, una cosa es un framework light que son los que me gustan y otra muy distinta es un framework intrusivo, esto es que te cambia completamente la logica de desarrollo y su curva de aprendizaje es demasiado elevada y no me suelen gustar, por ejemplo odio jquery porque de una version a otra te quitan una funcion que puedes estar usando en todas tus aplicaciones y subes de version el servidor que justamente viene con un jquery superior y zas ostiazo con todas las aplicaciones menos con la nueva que lleva un desarrollo de 3 años, cual echas para atras? las 20 aplicaciones de toda la intranet?, la nueva que es superimportante que este ya en produccion? es el motivo principal por lo que no me gustan los frameworks porque ni siquiera aseguran retrocompatibilidad ademas que sobrecargan con demasiadas funciones cosas que jamas vas a utilizar sobre todo web, de todos modos el problema es la excesiva dependencia de frameworks y que hoy esta de moda y mañana obsoleto, paro javascript + dom sigue siendo javascript + dom, y es lo que te va a permitir realizar un desarrollo a medida real, el framework limita, esta bien para uso general, pero no para uso sistemico de el.

    He llegado a ver autenticos buenos codificadores de angularJS en las que se atascan en cuanto ven javascript puro o les cambian el framework, si conoces el lenguaje fuente manejar una libreria (framework porque eso es lo que es una libreria) se pierden

    Es como decir que yo programo en c y que no me contratan porque no conozco las funciones que hay en la io.h, a ver ostias tan facil como abrirf el io.h y ver las funciones que tienen definidas y descripcion para que se utiliza, es que una cosa es funciones que te ayuden y otra aprender un lenguaje nuevo creado a partir de otro que supuestamente sirve para agilizarte la vida como desarrollador y es en ese punto en el que no estoy deacuerdo, porque la calidad del producto final no es tan bueno y su uso (frameworks) hace que no sea todo lo optimo que debería ser.

Leave a Reply

Your email address will not be published. Required fields are marked *