Seleccionar página

Piénselo por un momento. Está leyendo este texto en un ordenador, un móvil o una tableta. Es probable que su trabajo esté relacionado con la informática en mayor o menor medida y, sin embargo, el grueso de la población desconoce los lenguajes de programación que controlan dichos dispositivos.

¿Sería capaz de programar una sencilla herramienta que te permitiera automatizar los envíos de correo electrónico a tus clientes? ¿O una aplicación capaz de registrar a qué horas entras y sales de casa y del trabajo teniendo en cuenta tu localización vía el GPS de tu móvil? Si la respuesta es negativa, eres una de esas muchas personas que no tienen unos conocimientos básicos sobre lenguajes de programación. Pero, ¿es necesario adquirir esos conocimientos durante nuestra formación? ¿Deberían enseñarse lenguajes de programación en cualquier carrera, desde las más técnicas a una de humanidades?

“Creo que todo el mundo en este país debería aprender a programar”. La frase no la dice una persona cualquiera. Es de Steve Jobs, en una entrevista televisiva que puedes consultar bajo estas líneas. “Aprender a programar te enseña a pensar. Es como estudiar derecho, no digo que todo el mundo tenga que ser abogado pero es útil porque te ayuda a pensar de una cierta manera, de la misma manera que la programación te obliga a pensar de otra. Todo el mundo debería tomar uno o dos años de su vida aprendiendo a programar”, aseguraba el fundador de Apple.

Hace pocos días era su sucesor al frente de la compañía, Tim Cook, el que aseguraba que “programar es más importante que aprender inglés”.

Algunos países parecen haberse tomado en serio las palabras de Steve Jobs. El gobierno chino aprobó el año pasado un plan para que los niños comiencen a estudiar programación a partir de los seis años a la que, con el paso de los años, se le sumarán nociones en diferentes lenguajes. El plan no se detiene ahí ya que pretende que, a partir de los 11 años, los alumnos también reciban clases de robótica.

¿Lenguajes de programación o programación computacional?

Federico Peinado, profesor de la facultad de Informática de la Universidad Complutense de Madrid, considera que la pregunta puede llevar a engaño ya que hay que distinguir entre dos ámbitos muy distintos a la hora de plantearse si la programación debería impartirse en las aulas de manera obligatoria.

“La programación computacional es una disciplina en la que sí sería interesante que todo el mundo estuviese formado ya que te explica cómo piensa una máquina, cómo se le dan órdenes y cómo se programa para que automatice procesos y nos ayude a hacer tareas”, aclara.

Federico Peinado, durante una conferencia. (Cedida por el autor)Federico Peinado.

Frente a esa disciplina, Peinado cree que el estudio de lenguajes de programación está enfocado a un público más concreto que no tiene por qué estar familiarizado con unas herramientas muy técnicas. “Creo que no sería adecuado que todas las carreras tuvieran una asignatura de programación textual, orientada a objetos y estructurada como puede ser Java”.

Para el profesor de la Universidad Complutense, “tiene sentido” que esos conocimientos se impartan en carreras donde los futuros licenciados vayan a necesitar esas habilidades para desempeñar su trabajo. “No veo a un odontólogo o un médico estudiando programación porque no sería de utilidad, no lo veo relacionado”, zanja.

Frente al escepticismo de Peinado, otros profesores de otros ámbitos consideran que sí se deberían impartir estos estudios no sólo en la Universidad sino incluso antes, en el instituto. Es el caso de Mar Marcos, profesora en la facultad de Comunicación de la Complutense, que pone ejemplos concretos al respecto. “A menudo con programas de edición de vídeo o de fotografía los alumnos no pueden determinar problemas porque no tienen siquiera una orientación básica”, ilustra.

Mar Marcos considera fundamental el aprendizaje de lenguajes de programación. (UCM)Mar Marcos considera fundamental el aprendizaje de lenguajes de programación.

Para Marcos, el “simple hecho de saber trastear con un ordenador sería muy importante” y pone el ejemplo de los colegios en los que se imparte robótica como el modelo a seguir dentro de la comunidad educativa: “Se debería empezar a enseñar en bachillerato. Incluso antes”. Una opinión que también comparte Peinado, aunque con matices: “Sí creo que el pensamiento computacional debería enseñarse a un nivel por debajo de la Universidad para que todos tuviésemos una formación básica igual que tenemos en cultura general y por eso estudiamos matemáticas, lengua o sociales”.

El futuro ¿pasa? por la programación

Jaume Esteve, autor del reportaje en el portal Xataca, Incluso dentro de los círculos profesionales dedicados a la ingeniería, la informática o la administración de sistemas, la pregunta se encuentra con partidarios y detractores.

Omar Miranda, administrador de sistemas en Claranet argumenta que en sus más de diez años de carrera profesional ha programado “en pocas ocasiones”. Miranda recuerda que “un administrador de sistemas, de bases de datos o de redes” pueden desempeñar su labor sin tener conocimientos en lenguajes de programación aunque también señala la importancia de contar con una formación básica: “Sí es bueno al menos entender el lenguaje de programación para, por ejemplo, hacer scripts, pequeños programas para automatizar tareas,  que te ayuden en tu día a día”.

Diagrama que muestra la integración de procedimientos que propone la tendencia del devops.

Pero Miranda apunta hacia una nueva práctica que pretende aglutinar el conocimiento en todos esos ámbitos para terminar con esa dicotomía dentro del ámbito de las tecnologías de la información. “La tendencia se llama devops y pretende que todos los profesionales del sector sepan programar para automatizar todos los procesos posibles”.

DevOps, que es un acrónimo de las palabras development (desarrollo) y operations (operaciones) , pretende implantar una cultura en la que el desarrollo de software y la administración de sistemas se haga de manera integrada lo que repercutirá positivamente en las compañías informáticas al permitirles una mayor celeridad en el desarrollo.