Si tuvieras que enseñar a programar, cómo lo harías?

Eso. Tal cual.
Es algo así como un experimento. Tratar de enseñar. Y para empezar, vamos bien simple.

Tengo que admitir que de profe no tengo nada… así que ps… bue.

Primero, qué es programar.

Cuando quieres hacer algo, ir a comprar pan por ejemplo, creas (muchas veces sin darte cuenta) un “plan”, por decirlo así.

  1. Cuanto pan voy a comprar.
  2. Ok, para eso cuanta plata necesito.
  3. Mmm tengo ganas de comerme un completo…
  4. Ah! pero no tengo tomates …😦 dah los compro en la feria nomas.

De alguna forma, eso es programación. Y los pasos (o instrucciones) se llaman algoritmos.

Los computadores se crearon para realizar acciones que un humano no puede hacer. Y para decirle a un computador qué es lo que uno quiere hacer, tienes que hablar en su idioma.
Un computador, por muy maravilloso que sea, es una máquina que no puede pensar por sí misma. Allí es donde entramos nosotros los programadores. El problema es que los computadores (al ser tontos) necesitan que les digas exactamente qué es lo quieres (por medio de algoritmos). Ese es el problema.

Uno esta acostumbrado a que las máquinas piensen por uno (una calculadora, un celular, incluso un PC), de modo que uno deja de pensar. Cuando eres tú el que tienes que “enseñarle” a una máquina, ps la cosa se complica (al menos cuando recién empiezas).

Para “hablar” el idioma de una máquina, deberías hablar en binario (si, los 0 y 1). El problema es que… ps no hablamos binario. Para eso existen los lenguajes de programación. Éstos lenguajes hacen de traductores. Escribes un algoritmo en un idioma entendible  para ti, y luego el “compilador” se encarga de traducir lo que queremos decirle a la máquina.

Existen muchos lenguajes de programación. Algunos son más entendibles para nosotros que otros.

También existen varios enfoques o filosofías. Programación estructurada, Orientada a Objetos, etc. Todos cumplen con su función, pero algunos son más apropiados que otros al momento de programar algún sistema.

Como dije, uno es libre de usar la forma que quiera, pero de aquí en adelante seguiremos con la programación orientada a objetos.

La Programación Orientada a Objetos, es eso… objetos, los cuales “salen” de clases (en forma de instancias). Los objetos además tienen métodos y atributos. Para entenderlo mejor, un ejemplo.

Yo soy un objeto, llamado Mario Cares. Soy una instancia de la clase Humano. Otra persona también es un objeto, pero es otra instancia de la clase Humano, ps porque no somos iguales😀

Como dije, me llamo Mario y mi apellido es Cares. Esos son mis atributos. Tengo 20 años (si, ese es otro atributo).

Puedo caminar, correr, escribir, y hacer varias cosas más. Esos son mis métodos.

Otros conceptos de la POO son la herencia, ocultación de información (Private, Protected, Public).

Mi apá tiene un auto. El auto es de él, pero me deja usarlo😀 Si bien yo como objeto Mario Cares solo tengo una moto, puedo usar el auto de él.

Mi apá no le dice a nadie la contraseña de su tarjeta de crédito, ni siquiera a mí que soy su hijo😦

Lo que si me ha contado, es la contraseña de su celular porque de vez en cuando llaman y él esta ocupado y tengo que contestar yo o alguien más en la casa (de la familia claro). Eso si, nadie fuera de la familia sabe la contraseña (no es la idea cierto). Es igual que con la contraseña del wifi. La puso él, pero todos los que estamos en la casa la sabemos. Pero si algún vecino quiere colgarse a la red, no sabe la contraseña.

Lo que sí sabe toda la gente, es como se llama. Sería raro que no supieran cierto?

Con esos ejemplos raros… termino la entrada de hoy😉

Cualquier cosa, ps ya saben😉

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en Demases. Guarda el enlace permanente.

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 )

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 )

Google+ photo

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

Conectando a %s