The Field of Programmers Myth
Buenas (otra vez). Hoy os traigo un texto muy majete que casualmente tenia que comentar para clase, y ya que estaba... . Os voy a dejar aqui un resumencillo mio, en el que "solo" he puesto las partes mas interesantes. Por si a alguien le interesa leerlo entero (unas 5 paginas en inglés), dejo este enlace .
El texto, escrito por Peter J. Denning , se llama El Mito del Campo de Programadores (aqui me imagino siempre un montón de gente clavada en un huerto gigante, con solo las cabezas sobresaliendo). Trata, en general, sobre el hecho de que muchisima gente crea que la Informática es simplemente "algo" con poco de ciencia o de ingeniería, como un simple "grupo de programadores". Según él, esto viene de que es "logico" que , ya que los ordenadores necesitan programas para funcionar, la programación sea fundamental. Además (copio textualmetne porque este trozo es muy.. poetico o algo) :
"La mayoría de trabajos de clase se llaman "proyectos de programación", y no "proyecto de diseño", "proyecto de bases de datos", "proyecto de redes" o "proyecto de gráficos". Cuando forjan su opinion del campo mas importante en la universidad, los estudiantes miran atrás hacia sus clases de informática y se ven... programando. Aquellos interesados en mejores puestos se ven... haciendo programación Orientada a Objetos con Java. Los medios de comunicación cuentan muchas historias sobre informática. ¿Quién creó y distribuyó los modernos sistemas de claves criptográficas públicas? Programadores. ¿Quién creó las instrucciones de las docenas de microprocesadores en tu coche? ¿Quién creó el software que analiza tus resonancias magnéticas? ¿Quién creó los navegadores Web? ¿Quién escribió el código de SETI que ayuda a buscar vida extraterrestre cuando tu PC está desocupado? Todo programadores. ¿Quién se cuela en un sistema? Los hackers, una secta de pícaros programadores. ¿Quién escribe virus y gusanos? ¿Quién lanza ataques de denegación-de-servicio? ¿Quién ataca páginas web? ¿Secuestra ordenadores y los vende a los spammers? Más programadores pícaros. ¿Quién cometió el error que hizo que una sonda se estrellara en Marte? Un programador. Están en todas partes, tio. Para lo bueno y para lo malo, todo está hecho por programadores.
La mayoría de gente no ve las historias de especialistas en arquitectura de computadores, ingenieros de redes, ingenieros de sistemas operativos, ingenieros de bases de datos, especialistas en gráficos, arquitectos software, diseñadores de sistemas software, expertos en seguridad, en simulación, en realidad virtual, en supercomputación, en robótica y muchos mas. Todas las historias se cuentan como protagonizadas por programadores."
(...)
"Hay que crear un nuevo retrato de nuestro campo que enfatice la diferencia entre nuestros principios cientificotécnicos y la parte práctica. Los principos fundamentales están en el diseño y la mecánica de la computación, comunicación, coordinación, recopilación y automatización. Estos principios no están cogidos de otros campos: los cientificos informáticos los desarrollaron. Nuestras cuatro prácticas fundamentales son la programación, la ingeniería de sistemas, el modelado y la innovación"
En otra parte del texto, comenta que según la especialización elegida y el estilo, cada profesional debe poner más enfasis en unas partes prácticas o en otras.
Hasta ahí la parte que por ahora me ha parecido mas interesante. Lo de hacer distinciones me parece dificil, pero una gran idea. Sigamos con el texto.
También se habla de la crisis del software, y cómo en una cumbre de la OTAN en 1968 se ponen de manifiesto los retos del software del futuro: tratar con requerimientos difusos y cambiantes, asesorar y manejar el riesgo, sistematizar el proceso de localización y erradicación de errores, organizar y manejar equipos de programadores y satisfacer a los clientes. A esto le dieron un neuvo nombre: Ingeniería del Software.
También deja caer la idea de que para manejar la compleja conducata de los sistemas grandes de software, haría falta cultivar "diseñadores" (no programadores) , ya que la producción del software conlleva un problema intrínseco de talento-y-diseño. Así que insta a la comunidad informática a enseñar a los informáticos a ser grandes diseñadores y desarrolladores de software. (en realidad, la idea es de Fred Brooks , pero no le pone ninguna pega)
También cuenta cosas de Dijkstra (cómo me mola su algoritmo ^^) , y quelo que para él, lo mejor sería unir todas las hojas dispares en una única disciplina. Borrar todas las palabras "del mundo real" de los primeros cursos, y en vez de ello, enseñar las derivaciones formales de los programas a partir de predicados lógicos que expresan sus requrimientos. Ademas, apuesta por la enseñanza de la detección de errores y cosas asi, que normalmente se consideran partes mas "blandas" o "debiles".
Y , por último, da 4 recomendaciones para ayudar a reorganizar la enseñanza de las 4 prácticas y no confundirlas con los principios:
1- Promover el pensamiento algorítmico
2- Agrupar las enseñanza prácticas en una sección de Prácticas de Computación
3- Crear una estructura de enseñanza basada en la competencia en la práctica. (lo pongo en inglés): beginner (aprenden la sintaxis y la ejecución de las relgas de programación y los modelos basicos de deteccion de errores), advanced beginner , competent (conocimientos extensos de las librerias y los algoritmos basicos, deberian ser ademas capaces de unir varios modulos en un único sistemas para satisfacer una peticion), proficient (deben encontrar facil la programación en varios lenguajes, ver los lenguajes individualmetne como maneras de expresar algortimos que ya están "en su mente" y crear "estandares" que los demás podrían admirar y seguir), virtuoso, master (deben tener conocimineto extenso sobre el desarrollo histórico de la programación, deben ser capaces de diseñar grandes sistemas software combinando diversos niveles de abstracción, y también de definir nuevos métodos y mejorar las prácticas de programación) y legend.
4- Enseñar la detección y correción de errores.
Y bueno, poco mas. Todo lo basa en eso. Espero que os haya parecido interesante, y si no... solo teneis que olvidarlo ^^
Saludos
(PD: cualquier incoherencia sintáctica o lo que sea....la culpa es de que estoy en un medio hostil para mis neuronas.)
6 comentarios
Kondor -
Ademas lo chulo de la inform o de la ing inform es el hecho de materializar información (bits) en una herramienta muy potente. Un fisicucho del 3 al cuarto como yo tmb sabe valorar el arte de la programación ;D
Por cierto, voy a ver el algoritmo ese a ver de q va
Malvado Ventrilocuo -
Me ha salido el tiro por la culata, pero me gustó el texto reivindicativo. ¡Programar es lo que se hace con la lavadora, nosotros somos artistas!
Por cierto, yo cuando escucho lo de "campo de programadores" me imagino a todos con la cabeza enterrada y el cuerpo para fuera.
ente maligno que habita en mota -
Si te parece pequeña, pulsa "ctrl" y mueve la ruedecilla del raton, ya veras que divertido
marta de esparta -
Skelv -
Marujita Robinson -