De todas maneras, creo que desde hace mucho existen las herramientas CASE, y no veo una disminución en programadores (en cuanto a cantidad)
Bueno yo creo que con las RAD no ha disminuido ni disminuira la cantidad de los programadores.
Todo evoluciona, y precisamente por eso cada vez existen lenguajes que hacen mas cosas con menos código y nos facilitan hacer tareas que ya no nos representan ninguna utilidad.
Hace 30 años ni siquiera se pensaba en aplicaciones con entornos graficos del estilo de las que vemos hoy en dia y seguramente no tenian aún la vision de sistemas tan enormes y complejos en su lógica de negocio como los son los ERP o los CRM y demas tipos de software utilizados en las grandes empresas, por eso en ese entonces era suficiente con ASM, COBOL o FORTRAN, hoy en día no se podría ni llegar a pensar en diseñar todo un ERP con ninguno de los lenguajes de primera y segunda generacion.
El hecho de que las RAD nos ahorren trabajo tampoco implica que los desarrollos sean mas sencillos, ya que los RAD y demas herramientas precisamente han surgido porque las herramientas de creacion de software existentes no logran cubrir las exigentes demandas existentes en cuanto a calidad y eficiencia, si las RAD evolucionan las necesidades y requerimientos de los usuarios finales tambien, por ello el nivel de complejidad y de trabajo se mantiene constante en cierta medida.
Un buen ejemplo ( muy entrecortado)lo podemos observar con lo que paso con el DOS, las herramientas de la epoca te permitian crear ventanas en modo texto y ambientes en modo texto en general, pero luego por algun lugar ( apple) los usuarios comenzaron a darse cuenta que podian mejorar mas su trabajo con un entorno mas intuitivo y completo, asi que Microsoft decidio hacer su windows 3 o 3.11 incluyendo las cosas que le gente pedia para facilitar su trabajo...
las aplicaciones comenzaron a evolucionar de una manera diferente y desde luego trabajar esos entornos con la API de WIndows era ( y aun ahora lo es) una tarea tediosa y cansona, asi que microsoft saco sus MFC ( y borland haria lo correspondiente) encapsulando la complejidad del uso de la API con funciones mas amigables..
los proyectos de software continuaron haciendose cada vez mas grandes y las empresas se dieron cuenta que perdian mucho tiempo haciendo las interfaces graficas y estableciendo propiedades de objetos a traves de la programacion, cosa que no era su negocio, es decir el negocio de una empresa es vender un software de admon. de inventarios y desea invertir su tiempo en eso y no elaborando la interfaz grafica por mas que el usuario lo necesite, asi que para cubirir esa necesidad surgieron herramientas con un IDE que permitia cambiar el comportamiento de los objetos tan solo ajustando las propiedades con un par de clicks ahorrando de nuevo gran cantidad del tiempo ...
bien el software , las necesidades, los requerimientos, la complejidad... todo sigue creciendo y las compañias se dieron cuanta que perdian mucho tiempo valioso para su objeto de negocio desarrollando componentes de conexion de bases de datos y componentes para la generacion de salidas ( archivos, reportes etc.) asi que para cubrir las nuevas demandas se desarrollaron cosas como DAO, microsoft jet, ADO etc y surgieroni cosas como XML, crystal reports etc...
Hasta aca es claro que no ha disminuuido el trabajo para nadie, de hecho siempre han aumentado el trabajo, por eso las compañias deben crecer, lo unico que se ha hecho es dejar de ejecutar tareas que no proporcionan ningun valor agregado al objeto de negocio de cada compañia o producto , para poder de esta manera destinar los recursos de tiempo, personal etc a cosas mas productivas y relevantes para el objeto de negocio...
Así han seguido evolucionando las cosas hasta llegar a las herramientas CASE de hoy en día... y tenemos un visual Stucio .NET donde con 5 clicks creas conexiones a bases de datos y generas contenido HTML de manera dinamica... revisas y ya tienes 10.000 lineas de codigo...
Es muy valioso reconocer que un programador es un progrmador, programe en el lenguaje que programe, o use la herramienta que use, porque para lo que sea se necesita talento, tiempo, paciencia, inteligencia y conocimientos.
No podemos decir que un desarrollador de java o de C# sea un "programador" como poniendolo en duda, solo porque no necesita embrollarce con la admin. de memoria ni con detalles muy relevantes a la maquina como si lo debe hacer un desarrollador de C o de asm. Ni tampoco podemos decir que un desarrolador de ASM no sea un "programador" porque no pueden hacer aplicaciones gigantes como ERP's o CRM´s y seguramente tampoco podra montar una solucion de analisis estadistico y evaluacion de comportamientos para una bolsa de valores etc.
Como estan las cosas hoy dia seguro que las herramientas CASE , RAD... seguiran evolucionando a un ritmo vertiginoso y gracias a los beneficios que traen cada vez sera mas grande y complejo el desarrollo de aplicaciones de acuerdo a las nuevas necesidades que plantee el mercado y la industria.