Un lenguaje universal y sistemas basados en la IA podrían revolucionar el trabajo de los desarrolladores en el futuro.
Video: 5 consejos para mejorar tus habilidades de programaciónAquí tienes algunos consejos de expertos de la industria sobre qué hacer para mejorar tus habilidades de codificación.
Los desarrolladores que trabajan en este campo, incluso desde hace unos pocos años, ya han visto el auge y el declive de varios lenguajes y herramientas de programación. El desarrollo de software es un campo dinámico, y las necesidades de trabajo están cambiando constantemente, por lo que es clave estar atento a las tendencias y tecnologías futuras que podrían ayudar al proceso.
He aquí cinco predicciones de cómo será la programación dentro de 10 años.
1. La programación será más abstracta
Lo que está de moda en ConsejoTecnologico.com
Tendencias como tecnologías sin servidor, contenedores y plataformas de bajo código sugieren que muchos desarrolladores pueden trabajar en niveles más altos de abstracción en el futuro, eliminados de los detalles de bajo nivel de codificación, dijo Jeff Hammond, vicepresidente de Forrester y analista principal.
«En teoría, deberíamos preocuparnos menos por la infraestructura de cómo se construyen las aplicaciones nativas de la nube», dijo Hammond.
VER: Kit de Contratación de TI: Programador (Tech Pro Research)
Hammond predice que veremos más realidad aumentada (RA) y realidad virtual (RV) en la parte delantera, lo que significa que los desarrolladores tendrán que adquirir las habilidades para construir esas aplicaciones, junto con las capacidades de procesamiento de voz y lenguaje natural incorporadas. «Vamos a tener que acostumbrarnos a hacer cosas distintas a los desarrollos basados en píxeles con frameworks con los que nos sentimos cómodos hoy en día para crear aplicaciones web y aplicaciones móviles», dijo Hammond.
2. La IA se convertirá en parte del conjunto de herramientas de todos los desarrolladores, pero no los reemplazará.
La IA está comenzando a integrarse en las herramientas de desarrollo hoy en día, dijo Hammond. Por ejemplo, Microsoft agregó una plataforma de IA a su actualización de Windows 10 para que todos los desarrolladores que construyan aplicaciones en el sistema operativo puedan utilizar modelos de aprendizaje de máquina previamente formados. Los investigadores de la Universidad de Rice crearon una aplicación llamada BAYOU que utiliza el aprendizaje profundo para actuar como un motor de búsqueda para la codificación, permitiendo a los desarrolladores introducir algunas palabras clave y ver el código en Java que les ayudará en su tarea.
«Creo que veremos más ejemplos en los que las herramientas de desarrollo intentarán predecir la intención de los desarrolladores y hacer que sea más rápido para ellos expresar esa intención, que al final se convierte en otra forma de abstracción», dijo Hammond.
Es poco probable que estas tecnologías reemplacen a los desarrolladores, dijo Hammond.
«Creo que les va a permitir desarrollar soluciones aún más rápido de lo que lo hacen hoy, lo que es bueno, porque no parece haber escasez de personas que deseen aplicaciones adicionales en estos servicios y en el nuevo software», dijo Hammond. «Soy bastante optimista en cuanto a la idea de que esas tecnologías se conviertan en una ayuda para los desarrolladores en lugar de un sustituto para los desarrolladores. Siempre hay suficientes cosas de bajo nivel para hacer, y no suficiente tiempo para hacer cosas de alto nivel. Quizá nos dé más tiempo para probar lo que codificamos».
VER: Kit de contratación: Desarrollador de Python (Tech Pro Research)
3. Surgirá un lenguaje de programación universal
Para aprovechar los beneficios de tecnologías emergentes como la IA, la programación tiene que ser fácil de aprender y fácil de construir, dijo Karen Panetta, becaria del IEEE y decana de ingeniería de posgrado de la Universidad de Tufts.
«Es posible que se recuerde a Python como la tatarabuela de las lenguas del futuro, que debajo del capó pueden parecerse a la lengua inglesa, pero son mucho más fáciles de usar», dijo Panetta. «Los programas se construirán usando bloques de codificación, como los bloques de madera del alfabeto que usábamos cuando éramos niños. Los desarrolladores podrán conectar los bloques para implementar cualquier funcionalidad que necesiten, y es posible que ni siquiera se requiera que los bloques estén escritos en forma textual».
Los lenguajes del futuro pueden incluir imágenes visuales de las transformaciones de datos, como una imagen de un calendario que diga: «Este bloque permite al usuario seleccionar y establecer fechas», predijo Panetta. También podrían incluir bloques que permitan incluir dispositivos sensoriales táctiles, para que incluso los individuos con impedimentos visuales puedan desarrollar programas, agregó.
El lenguaje de programación dominante del futuro también será universal, ya que soportará a todos los desarrolladores independientemente de su lenguaje hablado, dijo Panetta.
4. Cada desarrollador tendrá que trabajar con datos
Los desarrolladores del futuro necesitarán aprender más habilidades, sobre todo en el análisis de datos, dijo Kristen Sosulski, profesora clínica asociada de información, operaciones y ciencias de la gestión en la Escuela de Negocios Leonard N. Stern de la Universidad de Nueva York, y autora de Data Visualization Made Simple.
«Todo, desde el análisis de datos estadísticos hasta el análisis de datos no lineales y lineales, el aprendizaje automático e incluso la inteligencia artificial», dijo Sosulski. «No sólo está aprendiendo a codificar, también está aprendiendo a analizar datos y a vender diferentes modelos.»
VER: Descripción del puesto: Desarrollador Java (Tech Pro Research)
5. La programación será un principio básico del sistema educativo
Para los estudiantes, la programación se unirá a la lectura, la escritura y la aritmética para convertirse en un principio de educación, dijo Panetta. «Cada carrera profesional del futuro requerirá competencia en la provisión de análisis de datos para grandes conjuntos de datos, aprendizaje de máquinas y el uso de la simulación para reducir el costo de las pruebas y la fabricación».
Sosulski recomienda que aquellos interesados en convertirse en desarrolladores empiecen con un lenguaje de programación orientado a objetos como Python, para tener una base sobre la que construir.
Para los desarrolladores que están entrando o trabajando en el campo ahora mismo, es importante entender la arquitectura detrás de las herramientas y marcos de trabajo que está usando para prepararse para el futuro, dijo Hammond.
«Lo que he encontrado en los últimos 30 años es que los idiomas cambian, los marcos de trabajo cambian, los proveedores cambian, pero estos patrones de implementación tienden a repetirse en cada época», dijo Hammond. «Si lo entiendes, puedes empezar a ver las diferencias a medida que las nuevas tecnologías salen y aplicar lo que ya sabes en estos nuevos contextos».
Boletín informativo para ejecutivos
Descubra los secretos del éxito del liderazgo en TI con estos consejos sobre gestión de proyectos, presupuestos y cómo enfrentarse a los retos del día a día. Entregado los martes y jueves