Ver Mensaje Individual
  #25 (permalink)  
Antiguo 30/11/2008, 12:56
Avatar de jeubeda
jeubeda
 
Fecha de Ingreso: octubre-2004
Ubicación: Argentino, en Valencia, E
Mensajes: 78
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Re: "La máquina de programar" = el fin de los programadores

Cita:
Iniciado por TolaWare Ver Mensaje
En la ciudad donde vivo, existe una empresa que realiza desarrollos con una herramienta con la cual no se escribe ninguna línea de código, utiliza un lenguaje de expresiones que permite decirle a esta herramienta que es lo que el sistema tiene que hacer, y esta herramienta genera el código necesario que lo hace.

Esta clase de herramientas tiene el atractivo que se puede desarrollar un proyecto, hecho en Java con equipo de 5 personas, tarda 5 meses, por el mismo proyecto hecho con esta herramineta, sólo con una persona y tan solo en 1 o 2 meses.

No estoy exagerando ni estoy inventando, dos personas muy cercanas a mi trabajan en esa empresa.

Obviamente tiene sus desventajas. Como por ejemplo que esta herramienta sólo puede ser usada para sistemas de gestión empresarial.

El rendiemiento de las aplicaciones que genera esta muy por debajo de lo que se puede lograr al desarrollar la aplicación porgramando y por supuesto que al usar esta herramienta, la empresa que la usa basa su existencia en la existencia de esa herramienta, es decir, si la empresa que desarrolla esta herramienta decide cerrar, la empresa que las usa, se verán en serios apiretos. Además cabe aclara que son tecnologías muy cerradas, no muy documentadas (sólo existe la documentación que genera la empresa).

Si bien esta clase de herramientas tiene cierta utilidad y éxito, tiene muchos problemas que son muy difíciles de solucionar (y algunos no son solucionables). Por esto es múy dificil que una máquina o un software reemplace a un programador.

En el mejor de los casos podrían sustituir a alguien que sólo transaforma diagramas de clases y secuencia en código.

Además, la programación de sistemas de gestión es sólo una parte de la programación, existen muchas campos en el cual la programación es irremplazable (ingenieria, control industrial, control aéreo, meteorología, por nombrar algunos).

AMIGOS, no todos los sistemas son sistemas de 3 capas, con una interfaz gráfica que accede a reglas de negocio que guardan datos en una BD.
Hacía mucho tiempo que no pasaba por los Foros del Web, y encuentro esta discusión por casualidad ahora, buscando datos de Integranova.
Veo que continúan participando viejos co-foristas, y que algunos pensamientos han madurado...
Actualizando la discusión, el problema de Integranova ha evolucionado mal, quizá muy mal. Encuentro ex integrantes de la empresa en diáspora por toda España...
Pero lo que me interesa es el tema que se abriera a partir de la noticia inicial, es decir, las "máquinas de programar".
Al día de hoy creo que más bien existe consenso generalizado en la utilización de distintos grados de automatización de código, y quizá la discusión esté más bien en cuánto se debe automatizar.
Cualquiera que haya participado en un proyecto grande sabe que si se recurriera sólo a la programación manual, sin la incorporación de diversos grados de automatización, sería muy difícil entregarlo en tiempo, sin hablar de lo que puede significar la participación de muchas personas con diferencias de estilo. Ya sea a través de la utilización de IDEs, frameworks, patrones de diseño, lenguajes específicos de dominio o herramientas de modelado, lo más frecuente es la utilización de algún tipo de herramientas. La discusión en todo caso estaría en cuánto automatizar, y cómo.
En este sentido, las objeciones de TolaWare son atendibles: es riesgoso el caso en que estas herramientas pertenecen a pequeñas empresas con desarrollos propios, exclusivos y cerrados; en este caso quien los contratara debiera negociar salvaguardas para asegurar su salida en caso de desaparición del soporte. Existen algunos casos así, pero considero que no son los más representativos, y probablemente se incorporarían de alguna manera a las corrientes dominantes. Pero en general, las herramientas "propietarias" de este tipo que existen (Genexus, Plex, con la que trabajo) tienen la suficiente entidad como para asegurar que aún en el caso de su desaparición, asegurarían una transición segura a lo que los reemplazara.
Pero, como en alguna ocasión en el pasado mencionara, existen algunas corrientes predominantes, y particularmente, varias de ellas están apoyadas en Open Source y en estándares abiertos. Ya mencionada en otros casos OMG (Object Management Group) ha desarrollado estándares que permiten distintos grados de adopción de generación de código apoyados en UML, que es también un estándar quasi abierto, en la medida que es un estándar de facto compartido por todas las empresas participantes del grupo. La otra gran vertiente, con características parecidas, es la actividad de Microsoft en este terreno, apoyada en distintas herramientas de productividad con base en Visual Studio (Software Factories, DSL Tools, y ahora el realineamiento de herramientas a punto de lanzarse a través de su proyecto Oslo). Finalmente, con un sentido más enfocado, los llamados "Lenguajes Específicos de Dominio"), que también constituyen una gama de herramientas más o menos estandarizadas y bastante utilizadas.
TolaWare, yo también tengo curiosidad por conocer la empresa de la que hablas en Mendoza, pero no encontré cómo mandarte un mensaje privado. Quizá quieras ponerte en contacto conmigo.
Hasta pronto
Jorge Ubeda
__________________
Jorge Ubeda
Página, Blog