Programación para Newbies II: Introducción

Nota: No es que la segunda parte tenga otra introducción, a la primera parte le cambié el título a Prefacio. Sólo modifiqué el título y no el link, porque no quería que fallaran los enlaces.

Antes de querer aprender a hacer algo, es necesario saber qué es lo que vamos a aprender, ¿no?. Puede ser un poco obvio, pero nunca está de más detenerse a pensar que realmente significa lo que vamos a intentar aprender.

Programar, programas…. ¿ah?

Todos como usuarios de un equipo sabemos de la existencia de distintos programas (o aplicaciones), hay algunas para escribir (procesador de texto), para calcular (calculadora), otros para ver/escuchar multimedia (reproductores) y así podríamos continuar mencionando varios (y seguramente no terminaríamos nunca). Así podemos ver que cada programa cumple una tarea específica, en el procesador de texto no se puede jugar ni tampoco ver un video de YouTube. Podríamos decir entonces que cada programa resuelve algún problema en particular y como los problemas del mundo tienden al infinito, por tautología, tendríamos que la variedad de programas es prácticamente inacabable. Lógicamente, esto es directamente proporcional con la dificultad para escribir un programa. Hacer que un programa te pregunte el nombre y luego te salude debería ser bastante más simple que un programa que muestre dos ejércitos enfrentándose entre sí mientras esquivan una lluvia de flechas ardiendo por el ejército enemigo y fuego que es escupido por dragones que zurcan un estrellado cielo con 3 lunas.

nkzs | stock.xchng
nkzs | stock.xchng

Para lograr esto, debemos decirle al computador qué, cómo y cuándo realiza una determinada tarea. El computador no “piensa” por sí mismo por lo que es mi tarea como programador darle las instrucciones adecuadas. Por último, un programa no hace más que decirle al computador como recibir una entrada de datos (generalmente por parte del que utiliza la aplicación), manipularla y escupirla de vuelta, idealmente de una manera comprensible para un ser humano común y corriente. WordPress por ejemplo, recibe de entrada las teclas que yo presiono (input), lo manipula dándole formato y luego lo entrega en un texto comprensible para ustedes (espero).

¿Difícil? Nahh… sólo dame un minuto más

Wallace Wang en Beginning Programming for Dummies (¡gracias por tan buen libro!) dice que programar no es precisamente difícil, sino más bien consume mucho tiempo. Básicamente, si eres capaz de dar instrucciones escritas de como llegar a tu casa o como preparar un queque deberías ser capaz de escribir un programa.

  1. Mezclar azúcar y mantequilla hasta que quede una sustancia cremosa
  2. Agregar 3 huevos
  3. Mezclar y agregar 2 tazas de harina
  4. Cocinar en un horno a llama baja por 45 minutos

RecipePor muy razonablemente claras sean estas instrucciones (si sé que faltaron pasos), tenemos que recordar que el computador hace exactamente lo que le pidamos -ni más, ni menos- por lo que es más bien estúpido (por cierto, diría que esta es la primera premisa que deberías asimilar). Al tratar de ingresar esas instrucciones se detendrá y nos preguntará:

  1. ¿Dónde está el ázucar y la mantequilla? ¿Cuánto tiempo se debe batir? *cof* ¿qué significa batir? ¿qué tan cremosa debe ser la sustancia?
  2. ¿Dónde están los huevos? ¿se ponen enteros o se deben romper antes?
  3. ¿Dónde está la harina? ¿qué tan llenas deben estar las tazas?
  4. ¿Qué tipo de horno? ¿qué significa llama baja?

Como se pueden dar cuenta, la programación puede ser sumamente frustrante, por lo que deberíamos recordar que es aún más básico que intentar hacer entender a un niño que tiene (o no tiene) que hacer. Sencillamente, al menos que explicites precisamente lo que quieres, el equipo lisa y llanamente no hará lo que le solicitaste.

Para cerrar esta introducción diría que la mejor manera de enfrentar la difícil tarea de escribir un programa, es dividir el gran problema en problemas más pequeños. No sólo para ahorrar tiempo, sino también por sanidad mental.

En la siguiente parte revisaremos un concepto muy utilizado, el de los lenguajes de programación (¡tema que me gusta en particular!).

10 comentarios en “Programación para Newbies II: Introducción

  1. Que tal, me agrada tu idea de aprender Programación, me apunto a tu iniciativa. Te luciste con una introducción bastante ilustrativa. Yo aprendí un poco de C en la Universidad, ahora pretendo aprender Java, mi problema es mi debil constancia. Espero que igual aprendamos juntos. En tu post anterior mencionastes a Geany, pues también lo utilizo para Java, funciona muy bien :).

    ¡Saludos desde México!

    JM.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .