jueves, 6 de julio de 2017

La importancia de los lenguajes de programación

En los últimos tiempos me he convencido de la importancia de la programación para nuestros jóvenes. Enfrentarse a la construcción de un programa supone desarrollar toda una serie de estrategias para resolver un problema. Un programa sólo funcionará si cada instrucción está en el sitio que le corresponde. Esta lógica ineludible que conlleva la programación es un ejercicio que desarrolla el aprender a pensar y la racionalidad de los pensamientos. No basta con el "esto es así, más o menos" sino que el programa "debe ser, exactamente así" de lo contrario no hará lo que debería hacer.

Pero esto no significa que sólo exista una forma de construir un programa, al contrario, la programación es un proceso totalmente creativo donde cada solución es única. No encontraremos dos programas iguales para resolver el mismo problema, cada persona, según sea su forma de pensar, razonar y de afrontar los problemas, hará los programas de uno u otro modo. Programar es un proceso creativo como lo pueda ser la escritura, la música, o la pintura. Es también por este motivo que el placer intelectual que proporciona la resolución de un reto de programación sea difícil de conseguir por otros medios que no sean los puramente artísticos.

Se habla del aprender a pensar y de elaborar criterios propios, tarea para la cual la programación se muestra idónea. También favorece la concentración y el análisis de las situaciones por lo que ayuda a establecer patrones de pensamiento lógico que serán de indudable utilidad en la vida del alumno. La habilidad de programar permite afrontar los problemas científicos desde un punto de vista mucho más cercanos al método empleado por la Ciencia para su desarrollo, es decir al método científico.

Además, hoy más que nunca antes, aprender a programar se ha convertido en una necesidad, no sólo para el ingeniero informático, sino para aquellas personas que se desenvuelven en un ambiente laboral de tipo científico y técnico. El desarrollo de la toma de decisiones a partir del análisis de datos masivos (big data), la inteligencia artificial o la robótica, por poner unos ejemplos, hace que cada vez sea más necesario tener conocimientos de programación. 

El libro Introducción a la programación con R. introduce a R como lenguaje de inicio a la programación. Se pretende que R sea utilizado como primer lenguaje de programación, por lo que se puede aprender a programar partiendo del nivel más básico con un lenguaje de amplia difusión en el mundo de la ciencia y la ingeniería. Es decir, es un libro especialmente pensado para aquellos que necesitan la programación para la resolución de problemas básicos relacionados con el mundo de la ciencia y la técnica. Está diseñado para poder ser impartido a partir del nivel de Educación Secundaria Obligatoria.

¿Por qué R y no otro lenguaje de programación? Porque R es uno de los más utilizados por científicos, en numerosas disciplinas. R es un lenguaje diseñado específicamente para manipular y analizar grandes cantidades de datos y la Ciencia funciona gracias a este análisis de datos. Se podría objetar que C++ o Java son lenguajes mucho más utilizados en el mundo de la programación y esto es cierto, pero lo es para el programador profesional, el ingeniero informático. Sin embargo, me parece mucho más útil enseñar lenguajes de amplia aceptación en la solución de los problemas de la Ciencia que sean usados por médicos, químicos, físicos o biólogos. Python es, indudablemente, otro lenguaje utilizado habitualmente en la ciencia y probablemente sea, junto con Julia, uno de los más idóneos para empezar a programar. Esto nos lleva a la trilogía R - Python - Julia como tres grandes pilares de la programación científica y, probablemente, cada uno tendrá su propio libro como el actual, donde se aprende el lenguaje partiendo desde cero.

El libro se publica en Amazon.com (también en Amazon España) con formato de papel. He optado por el papel en lugar del libro electrónico en formato MOBI, porque los lectores de libros Kindle (los lectores de ebooks de Amazon) no permiten el uso de fórmulas matemáticas en sus libros, de forma que aparecen como una serie de símbolos sin sentido para el lector. Los programas que forman parte de los ejercicios del libro están publicados de forma abierta en: http://intro-r.tiddlyspot.com/.