'

lunes, 8 de julio de 2013

Acepta este reto: Vincular el consumo de Internet al hábito de crear ¿cómo? aprendiendo a programar


Ayer debí poner mis pies en agua tibia por más de una hora. Al parecer las plantas de mis pies se están quejando por mi adicción a correr.  Sí amigos, me he vuelto adicta a correr mínimo tres días a la semana.   

Confieso que seis años atrás detestaba correr. ¿Pero por qué he cambiado de opinión? Primero porque como todo mundo necesito ejercitarme. Por razones de tiempo no podría asistir a un gimnasio y por razones económicas no estoy dispuesta a pagar uno. 

Luego, un amigo que durante décadas sale a correr religiosamente cada día a las 6:00AM, empezó a incentivarme hasta que finalmente me convenció.

Al principio me costaba mucho esfuerzo, y lo abandoné por casi dos años. Pero recientemente volví a correr hasta que me convertí en adicta... Tanto que los días que no corro me siento decaída.

¿Cómo es posible que no pueda vivir sin correr si seis años antes lo odiaba? Las razones son varias. Una es que correr me beneficia,  me hace sentir extremadamente bien física e intelectualmente. Y también me hace ver mejor en todo el sentido, ya que estoy más animada y con más energía.



¿Qué tiene que ver correr con programar? 

Con esta anécdota quise mostrar cómo todos poseemos lo necesario para modificar nuestros hábitos y aprender algo nuevo hasta amarlo, independientemente de la edad. ¡La clave está en proponérselo, buscar un estímulo y contar con un apoyo!

Me propuse mejorar mi estado de salud, esa meta se convirtió en mi estímulo para correr. Y mi amigo me brindó el apoyo que necesitaba. Ustedes pueden proponerse programar como una meta para adquirir nuevos conocimientos antes de finalizar el año 2013. "Crear" puede ser su estímulo para lograrlo. Sí, todos alguna vez hemos tenido buenas ideas y la programación puede ayudarnos a ejecutarlas, además de servir para mejorar grandiosamente las facultades mentales. 

El apoyo lo encontrarán en cualquier amigo que sepa o esté aprendiendo a programar. Inclusive ¿para qué está Internet? donde precisamente existen miles de comunidades de programadores a todos los niveles. También me ofrezco yo para apoyarlos si no cuentan con nadie más. No es que sepa mucho, pero al menos siempre tengo a quién preguntar.

Antes que todo piensen: "Si Amandysha está aprendiendo a programar pues yo también puedo" (porque en realidad, no soy tan lista como algunos creen). 

Si se preguntan ¿por qué aprender precisamente a programar? Pues porque la vida es aprendizaje constante, y aprender a programar nos ayuda a mejorar nuestras capacidades cognitivas. La programación nos enseña a concentrarnos, a pensar de forma más lógica y coherente, a encontrar y corregir errores sistemáticamente, a ordenar nuestras necesidades, ideas y recursos. Además de aumentar nuestra concentración y abstracción. 

Al programar resolvemos problemas y esto favorece nuestra creatividad y la comprensión de otras áreas. Por ello hasta Michael Bloomberg, actual alcalde de Nueva York con 71 años de edad, quiere aprender a programar

¿Otra razón más para aprender a programar? Todo lo que conocemos hoy día: vehículos, computadoras, televisores, radios, celulares, equipos médicos de todo tipo y hasta el router wifi al cuál estoy conectada al escribir este artículo, todo lo anterior necesita software. Y con el auge de las nuevas tecnologías, no está de más poseer conocimientos sobre cómo realizar o cómo otros realizan una aplicación web, un servicio o una aplicación para dispositivos móviles.

¿Cómo adquirir el hábito? En mi caso, un día concluí que la disponibilidad constante a Internet me conducía a una inminente sobredosis de vagancia y conversaciones estériles en línea. Fue entonces cuando decidí crear el hábito de vincular mi consumo de Internet con alguna actividad que me hiciera sentir orgullosa de mi misma (además de escribir en este blog). Y por todos los beneficios colaterales que ya mencioné, elegí aprender a programar. 

Desde que adquirí el hábito, voy por la calle encontrando ideas que en un futuro podrían convertirse en un servicio o aplicación web. En República Dominicana contamos con una fuente inagotable de ideas, porque solucionar nuestros propios inconvenientes cotidianos es la mayor fuente de todas. 

¿Cómo empezar a aprender a programar? Por fin, ¡vamos a entrar en materia! Lo primero es que existen tantos lenguajes de programación como arenas en el desierto.  Recomiendo antes de escoger uno en especial, jugar un poco con CodeSpells y aprender los conceptos básicos del lenguaje de programación "Java".

¿Por qué empezar con Java? Además de por ser un lenguaje multiplataforma, muy solicitado por las empresas, y ser utilizado para desarrollar incontables aplicaciones empresariales, juegos y aplicaciones de escritorio. Técnicamente existen buenas razones para elegir Java como lenguaje de programación inicial. Para explicar algunas les remito a otro artículo: 10 razones para elegir a Java.

Aprender Java jugando

CodeSpells es un videojuego gratuito para Mac OS y Windows, creado por la Universidad San Diego de California. Con él, niños y adultos aprendemos en forma divertida conceptos del lenguaje de programación "Java". Es un videojuego 3D que nos convierte en un mago que debe ayudar a los gnomos mediante la lectura y la escritura de hechizos, pero cada hechizo esconde un código de programación.

De acuerdo a un informe presentado en el foro SIGCSE 2012, con CodeSpells cuarenta niñas entre 10 y 12 años de edad, dominaron conceptos mínimos de programación Java con sólo una hora de haber sido expuestas a este juego.



Otra opción para aprender Java jugando es Alice. Un programa para construir mundos virtuales con objetos 3D, permitiéndonos aprender a programar Java y también C++ de manera divertida. Igual al anterior, es totalmente gratuito y puede ser instalado en Windows, Linux y Mac OS.

Igualmente pueden ingresar en CodeCademy.com/es y registrarse. Es una academia en línea totalmente gratuita y donde en español aprendemos desde lo más básico hasta fundamentos más complejos de diversos lenguajes de programación y practicarlos ahí mismo. Es divertido, como en los videojuegos vamos ganando insignias según se avanza. Recomiendo empezar por aprender CSS3, HTML o PHP.

Si prefieren aprender con videos, en Programando.la encontrarán videotutoriales gratuitos y en español de HTML5, JavaScript, CSS3, Python, PHP, Java, Ruby, Ruby on Rails, C++ y otros lenguajes de programación.

Así como descubrí que correr no es solo para atletas; programar no es solo para informáticos. No importa que seas médico, político, ama de casa, ingeniero civil, arquitecto, fotógrafo, periodista, bombero, enfermera o limpiabotas. Aprender a programar te servirá para expandir tu campo de acción profesional, y tus conocimientos y habilidades cognitivas.

Por supuesto, así como aún no corro como lo hace mi amigo, ni cuento con su resistencia, ni puedo participar en triatlones como él -y es probable que nunca llegue a hacerlo-. Asimismo ustedes no aprenderán de la noche a la mañana a programar como quienes llevan años haciéndolo.

Sin embargo, no se desanimen. Sólo necesitan esforzarse y sobre todo divertirse. Así poco a poco progresarán.

Yo corro, y seguiré haciéndolo, aunque correr no sirva para nada en mi área laboral. Pero me hace bien, porque me hace sentir más saludable y más feliz. Con cada paso, correr me ayuda a convencerme de que puedo superar cualquier obstáculo si me lo propongo. Igual cada uno de ustedes se sentirá al empezar a aprender a programar antes de finalizar el año 2013. 

Programar es como escribir poesía... pero con sintaxis y fórmulas matemáticas. 

Si en todo lo anterior no encontraron el estímulo suficiente, les dejo con este video que espero si pueda servirles como inspiración: "todo el mundo debería saber programar".


22 comentarios:

  1. ¡Gracias por la motivación!

    Es como si este tipo de empuje es el que me faltaba para aprender :P

    Pregunta: ¿el juego CodeSpells está solo para MAC?

    ResponderEliminar
  2. Si, pero no te preocupes, que antes de finalizar este mes ya estará para Windows. Se trabaja muy duro para ello. :D

    ResponderEliminar
  3. Oh, ¡Excelente! Mientras eso llega me registro en Code Academy :)

    Deja darle Share a este post. (Se me había olvidado :S)

    ResponderEliminar
  4. Santiago De la Cruz7/09/2013 07:26:00 a. m.

    Es cierto lo que dicen de que Dios le da barba a quien no tiene quijada. Sé programar (o sabía), he programado hasta chip y software de inteligencia artificial, pero deje de programar hace unos dos años ya que no soporto estar mucho tiempo sentado (soy muy inquieto).

    Estoy dispuesto a ayudar a quien esté interesado en aprender, aunque ahora formo parte de un equipo de desarrollo, sólo estoy para las nuevas ideas y simplificación del código (dicen que veo los fallos hasta ortográficos).

    Espero que algún día vuelva a ese ritmo de antes, todos deben saber programar u más ahora cuando hasta los IDE son fáciles ;-)

    ResponderEliminar
  5. ¡Muchas gracias por tu apoyo Santiago! ¿Qué lenguajes dominas? Yo estoy aprendiendo Java. ¿Conoces alguna app para compilar y ejecutar Java desde iPhone o Android? Te lo agradecería mucho.

    ResponderEliminar
  6. Santiago De la Cruz7/09/2013 10:49:00 a. m.

    En Android existe AIDE.

    En mi caso no diría dominar ya que el que sabe sabe uno o dos, pero he incursionado en SQL, Visual Basic, C, C#, Prolog, Regex (aquí soy un monstruo).

    Aunque básicamente mi trabajo en sí es crear los algoritmos para hacer dinámico un código ya hecho .

    Fue una odisea responderte, por donde ando no hay mucha señal.

    ResponderEliminar
  7. Wow ! muchas gracias por la informacion bien detallada , yo empeze a programar a los 12 ahora tengo 16 empeze con C luego C++ y HTML5 , CSS3 , Javascript , php5 , ahora estoy tratando de incursionarme en el mundo android y aprender Java.


    Gracias , se te agredece mucho.

    ResponderEliminar
  8. Muchas gracias Santiago. Ya la estoy probando, ¡súper!

    ResponderEliminar
  9. Gracias a ti! Espero nos cuentes cómo te va con Java. También estoy aprendiendo ese Lenguaje.

    ResponderEliminar
  10. Santiago De la Cruz7/11/2013 09:09:00 a. m.

    Que bien! Quizas pronto veamos una app de esta web :D

    ResponderEliminar
  11. Hola! Amandysha, Hice una app similar en VB.NET, me fué bien simple desarrollarla.

    ResponderEliminar
  12. Es interesante aprender a programar tus propias aplicaciones y mas si aprendes varios lenguajes. Primeramente hacer un buena algoritmo con un diagrama de flujo bien estructurado te ayudará a tener una mejor idea de como funcionará tu aplicación.

    En la teoria es practicamente es lo mismo lo que varia son las sintaxis. O la forma en tu decirle al lenguaje de programación que te haga las cosas. Hoy en dia VB.NET cada vez es mas facil de desarrollar aplicaciones que antes en VB6 te tomaba el triple de tiempo por la gran cantidad de códigos que habia que escribir. Cada vez los lenguajes de programación lo hacen más simple.

    ResponderEliminar
  13. Que todo el mundo aprenda a programar me parece bien. Lo que no me gusta de este artículo es su inlicnación por Java, un lenguaje con reconocidas vulnerabilidades y que ha sido el tropieso de Android por su dependencial al mismo.

    ResponderEliminar
  14. Sócrates, ¿cuál lenguaje de programación está invicto a las vulnerabilidades? Sobre lo demás, si el tropiezo de Android (según usted) es la "dependencia" de Java, no entiendo por qué recomendar HTML5, que "depende" de Javascript. Explíqueme a ver si le entiendo.

    ResponderEliminar
  15. Realmente no hay una relación estrecha entre Javascript y Java (a pesar del nombre). Ese nombrecito de Javascript podríamos decir que fue puro oportunismo de sus creadores para aprovecharse del "bum" de Java en su tiempo.


    En cuanto a Java, realmente es un muy buen partido (de hecho, creo que hasta el firmware del Amazon Kindle está hecho con él). En sentido general es una opción viable y recomendada.

    ResponderEliminar
  16. Gracias PE por la aclaración. Quise decir que realmente no entiendo lo negativo en que un OS dependa de un lenguaje o plataforma en especial.


    Por poner otro ejemplo, iOS depende de Objective-C. Por ello no entiendo por qué Sócrates llama a la dependencia de Android de Java "un tropiezo".

    ResponderEliminar
  17. Ah, ahora veo tu punto.

    Entiendo que la decisión de Google al utilizar Android fue muy acertada. Te podría dar un paquetón de razones por las que pienso que Java es una joya, pero sé que pronto irás conociendo sus virtudes.

    ResponderEliminar
  18. OMG, me quitarán el moro :-(




    :-P

    ResponderEliminar
  19. Gracias por este articulo Amandysha, siempre tuve el interés de aprender programación pero nunca dedique tiempo a eso.

    Es increíble lo que he aprendido desde que publicaste esto, decidí usar codeacademy y aprender HTML/CSS, después quiero aprender JAVA, que me dices, se puede aprender Java desde 0 o hay que tener conocimiento previo de algún otro lenguaje?

    ResponderEliminar
  20. Hola Alfredo, para nada. No necesitas tener conocimientos previos de programación. Ya veras lo cómodo que te sentirás con Java, porque se puede hacer tantas cosas.


    Si quieres empieza jugando, con algunos de los juegos que cité para ir practicando e iniciarse. Me cuentas cómo te va cuando decidas empezar con Java. ¡Abrazos!

    ResponderEliminar
  21. Hey Guillermo, tal como te dije CodeSpells ya está disponible para Windows. ¡Pruébalo ya! https://sites.google.com/a/eng.ucsd.edu/codespells/downloads

    ResponderEliminar
  22. ¡Nítido! A aprender jugando/jugar aprendiendo? :)

    ResponderEliminar

Copyright © 2012 Amandysha.
Blogger Template by Clairvo