Programar es fácil, hasta un niño puede hacerlo.


ProgramaciónQuiero compartir contigo mi experiencia de vida con respecto a la programación y mostrarte como yo veo al mundo con respecto al software.

Para empezar que el problema actual de que no nos demos cuenta de que programar es fácil, radica en la necedad de las empresas privadas que deciden guardarse el código fuente para sólo ellos.

El guardarse el código fuente hace que mucha gente que podría ser programador no lo fuera porque solamente ven la «cáscara» del programa y no sus «entrañas».

Es muy fácil aprender a programar viendo el código fuente. Al principio puede resultarte algo extraño y muy confuso (como intentar leer chino), pero una vez que aprendes el lenguaje es como las matemáticas.

Se diferencia de las matemáticas porque acá no solamente hay números, sumas, restas y distintos tipos de cuentas sino que también hay instrucciones específicas para el procesador.

Se puede comparar fácilmente a una receta de cocina (y esta comparación la hizo muchas veces Richard Stallman), donde ves una serie de instrucciones que cualquiera puede entender:

  • Mezclar los huevos con la leche
  • Agregarle una cucharadita de azúcar

En fin, ves que es fácil?

La receta para una computadora es algo parecido:

  • Sumarle 1 al valor almacenado en «A»
  • Mostrar en pantalla el contenido de «A»

Eso traducido a un «lenguaje» de computadora quedaría así:

A+1
print A

Ese lenguaje de computadora intenta ser algo que nosotros podamos seguir entendiendo. Así que por qué no lo entenderíamos?

Como vas viendo programar no es tan difícil. Hasta un niño podría hacerlo. Yo comencé a los 15 años de edad (un poquito antes). Era un niño cuando comencé a programar.

Ahora la forma más sencilla de tomarle práctica al asunto es justamente practicando. Y teniendo ejemplos se vuelve aún más fácil.

Pero, ¿qué pasa cuando no hay ejemplos?

¿Qué pasa cuando ves un programa y te gustaría saber cómo hace eso pero nadie te quiere mostrar el código fuente?

Ahí es donde la cosa se complica. Lo único que puedes ver es el programa haciendo su función pero no sabes cómo lo hace. No sabes cómo está hecho ni tampoco sabes si además de hacer lo que te parece que hace quizá realice alguna otra función.

Ese es el concepto de programación que han estado difundiendo durante muchos años las empresas privadas de software. Han hecho entender a la población que programar es algo muy difícil y tedioso que sólo unos pocos pueden hacer.

Entonces cuando tu quieres saber algo sobre ese programa: Ah no, es muy complicado. Porque no tienes el código fuente y no te das cuenta que en realidad es fácil! (si vieras el código fuente te empezarías a dar cuenta)

Por supuesto, ser un buen programador lleva sus años de práctica y aprendizaje. Pero llegamos a un punto en el que código que hasta un niño de 15 años podría hacer sin necesidad de tener tantos conocimientos ni práctica, porque solamente alcanzaría conque lo haga, no lo hace nadie, ni siquiera un adulto, gracias a que las empresas han obscurecido durante tanto tiempo ese conocimiento.

Por ejemplo, hay programas que necesitan algo tan simple como:

  • Si el usuario le hizo clic al botón de colores, mostrar el diálogo de colores.

Esa serie de instrucciones podrían ser fácilmente programadas por un niño con pocos conocimientos. Sin embargo hay mucho software libre que no tiene completadas instrucciones de ese tipo. Porque para nosotros los programadores veteranos es más importante centrarnos en las funciones más complejas del programa y no en esas tan «superficiales». Sin embargo no significa que no se necesiten y que no sean importantes.

Ese tipo de instrucciones pueden ser programadas por niños y ponte a mirar, a ver si te has dado cuenta, que en la vida actual hay muchos programas importantes hechos por empresas que tienen mayoritariamente ese tipo de instrucciones. Te diste cuenta? Windows (su interfaz gráfica), Photoshop (también parte de la interfaz y muchos algoritmos de procesado de imagen son sencillos), Word (no es tan difícil programar un word si tenés programadores), Excel, Powerpoint, Videojuegos!! (Siii!! videojuegos son más o menos fáciles de hacer!), etc.

Como ves, las instrucciones que hoy día venden más en el mercado son las que un niño podría programar. Hasta donde hemos llegado!!

O sea que gracias a que ellos ocultaron tantos años el código fuente de sus programas nosotros ahora no disponemos de programadores jóvenes que nos podrían ayudar con esas instrucciones que hacen que los programas sean más aceptados por la gente.

¿Tu que crees que yo intentaba hacer cuando programaba hace varios años atrás?

Pues quería programar muchas de esas instrucciones sencillas porque era lo poco que sabía hacer y que veía que a muchos programas les faltaban.

Hoy día sigo con la necesidad de programar esas instrucciones sencillas y son las que me hacen perder el tiempo!

Pero la historia no termina ahí. Las empresas ocultaron tanto el código fuente que han logrado vendernos (por supuesto, a mi no me engañan, jaja) otras suites de software para hacer más software. Diciendo que ahora es más fácil hacer esas famosas instrucciones sencillas. Y mucha gente ha comprado. Y mucha otra gente intenta hacer programas con eso!! Esas suites son: .NET Framework, Visual Basic, Delphi de Borland, etc.

En lugar de enseñarle a niños de 14 a 18 años para que lo hagan. Claro, legalmente debería ser mayor de edad para que pueda trabajar.

Por supuesto que ellos no le llaman así «instrucciones sencillas» ellos le llaman GUI (Graphical User Interface).

Claro que es bueno tener un software que ayude a hacer una GUI. Pero lo que yo quiero hacerte ver es que si ellos no ocultaran el código fuente hoy día dispondríamos de mucho más calidad de software. Quizá hubiera nacido otro sistema operativo. Pero no me cabe duda de que tendríamos mucho mejor software en todos los sentidos ya que habrían más programadores trabajando en ello (desde los 14 años en adelante).

Mira si hoy día no habría habido gente programando!!

Y ya que sabes esto, por favor intenta difundirlo para que más gente empiece a darse cuenta y tome cartas en el asunto. Comencemos a difundir el conocimiento.

Y si te interesa la programación, puedes comenzar a practicar en cualquier momento que no es difícil. Anímate.

 

Aquí encontré un artículo de alguien que quiere enseñar: http://www.hogargeek.com/progra-pt1/

 

Gracias por leer mi artículo y que tengas un buen día!

  1. #1 por guitarrero el noviembre 27, 2011 - 12:30 am

    cumpa te falto el on click goto….

    si es re-fasil

    es mas no se por que las compues si son tan maravillosas se autoprograman…

    deberiamos solo dictarles..

  2. #2 por juan el febrero 7, 2013 - 6:58 am

    gracias por tus palabras,somos de la generación de la obediencia y decimos SÏ,y ya está,gente como tú nos ayuda a despertar en programas y otras muchas cosas
    Gracias
    Juan

  3. #3 por Alejandro M. el febrero 18, 2013 - 9:44 pm

    Justo lo que necesitaba leer, no sabes la necesidad de encontrarme en la web un artículo como este, caso contrario al tuyo, tendo 21 años de edad y siempre me ha gustado todo esto, este es mi mundo, mi curiosidad por saber ¿qué hay detrás de? ¿Cómo lo hace? ¿Porqué? Sólo que hasta hace unas cuantas semanas atrás decidí adentrarme y estudiar si fuese necesario DIAS Y NOCHES enteras, ya he leído, he buscado, he curioseado y todo empieza desde un cierto punto del cual está adelante y me pierdo en el camino, porque me falta retroceder y encontrar lecturas desde el fondo, la raíz de la programación. Gracias por compartir este artículo y por enfilarme a aprender de lleno en la programación, recién me encuentro con tu blog y me seguiré pasando más adelante para leerte, saludos y muchas gracias.

  4. #4 por yorly el marzo 28, 2014 - 6:14 pm

    Las empresas no han ocultado al publico lo de programar, todo el mundo lo ve como eso porque no saben que cuando se creo la primera computadora era una computadora que era por comandos , osea si querias abrir una carperta tenias que escribir un codigo y asi sucecivamente para hacer todo, cuando steve jobs quiso facilitar eso para atraer a mas publico pues creo una computadora que no fuera por comandos , si no que con tan solo el mouse se abriera, eso lo hiceron para ayudarnos para facilitarnos la vida en ningun momento no lo ocultaron, por si no lo sabes linux tambien es por comandos , si quieres cambiarle el nombre a una carpeta tienes que abrir el compilador y escribir el cadigo para cambiarlo, depronto esto no lo sepas ya que nadie le gusta linux por eso por los comandos , lo que hicieron las empresas es ayudarnos para hacerlo mas facil. y si lo ocultaran como tu dices no creo que dieran cursos gratis de como prgramar a niños en todo el mundo. empresas como google, facebook, twitter y micrsoft tienen una pagina donde enseñan codigo y es realmente divertida se llama code.org ahi te enseñan hasta hacer un juepo de iphone. Saludos y deja de criticar a las empresas.

    • #5 por anyeos el marzo 28, 2014 - 8:41 pm

      Han ocultado el código al público, no lo de programar porque les conviene también en parte tener «adeptos».
      Estás entendiendo mal la explicación (o tal vez no lo expliqué muy bien).

      En el nacimiento de la Apple (la que incorporó el mouse) se hizo para también trabajar gráficamente. Lo que se quería era vender un producto útil para el usuario de oficina. No era la intención que el que la compre aprendiera a programar. Era tratar de darle al usuario de oficina algo que le sirviera (sino no la iban a vender a muchos esa máquina).
      La idea se la copiaron entre todos (Steve, Bill Gates, gente de IBM), y nadie quería revelar cómo se hizo (el código fuente es la forma de proteger su funcionamiento de la idea).
      Pero se convirtió en eso: un negocio, un producto. Por eso le llaman producto software. Pero el código fuente nunca te lo dan, y sin el código fuente difícil vas a aprender a programar.
      Lo que te enseñan en esos sitios que mencionas y muchos otros (salvo los hechos puramente por los propios usuarios y desarrolladores en sí) es solamente ejemplos diseñados especialmente como ejemplos. Pero ninguno te va a dar el código fuente de un software real que está funcionando actualmente por ejemplo en Apple (salvo los que están bajo GPL).

      La tendencia de ocultar, que comenzó a nacer por el año 80, fue lo que complicó todo. La informática antes de eso era tema de estudio, sí, un poco especial, pero era más universal, y aunque de unos pocos, era más un tema técnico y de aprendizaje / diversión (aprendiendo experimentando) que otra cosa.
      Lo importante para las empresas antes de esas fechas era el hardware, era lo que se vendía y de donde obtenían sus ganancias. Prácticamente el código del software te lo entregaban directamente sin ningún límite y tenías el fuente de por sí.

      Pero luego las empresas se fueron dando cuenta que el software podía usarse para ganar dinero también. Porque sin el software el hardware no servía. En ese momento fue cuando comenzó a surgir todo eso, lo de apple, lo de IBM, Microsoft, etc. Y todos ellos comenzaron a ponerle límites y a ocultar el código fuente.

      Eso es lo que se fue perdiendo y se comenzó a convertir en sólo un negocio con un producto más.

      Actualmente bastante código sigue oculto, pero empresas como Google han aportado algo en licencias libres (GPL) que comparten el código.
      Empresas como Microsoft sólo aportan ejemplos que hacen algunos de sus empleados y muchos de sus usuarios (o SDKs, y tal vez algunos estándares «open» pero no tanto código fuente).
      Muchas empresas como Microsoft copian y pegan código de otros lados, o copian, editan un poco y pegan (ese código que ves que comparten). No han inventado nada de eso, jamás han tenido tan buenas intenciones de compartir código de ellos mismos. Siempre todo eso es un negocio, no nos olvidemos que son empresas.

      No las critico por lo que hacen bien, las criticaría por lo que hacen mal. Pero a mi no me importa que ellos no revelen su código. Lo que me molesta es que se aprovechen de gente que sí ayuda, colabora, desarrolla software (algunos mucho mejor que los que han hecho empresas), lo comparten, respetan las licencias, y luego algunas empresas abusan de eso y no respetan las licencias (por ejemplo les hacen modificaciones y no las publican como reclama la GPL que si modificas algo lo publiques).

      Luego como el software libre es justamente eso: un montón de código que sirve para que mucha gente aprenda y desarrolle y mejore más software, muchas empresas se vieron obligadas a hacer algo de su software compatible con esa «moda». Pero no es porque quieran darte una manito y ayudarte, no te confundas. Todo lo hacen por algún interés, o algo ellos ganan a cambio.
      Igual no digo que eso esté mal, lo que está mal es ser hipócrita o creer que eso es una gran ayuda, depende de cada caso de todos modos.
      Aunque siempre que entreguen y compartan algo y enseñen algo, me parece bien, pero respetando a los autores originales que seguro no lo han hecho en un día y les ha costado un gran esfuerzo.

      Pero para mi gusto particular yo prefiero el software libre y prefiero aprender directamente del código fuente de ese software. Además, de la gente que anda en el mismo ámbito y que comparte y trata de ayudar a que otros se sumerjan en ese mundo, me parece mejor compañía (de compañero colega) que una empresa.

      No obstante si yo tuviera que elegir una empresa favorita diría que es Google, con sus defectos y todo, pero dentro de todo ellos han ido respetando a la comunidad y aportando con algunas cosas importantes (un servidor no es nada barato por ejemplo).
      Otra empresa que la veo buena es RedHat, y en lo que respecta a los aportes de código fuente quizá su calidad en aporte sea superior a la de google, pero en cantidad no sé.

      La verdad la intención no era tanto criticar a las empresas sino más bien mostrar que es posible programar que no es tan difícil. Igual este artículo lo hice hace algún tiempo (veo que fue en 2011), en este momento no recuerdo todos los detalles de cómo tenía mi percepción sobre ese tema, pero tampoco existían algunas cosas que ahora sí existen.

      Gracias por tu comentario de todos modos. Saludos.

      PD: La página que mencionas se ve interesante, ojalá sea buena pero no tengo tiempo de verla por ahora.

Deja un comentario