codingdevelopersGenerallearningprogrammingsoftware development

Aprender a programar sí, pero no esperes dedicarte al desarrollo de software por ello…

IMAGE: Arnold Francisca - Unsplash

Un buen artículo de Farhad Manjoo en The New York Times, «It’s the end of computer programming as we know it. (and I feel fine.)«, explora la idea de la aplicación de la algoritmia generativa al desarrollo de software y se plantea el fin de una manera de escribir código, conectando con la de que los asistentes se convertirán en quienes lleven a cabo la práctica totalidad del trabajo pesado o incluso de que las máquinas terminen programándose a sí mismas.

Contrastar esta idea con el hecho de que llevamos años recomendando a todo el mundo, desde niños hasta adultos dedicados a profesiones como la minería o cualquier otra en peligro de desintermediación como periodistas, que aprendan a programar, podría resultar bastante frustrante, sobre todo si interpretamos que esas personas, tras haber aprendido a programar, deben dedicarse a una profesión, la del desarrollo de software, que tiene su propia dinámica y sus propias reglas.

¿Realmente debe todo el mundo aprender a programar? La idea de que la habilidad para programar es la nueva alfabetización es problemática, porque realmente, ver la programación como un fin en sí mismo es una interpretación probablemente errónea y distorsionada. Aprender a manejar un lenguaje de programación es, como tal, una tarea relativamente fácil de incorporar a la educación a casi cualquier nivel: los lenguajes de programación son, por sus estructuras necesariamente estables, más sencillos que los idiomas – que siempre están plagados de excepciones, de preposiciones arbitrarias y de estúpidas tildes diacríticas – pero eso no quiere decir que aprenderlos permita convertirse en un desarrollador de software. De hecho, entre aprender un lenguaje y ser productivo como desarrollador de software en él hay una evolución que suele durar años, que se alimenta de muchas otras personas y de la experiencia, y que recorren relativamente pocos de los que comienzan a manejar un lenguaje de programación. Prácticamente cualquier desarrollador de software con experiencia puede escribir buen software en un lenguaje nuevo que no conozca tras muy poca preparación, pero una persona que conozca un lenguaje de programación no necesariamente escribirá buen software con él por el hecho de conocerlo.

Visto así, ¿cuál es la finalidad de esa fiebre porque todo el mundo aprenda a programar? Muy sencillo: el fin y los medios. Aunque el fin no sea convertirte en desarrollador de software, tarea que de hecho podría terminar siendo mucho más automatizada de lo que lo es ahora, entender un lenguaje de programación es útil, en primer lugar, como cultura general: en un mundo en el que vivimos rodeados de objetos programables, programar es como conocer las leyes de la Física, importante para entender por qué la gravedad funciona como funciona y por qué un objeto cae cuando lo sueltas.

Pero en segundo lugar, y probablemente más importante, porque nos enseña a pensar y cómo plantear problemas. El clásico ejercicio de hacer un sandwich. Se trata de evolucionar desde la idea de aprender para programar, a la de programar para aprender, como vehículo que nos permite entender muchas otras cosas: como medio, no como fin. Con ese planteamiento, enseñar a programar parece mucho más capaz de generar unas expectativas adecuadas y, sobre todo, resulta menos frustrante.

Pensémoslo. Nunca enseñamos Física a los niños para que se convirtieran en físicos, aunque algunos terminasen haciéndolo, sino para que entendiesen las leyes de la Física y cómo les afectan en el mundo en que viven. Programar es útil, aunque nunca esperes convertirte en desarrollador de software. Y aunque el desarrollo de software vaya, como todo parece indicar, a cambiar mucho en el futuro.

Related Articles

Leave a Reply

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

Back to top button