Podcast: Descargar (26.6MB)
Sois muchos los que nos hacéis llegar vuestra inquietud preguntándonos cómo aprender a programar. Muchos de vosotros por un motivo u otro estáis ya interesados en programar en un determinado lenguaje, ya sea programar en c, en java, en iOS, en android o en las múltiples tecnologías que hoy disponemos. Otros nos preguntáis cómo empezar a programar desde cero.
Estas preguntas tan interesantes nos han llegado a través del formulario de contacto pero recordar, tenéis una lista de distribución para suscribiros, nos podéis seguir en Twitter (@programarfacilc) y en Facebook.
Como ya os hemos dicho, las dos preguntas más típicas son empezar a programar en un lenguaje que no conocéis y la otra empezar a programar en un lenguaje desde cero. Si pertenecéis a uno de estos grupos estáis equivocados.
El primero porque dependiendo del nivel que se tenga de conocimientos puede que te cueste mucho aprender ese lenguaje. Es lo que los desarrolladores de software denominamos “curva de aprendizaje de un lenguaje de programación”. Los hay más fáciles y los hay más difíciles. Habrá que ser honestos y empezar con uno acorde a nuestros conocimientos.
El segundo grupo también está equivocado porque hoy día nadie parte de cero, todos en alguna medida ya hemos programado algo, ya sea nuestro reproductor multimedia, nuestro móvil, la lavadora y un largo etcétera de máquinas que nos rodean. Aunque no os lo creáis, todos los días utilizamos algoritmos en nuestra vida diaria ya que, un algoritmo no es más que un conjunto de instrucciones o reglas finitas (que sabemos de antemano cuantas instrucciones o reglas tiene), bien definidas, ordenadas y que por medio de una sucesión de pasos nos permite llegar a un resultado o a una solución. Por lo tanto un ejemplo sería cuando conectamos un horno, seguimos unas instrucciones finitas, bien definidas y ordenadas cuyo resultado es tener el horno a la temperatura deseada. Podéis ver a continuación cuáles serían las instrucciones para ejecutar este algoritmo.
- Controlar que no haya nada del horno para que no se queme.
- Girar el mando de temperatura del horno hasta 180º
- ¿Funciona?
- No. Salir y buscar solución.
- Si. Seguir procedimiento.
- ¿Funciona?
- Girar el mando de fuente de calor para que solo caliente por la parte de arriba.
- ¿Funciona?
- No. Salir y buscar solución.
- Si. Seguir procedimiento.
- ¿Funciona?
- Esperar a que se apague la luz que nos indica que el horno está a la temperatura seleccionada.
- Resultado: horno encendido con fuente de calor por arriba a 180º
Así es que todos ya tenemos un camino hecho y nuestros cerebros están preparados para pasar a un nuevo nivel. Ya nadie os podrá decir que os enseña a programar desde cero.
Pero sí que hay una base en todos los lenguajes de programación, desde el lenguaje ensamblador hasta otros de alto nivel como java, la lógica aristotélica y las matemáticas. Así es que nunca está de más que le echéis un vistazo.
El siguiente paso será conocer las estructuras que comparten todos los lenguajes de programación de alto nivel (solo cambia la sintaxis), expresiones condicionales, bucles… es decir comprobar si se cumple una premisa y seguir a la siguiente iteración que puede ser un bucle que se repita tantas veces una operación matemática hasta que se cumpla una condición.
Y ya nos quedaría elegir el lenguaje de programación. Que no os confundan, es algo muy subjetivo y cada “especialista” os va a decir uno. Tal vez Scracth sea una buena opción para entrenar la lógica de una forma sencilla, C o C++ sean buenos para entender conceptos como instrucciones, partes de un programa, tipado, herencia… y una buena base para saltar a java, php, C# o ASP.NET. Otra buena opción sería empezar por la parte cliente (front-end) en la programación web (HTML, CSS, JavaScript y algún framework de este) y saltar a la programación servidor (back-end).
Como veis, ni yo mismo me pongo de acuerdo y con esta pregunta me puedo tirar horas y horas con el resto de compañeros de programarfacil discutiendo cual es el mejor lenguaje para este propósito.
Pero tenemos claro cuál es nuestro objetivo, que sea cual sea el lenguaje que elijas, nosotros os podamos ayudar. Somos conscientes que al final, aunque ahora no lo creáis, si te vas a dedicar a este mundillo aunque solo sea por hobbie vais a pasar por muchos lenguajes. Aprenderás uno de ellos y dentro de x años te tendrás que reciclar y aprender otro nuevo o una variante del que conoces (es lo que nos ha pasado a nosotros).
Así es que desde programarfacil nuestra primera meta es enseñarte a aprender, tienes que “aprender a aprender” y nuestra experiencia nos dice que primero hay que leer mucho y después practicar y practicar. Desgraciadamente no hay mucha información en español, de ahí surge la idea de este proyecto, queremos aportar información de calidad en español y por eso te pedimos una colaboración constante. Para lo segundo, practicar y practicar, hemos creado la sección de fragmentos de código con ejemplos simples de los lenguajes que vamos tratando que queremos que comprendas y modifiques. No que te los aprendas.
Si eres seguidor de nuestro proyecto ya sabrás que siempre os estamos pidiendo que nos contéis vuestras inquietudes y experiencias. La verdad es que es la mejor parte de este proyecto. Yo particularmente, y sé que el equipo también, estamos aprendiendo mucho de vosotros, y si aún no eres seguidor nuestro, has llegado de casualidad a este post y encima has llegado hasta esta línea, te damos la bienvenida a tu proyecto, en el cual entre todos vamos a aprender a programar de una forma fácil y sencilla.
Para quien no las conozca estas son nuestras secciones:
Aquí os dejamos los enlaces de los que hablamos en el capítulo:
- Iniciarse en la programación
- Nosotros
- We.Developers – 40- Como ser desarrollador (y no morir en el intento)
- Scratch
Y para ponértelo aún más fácil hemos creado un campus donde te guiaremos en este aprendizaje con videos, tutorías, PDFs y multitud de material al que podrás acceder cada vez que lo necesites. Entra y echa un vistazo.
Recurso del día
Hoy os vamos a hablar de code.org. Se trata de una organización sin ánimo de lucro cuyo objetivo es fomentar la programación a todos los niveles y en particular a los estudiantes en edades tempranas. Las grandes empresas tecnológicas como Microsoft y Facebook están apostando por esta organización. A través de una serie de ejercicios puedes iniciarte en la programación, algoritmia y lógica computacional. No cabe duda que esta web es la mejor manera para tener el primer contacto con el mundo de la programación.
Muchas gracias a todos por los comentarios y valoraciones que nos hacéis en iVoox, iTunes y en Spreaker, nos dan mucho ánimo para seguir con este proyecto.