¿Se puede aprender a programar en forma autodidacta?
Cada tanto se pone de moda una profesión que, si la estudias será tu pasaporte a la fama o la fortuna o, una habilidad que si tus hijos no la aprenden los condenará al fracaso. En la actualidad es la creación de aplicaciones y, antes de que sea reemplazada por la Inteligencia Artificial intentaremos responder a la pregunta ¿Se puede aprender a programar en forma autodidacta?
Dejemoslo en claro, no hay absolutamente ninguna disciplina que te garantice el éxito y, si bien es cierto que un buen programador adquiere habilidades que le serán de utilidad en la vida, también se pueden adquirir estudiando otras cosas.
Recuerdo de mi adolescencia transcurrida en los años ochenta, una publicidad que decía que si aprendías Basic las empresas se pelearían por contratarte Basic es un lenguaje de propósito general que difícilmente sirve para construir aplicaciones que se usen en el mundo real. Años más tarde se incluyó la enseñanza de informática en los colegios que no era más que explicar el uso de las herramientas ofimáticas de Microsoft. En los últimos años popularizaron los cursos de programación que en realidad deberían llamarse cursos de codificación porque solo se limitan a enseñar los rudimentos de un lenguaje de programación.
¿Se puede aprender a programar en forma autodidacta?
La discusión sobre si se estudiar en una universidad para hacer carrera como programador reaparece cada tanto en las redes sociales. Por supuesto que quienes la cursaron son fervientes partidarios del diploma, mientras que los que se formaron a sí mismos niegan esa necesidad. En general, las empresas del sector parecen preferir la demostración de las habilidades antes que los pergaminos.
De todas formas, no solo se aprende a programar para ganar dinero. También se puede hacerlo para colaborar en proyectos de código abierto o para crear aplicaciones que se adapten a nuestras necesidades.
Con respecto a la pregunta del título, es cierto que se puede, pero teniendo presente que cuanto más practiques mejor programador serás.
¿Qué debe aprender un programador?
Probablemente cualquier estudiante aplicado de escuela primaria sepa sobre la gramática española lo mismo que Pérez Reverte o Vargas Llosa. Sin embargo, no será capaz de escribir una buena novela. Lo mismo sucede con la programación. Puedes saberte de memoria todos los comandos de un lenguaje y memorizar miles de líneas de código y, sin embargo, eso no te convierte en un programador.
La primera habilidad requerida para un programador es la objetividad y la capacidad de razonamiento lógico. Una aplicación debe resolver problemas y quien la desarrolla debe identificar cuál es, imaginar una solución y ser capaz de implementarla antes de ponerse a escribir código.
El siguiente paso es identificar que lenguaje de programación es el más adecuado para construir la aplicación. En el sector se da mucho eso de que si solo tienes un martillo creerás que todos los problemas son clavos.
Para cada lenguaje de programación existen varios entornos integrados de desarrollo. Muchos son compatibles con varios lenguajes de programación por lo que familiarizarse con alguno de ellos ahorrará bastante trabajo.
La mayoría de las distribuciones Linux incluyen soporte para los lenguajes de programación más populares además de una selección de entornos integrados de desarrollo.
Algunas distribuciones recomendadas para aprender a programar
Esta es una selección absolutamente personal. En principio cualquier distribución Linux puede usarse para programar.
- Ubuntu: Es una distribución muy popular por lo que si buscas cómo hacer algo en Linux probablemente encuentres cómo hacerlo en Ubuntu. Además, cuenta con la más completa selección de programas y distintas formas de instalación.
- Red Hat Enterprise Linux: Si eres desarrollador, podrás obtener una licencia gratuita y acceder a herramientas muy útiles para programadores como gestión de contenedores y soporte para distintos lenguajes de programación.
- Fedora: Es una distribución comunitaria en la que se prueban las características que más adelante formarán parte de Red Hat Enterprise Linux. En sus repositorios se encuentran las versiones más actuales de las herramientas de programación.