¿POR QUÉ TODOS TIENEN TANTO AFAN?
Es algo impresionante como al utilizar un motor de busca
para encontrar cursos ‘’cursos rapidos’’ aparezcan cientos de resultados que
ofrecen enseñar desde lenguajes de programación hasta como tocar un
instrumento, esto en pocas horas.
En un artículo publicado en internet se realizo una búsqueda
avanzada en Amazon.com con los siguientes resultados:
y obtuve 248 ítems de resultado. Los primeros 78 fueron
libros de computación (el número 79 era Aprende Bengali en 30
días -- Learn
Bengali in 30 days ). Remplacé
"days" (días) por "hours" (horas) y obtuve, sorprendentemente, resultados
similares: 253 libros más, con 77 libros de computación seguidos de Aprende Gramática y Estilo en 24 horas (Teach Yourself Grammar and Style
in 24 Hours) en el número 78. Del total de
los primeros 200, 96% fueron libros de computación.
Se llega a dos conclusiones, que la gente tiene una gran necesidad de
aprender sobre computadoras o que este tema es demasiado genial y muy
apasionante. Las dos tienen mucho de cierto, pero basado en mi opinión las
personas no se apasionan mucho por este tema debido a que el método educativo
es demasiado rígido y obsoleto. No se puede aspirar que cualquier persona cree
un código de programación en el mismo tiempo y con la misma calidad, lo cual
desmotiva a muchos estudiantes de la computación. “no se puede juzgar a un pez,
un perro y un gato por su habilidad para escalar un árbol”.
El arte de la programación no es complejo del todo, aunque
hablando desde mi punto de vista personal, no soy el mejor en ello. Pero creo
que es algo que se puede aprender
arraigando los conceptos que se deben tener en cuenta para crear
cualquier programa. (además de aprender bien ingles)
Otro punto interesante mencionado en este articulo es que no
se puede aprender un lenguaje de programación en 3 días, ya que para aprender a
hacer algo se requiere de la experiencia (aprender haciendo), lo cual puede
tardarse un par de años. Lo cual nos lleva a pensar que no es mucho lo que
puede aprenderse en 3 días.
Aprende
a programar en diez años
Como habíamos descrito anteriormente no se puede
ser un buen programador en 3 dias, la experticia en cualquier arte tarda por lo
menos 10 años. He aquí la receta para el éxito en programación según el autor
del artículo:
- Interésate
en la programación, y haz programación porque es divertida. Asegúrate que
se mantiene tan divertida que estarás en disposición de invertir diez
años.
- Habla
con otros programadores. Lee otros programas. Esto es más importante que
cualquier libro o curso.
- Programa.
El mejor tipo de aprendizaje es aprender haciendo (learning by doing) . Para decirlo más
técnicamente, "El máximo nivel de desempeño de los individuos en un
dominio dado, no se logra automáticamente como función de experiencia
extendida, sino que el nivel de desempeño puede incrementarse incluso en
individuos altamente experimentados como resultado de esfuerzos
deliberados por mejorar." (p. 366) y "el aprendizaje más efectivo
requiere una tarea bien definida con un apropiado nivel de dificultad
acorde con el individuo, retroalimentación informativa, y oportunidades de
repetición y corrección de errores." (p. 20-21) El libro Cognition in Practice: Mind, Mathematics, and Culture
in Everyday Life es una interesante referencia sobre
este punto de vista.
- Si
quieres, dedica cuatro o cinco años en una universidad (o más en una
escuela de graduados). Esto te dará acceso a algunos posiciones que requieren
credenciales, y te dará un entendimiento más profundo del campo, pero si
no disfrutas la escuela, puedes (con algo de dedicación) obtener una
experiencia similar trabajando. Como sea, la lectura de libros por sí sola
no será suficiente. "La educación en computación no puede hacer a
nadie un expero programador más que el estudio de pinceles y pigmentos
puede hacer a alguien un pintor experto" dice Eric Raymond, autor de The
New Hacker's Dictionary. Unos de los mejores programadores que yo haya
contratado alguna vez tenía sólamente un grado de bachiller (High School);
pero ha producido una gran cantidad de excelentes programas , tiene su propio grupo de noticias (news group) , y sin duda es mucho más
rico de lo que yo llegue a ser.
- Trabaja
en proyectos con otros programadores. Sé el mejor programador en algunos
proyectos; sé el peor en otros. Cuando eres el mejor, tienes que poner a
prueba tus habilidades para liderar un proyecto y para inspirar a otros
con tu visión. Cuando eres el peor, aprendes lo que los maestros hacen, y
aprendes lo que a ellos no les gusta hacer (pues te ponen a hacerlo por
ellos).
- Trabaja
en proyectos después que otros programadores. Proponte
entender un programa escrito por otra persona. Mira cuánto toma entenderlo
y hazle correcciones cuando los programadores originales no están allí.
Piensa en cómo diseñar tus programas para facilitarles el trabajo a aquellos
que le harán mantenimiento después de tí.
- Aprende
por lo menos una media docena de lenguajes de programación. Incluye uno
con soporte para abstracciones de clases (como Java o C++), uno que dé
soporte a la abstracción functional (como Lisp o ML), uno que dé soporte a
la abstracción sintáctica (como Lisp), uno que dé soporte a
especificationes declarativas (como Prolog o plantillas C++), uno que dé
soporte a corutinas (como Icon o Scheme), y uno que dé soporte al
paralelismo (como Sisal).
- Recuerda
que hay "computadoras" en la "ciencia de la
computación". Conoce cuánto le toma a tu computadora ejecutar una
instrucción, alcanzar una palabra de la memoria (con y sin cache), leer
palabras consecutivas de disco, y ubicar una nueva localización en disco.
- Involúcrate
en un plan de estandarización de algún lenguaje. Podría ser en el mismo
comité ANSI C++, o podría ser simplemente decidir si tu estilo de
codificación tendrá niveles de identación de 2 ó 4 espacios. Como sea,
averigua lo que les gusta a otras personas en un lenguaje, cómo lo
perciben, y quizá incluso un poco de por qué lo perciben como lo hacen.
- Ten el
buen juicio para lanzar el plan de estandarización del lenguaje tan pronto
como sea posible.
No hay comentarios:
Publicar un comentario