Aprender a programar: consejos y recursos

¡Hola, mundo!Cuando buscas una aplicación que lleve a cabo una función determinada y no consigues encontrarla, te enfrentas a un triste hecho: hay programas que todavía no existen. Tal cual.

Puedes sentarte, llorar y esperar a que alguien programe esa aplicación… o puedes hacerla tú mismo. ¿Cómo? Pues aprendiendo un lenguaje de programación y creando desde cero el programa deseado.

Si decides emprender este camino de auto-aprendizaje, consulta la lista de consejos y recursos que presentamos a continuación. Quién sabe, un día podrías ver tu programa publicado en Softonic…

No me hables en chino. ¿Qué es eso de programar?

Tu ordenador es una máquina que acepta y ejecuta órdenes. Estas órdenes pueden ser tan simples como escribir una letra en la pantalla o calcular una suma, y pueden tener varias formas, dependiendo del lenguaje empleado. A un ordenador no puedes decirle lo siguiente:

Ordenador, quiero que me bajes esa caja de la estantería, la roja a la derecha.

No lo entenderá. En cambio, si escribes algo así, puede que te preste atención:

010101010111010101001010111010101010111010011010100101010110011

Ceros y unos, código máquina, el único idioma que sabe hablar un PC. Para nosotros no es práctico hablar así, con lo que recurrimos a lenguajes artificiales, que no son más que versiones simplificadas de nuestros idiomas. La frase inicial se parecería entonces a algo así:

caja.Bajar(EstanteriaRoja3) = Verdad;

Es feo, sí. Pero es mucho mejor que escribir ceros y unos, ¿no te parece? Esos puntos, espacios, puntos y coma y paréntesis sirven para delimitar exactamente lo que se quiere decir a la máquina, al igual que ocurre al escribir fórmulas matemáticas. Un ejemplo con coloreado de sintaxis:

Código Python de ejemplo

Organizadas en párrafos especiales, todas las líneas de órdenes conforman lo que se conoce como “código fuente”, las entrañas de un programa. Para convertirlo en un programa ejecutable, el código se “compila”, esto es, se traduce a código máquina. Si no hay fallos (bugs), el programa se abrirá normalmente.

Eso está muy bien. Pero ¿qué lenguajes hay? ¿Cuál elijo?

Como los idiomas naturales, también los lenguajes de programación tienen su léxico, sintaxis y normas de puntuación, que varían en función de la complejidad del lenguaje. Algunos son más fáciles de leer que otros, y entonces se les llama “de alto nivel”, pues se aproximan al habla humana; los de bajo nivel son más “robóticos”.

Lenguaje de bajo nivelLas máquinas solo hablan con ceros y unos, un lenguaje incomprensible para un humano

Para imprimir una palabra en un lenguaje de alto nivel como BASIC, basta con escribir PRINT “Hola” (print, en inglés, quiere decir “imprimir”; la mayoría de lenguajes usan palabras en inglés). En un lenguaje de nivel bajo, como el Ensamblador, la cosa cambia (no te asustes por lo que vas a ver, no son palabrotas):

SWI “OS_WriteS”
EQUS “Hola”
EQUB 0
ALIGN
MOV PC,R14

Te estarás preguntando quién puede preferir Ensamblador frente a otros lenguajes. Es una cuestión de rendimiento: el código de bajo nivel se ejecuta más rápido y aprovecha más la potencia de la máquina a la cual está ligado, mientras que un lenguaje de alto nivel es más universal; Java, por ejemplo, se ejecuta en cualquier sistema.

Los lenguajes de programación Casi todos los lenguajes de programación están emparentados entre sí (imagen)

Hay cientos de lenguajes de programación, y, al igual que ocurre con los idiomas humanos, muchos tienen pocos “hablantes”. Los hay que jamás han salido de las universidades y empresas donde los crearon, mientras que los más populares, por el contrario, se enseñan por doquier y cuentan con amplias comunidades de usuarios.

Para crear aplicaciones de escritorio, los lenguajes más populares son C/C++, Java, Python, Visual Basic y Delphi. Su estilo es parecido, con lo que pasar de uno a otro requiere menos esfuerzo que hacerlo, por ejemplo, de Basic a Ensamblador. Sobre ellos hay una infinidad de libros, cursos y foros técnicos.

Me aburro. Quiero programar ya.

¡Vale! ¿Quieres saber qué se siente al hablar directamente con el ordenador? Empieza por probar alguno de los siguientes programas y enlaces. No hace falta saber muchas matemáticas, aunque algo de inglés te vendrá bien.

1. Practica con robots virtuales

La metáfora del robot -tienes un robot y le das órdenes- ha sido usada con éxito en miles de aulas. Hay varios programas que implementan esa metáfora para enseñar los fundamentos de la programación: Guido Van Robot, RoboMind y RobotProg son tres representantes destacados. Para algo más visual, prueba Kodu.

RoboMind

2. Lenguajes de programación educacionales

Hay lenguajes para todo los gustos: industriales, militares, académicos, empresariales… y también educacionales. Estos lenguajes, como LOGO, son más fáciles de aprender y tienen menos instrucciones.

ElicaElica es un estupendo entorno de aprendizaje basado en el lenguaje LOGO

Microsoft Small Basic es el proyecto de Microsoft para enseñar programación a todos los públicos, mientras que MIT Scratch es el alabado proyecto del Massachussets Institute of Technology.

Microsoft Small Basic

3. Prueba un lenguaje directamente en el navegador

Las páginas TryRuby, TryPython y TryHaskell son demostraciones interactivas de tres de los lenguajes más potentes y amenos que existen. No necesitas instalar nada: tan solo sigue las instrucciones en pantalla y comprueba por tu cuenta lo fácil que es crear y modificar órdenes con sentido.

TryRuby

¡Quiero aprender un lenguaje de verdad!

En ese caso ármate de paciencia y toma en consideración el apuntarte a algún curso de programación. Para aprender por tu cuenta, necesitarás estos ingredientes:

Una vez hayas elegido un lenguaje, hazte con la documentación, los editores de código, el intérprete (o compilador) y mucho tiempo libre. En caso de duda, consulta foros especializados para preguntar dudas, ayudar a los demás y compartir código y conocimientos.

¿Conoces algún lenguaje de programación? ¿Te gustaría aprender uno?

Cargando comentarios