Empecemos por lo básico. Programar es hacer programas. Por tanto …
¿Qué es un programa?
Un programa, en el ámbito informático, hace referencia a una pieza de software, un conjuto de líneas de códigos escritos normalmente por un ser humano y que serán interpretados por una máquina para realizar ciertas acciones.
Obsérvese aquí, que para que nos entendamos más fácilmente he utilizado la palabra interpretados, aunque esto no es del todo correcto, ya que hay lenguajes…
- Interpretados: el código que nosotros escribimos es directamente leído por una máquina. Por ejemplo, Javascript es un lenguaje interpretado.
- Compilados: el código que nosotros escribimos es transformado en otro código (llamado lenguaje máquina) que es el que realmente será leído por la máquina. Por ejemplo, el código Java. es un lenguaje compilado.
¿En qué consiste progamar?
Básicamente escribes un documento de texto, como quien escribe un documento de Word, utilizando unos códigos específicos del lenguaje de programación. La diferencia es que en lugar de escribir esos códigos en Español, los escribirás en otro lenguaje (Java, Javascript, Python, PHP, Kotlin, C#).
Desde una óptica más humana se puede ver como…
- Escribir un código, pulsar un botón y lograr que cualquier persona en cualquier parte del mundo pueda acceder a él.
- Pasarte 8 horas al día sentado en una silla, haciendo algo que no te motiva demasiado pero que te permite vivir con dignidad.
Personalmente, no me reflipa programar. Me gusta más, comer cosas ricas o jugar a Baloncesto. Lo que sí que me gusta de la programación es lo que puedes hacer con tus creaciones. Puedes tener ideas de videojuegos, aplicaciones de gestión, recetas de cocina, rutinas deportivas… lo que se te ocurra. Y puedes poner esa idea en tu ordenador, en tu teléfono, o incluso en tu reloj. Pero no sólo eso. Puedes poner tu idea en el ordenador, teléfono o reloj de cualquier persona del planeta. Eso si me apasiona. El proceso, al menos para mí, no es tan divertido como pasear por un parque de atracciones, pero merece mucho más la pena.
«Odié cada minuto de entrenamiento, pero no paraba de repetirme: ‘No renuncies, sufre ahora y vive el resto de tu vida como un campeón»
Mohammad Ali
¿Y por qué hay tantos lenguajes de programación?
Cada uno de los lenguajes existente se adapta en mayor o menor medida a un objetivo concreto. Los lenguajes de programación nacen respondiendo a intereses individuales de su creador o de su comunidad, o corporativos de una empresa. A partir de ahí, si la gente lo adopta, genial y si no, pues probablemente desaparezca. Aquí tienes algunos ejemplos:
- Javascript → Se utiliza fundamentalmente para desarrollo web. Pienso que es el lenguaje más versátil (puedes usarlo para videojuegos, aplicaciones web, aplicaciones de escritorio, móviles…) que existe.
- Cobol → Está bastante desfasado, pero se encuentra en las tripas de muchas aplicaciones bancarias, y, ya que hace lo que se espera de él, aunque no tenga mucha cuota de mercado, nos acompañará muuuuucho tiempo.
- Java → Se suele utilizar para aplicaciones corporativas.
- PHP → Lenguaje para páginas web con el que se escribió WordPress. Muy utilizado en pequeños y me dianos negocios.
- C# → Unity es una herramienta para programación de videojuegos que lo utiliza.
- C++ → Lenguaje algo complejo porque precisa que aprendas a gestionar la memoria de tu aplicación y esto es algo que se realiza automáticamente en otros lenguajes.
- Python → Bastante extendido en ámbitos educativos y en Inteligencia Artificial.
- Kotlin → Fundamentalmente utilizado para desarrollar aplicaciones nativas en Android.
Ejemplo de un programita con Javascript
Para que nos hagamos una idea más correcta de qué va esto de programar, voy a escribir un programita que aunque muy sencillo, creo que sirve perfectamente para su propósito de ilustrar de qué va esto de la programación.
Este programa utiliza código HTML y Javascript.
Si escribieses el siguiente código en un documento con extensión .html e hicieras doble click sobre él, dicho documento debería abrirse con el navegador de tu sistema operativo. Deberías ver un botón como el de más abajo y al pulsarlo se desplegaría un mensaje de alerta.
<button onClick="alert('Boton pulsado ٩(^‿^)۶')">Haz click!</button>
¿Bien no? No era tan difícil! Bastan con aprender unos códigos y utilizarlos. Cada vez podrás resolver problemas más complejos. ¡Y resolver problemas mola!. ¡La gente se gasta una pasta en resolver problemas ٩(^‿^)۶!.
¿Para qué aprender a programar?
Bueno, cada uno tiene sus motivos. En mi caso, siempre me gustaron los ordenadores. Los ordenadores… y jugar. Cuando era pequeño pasaba casi tanto tiempo configurando el ordenador para jugar a videojuegos, como jugando (recuerdo que había que hacer mil inventos para configurar la memoría del ordenador para poder entrar en el juego).
En el siguiente video, varias celebridades como Bill Gates, el creador de DropBox, el cantante de Black Eyed Peas… cuentan su relación con la programación; cómo empezaron; qué significa para ellos….
En la entrada sale Bill Gates diciendo que programar es sumar, restar y poco más. Bueno… en lo personal me parece algo más complicado, aunque estoy de acuerdo en que cuando por fin aprendes a programar, una de las grandes cosas que descubres es como descomponer un problema grande en pequeños problemitas, y estos pequeños problemitas idealmente no serán mucho más complicados que hacer sumas y restas.
Otro comentario es de la creadora del site girldevelopit una mujer que dice que para aprender a programar sólo hace falta tener determinación. Aquí estoy de acuerdo. Cuantas tardes habré pasado buscando errores en mi código, sólo para luego darme cuenta de que había cerrado mal unas comillas o me faltaba por poner un punto y coma. Mis errores no eran muy grandes ni complicados, pero era necesario tener una buena dosis de determinación para decirle al ordenador «de aquí no se mueve ninguno de los dos hasta que te pongas a funcionar».
¿Es difícil aprender a programar?
Antes de responder a esa pregunta, habría que dejar claro qué significa programar. Vamos a diferenciar entre dos niveles:
- Nivel 1: Ser capaz de hacer los típicos ejercicios de aprendizaje: programar una calculadora, una tabla de multiplicar, un juego de preguntas y respuestas… teniendo toda la ayuda necesaria pero entendiendo todas las líneas del código escrito.
- Nivel 2: Ser capaz de completar con autonomía un proyecto planteado por ti mismo o por otra persona. Entendemos que autonomía significa no necesitar ayuda externa, o necesitar muy poca. Para que te hagas a la idea, en una jornada de 8 horas, suponiendo que puedes permitirte pedir ayuda a un superior, estaría feo pedir ayuda más de 3 veces.
Como habrás podido intuir, el nivel que necesitas para encontrar trabajo de programador, es el segundo. Tras hacer un curso de programación, la gente suele salir con el primero.
¿Cómo es posible, que dos personas hagan el mismo curso, pero una termine con el nivel 1 y la otra con el nivel 2? Quizás la persona que no consiguió el nivel deseado…
- Realmente no tenía el objetivo de aprender a programar.
- No podía permitirse o no estaba dispuesta asumir el coste en horas que implica alcanzar el nivel 2.
- Simplemente se engaña, y se dice que sabe programar cuando sólo es capaz de comprender el código escrito por otros.
¿Como de difícil es aprender a programar profesionalmente?
Entendemos que aprender a programar profesionalmente no es ser el mejor programador del mundo, sino simplemente ganarte la vida con ello.
Aprender a programar no es más difícil que sacarte un título de monitor de Yoga, aprender a bailar swing hasta un nivel que tu pareja de baile no se aburra contigo o hacer malabares con 5 pelotas.
Yo hago yoga en casa, pero no podría ganarme la vida como profesor de Yoga. Fui a clases de swing, pero me daba apuro sacar a chicas a bailar porque sólo sé unos pocos pasos y cuando les pedía un segundo baile me miraban con una extraña sonrisa de quiero cortarme las venas. Durante unos años de mi vida estuve muy centrado en los malabares: aquí si que se notó mi dedicación, ya que llegué al objetivo de alcanzar un nivel de profesionalidad.
Debes centrarte en aprender a programar durante unos meses. Ponerlo a la cabeza de tu lista de prioridades durante un tiempo prolongado.
¿Se entiende? Para aprender a programar se necesita constancia, dedicación y ser sincero con uno mismo respecto a lo que realmente has aprendido. En clase he tenido gente que tenía un buen nivel y que se consideraba inepta, y el caso totalmente opuesto. Ambas situaciones son indeseables y te dificultan llegar al objetivo.
¿Cuanto tiempo se tarda en aprender a programar profesionalmente?
Suponiendo que puedes centrarte absolutamente en aprender a programar, tanto por la mañana como por la tarde, y que de forma natural no necesitas descansar demasiado. El mínimo tiempo que yo he visto que alguien que no sabía nada de programación ha necesitado para aprender lo necesario para encontrar trabajo de programador junior han sido 3 meses.
De manera más relajada, pero siempre teniendo el aprendizaje de programación como primer objetivo, 5 meses me parece una cantidad de tiempo razonable, siempre tengas un buen método de estudio.
En mi caso, empecé a programar gracias a una formación que ofrecía la empresa Coritel y que tenía el objetivo de la inserción laboral dentro de la propia empresa. Tarde 2 meses en completar dicha formación y empezar a trabajar, si bien tenía muchísimas lagunas.