• Del autor
  • Principios y algoritmos de concurrencia

Ricardo Galli, de software

~ De software libre, internet, legales

Ricardo Galli, de software

Publicaciones de la categoría: universidad

Las cosas que no soporto que diga un programador

01 domingo Feb 2015

Posted by gallir in programación, universidad

≈ 46 comentarios

Etiquetas

informática, programación

…y quizás tampoco las soportan los demás programadores.

En mi ordenador funciona

Si el código no funciona en un ordenador con toda las dependencias adecuadas instaladas es un error de tu programa, sin dudas, no hay excusas. Nunca digas esta frase, sólo demuestra que todavía no estás preparado ni para asumir la responsabilidad de tu propio código. Si eres alumno demuestra que no te interesa aprender sólo aprobar con el menor esfuerzo posible… además de tomar como tonto al profesor, como si nunca hubiese oído esta excusa (la oímos decenas de veces cada vez que se presentan prácticas).

Sigue leyendo →

«Lo que demanda el mercado», y el conservadurismo en la universidad

27 miércoles Mar 2013

Posted by gallir in UIB, universidad

≈ 29 comentarios

Etiquetas

gnu/linux

El lunes fui a Dublín para unas entrevistas en Google. Apenas llegué al hotel abrí el siguiente email, Amazon buscando desesperadamente (ya lo hacen en grupos abiertos, no sólo por recruiters) ingenieros expertos en GNU/Linux para Dublín. Sumado a que justamente estaba por ir a Google, que también exige (o da mucha importancia) a los conocimientos de Linux, inmediatamente me acordé los años de luchas y problemas en la universidad para poder enseñar sobre GNU/Linux.

Empecé a dar las asignaturas de sistemas operativos en el curso 1993-1994, los primeros dos con Minix (sólo teníamos Macs Performa, y adapté el kernel MacMinix para que funcione en ellas). Luego quitaron los Mac, pusieron PCs con Windows NT y no me dejaron instalar Linux. Tuve que dar un curso con las prácticas con Cygwin sobre esos Windows, o vía telnet al VAX VMS con los alumnos. El primero pasable -aunque doloroso-, el segundo infumable. El C del VMS era muy poco compatible en temas de llamadas de sistemas, y cada clase de viernes a la tarde se colgaba, o fallaba con tantos usuarios.

Sigue leyendo →

Universidades, presupuestos, crisis y rankings

14 martes Ago 2012

Posted by gallir in UIB, universidad

≈ 13 comentarios

Etiquetas

berkeley, matrículas, stanford, UIB

Hace un momento leí el artículo de The Economist sobre los recortes presupuestarios en las universidades públicas californianas: One state, two systems. As public universities struggle, some private ones thrive. Comentan que la Universidad de Stanford (privada, sin fines de lucro) consiguió donaciones de más de 5.000 millones de euros (estoy pasando de dólares a euros, aproximados) en cinco años. Eso da una media de 1.000 millones al año (aunque en la Wikipedia dan números algo más bajos). La matrícula anual de alumnos tiempo completo es de 30.000 euros ( $35.000). Son 15.000 alumnos en total (en licenciaturas y posgrados), lo que suma unos 450 millones al año.

Sigue leyendo →

Defender lo que te ha dado tanto

04 miércoles Ene 2012

Posted by gallir in internet, personal, software libre, universidad

≈ 30 comentarios

Etiquetas

historia, internet, software libre

Llevaba varios semanas muy estresado, con mucho trabajo (y lo que me espera). Hace unos 6 meses dejé de jugar al pádel (la crisis afectó hasta a eso, mis ex compañeros tienen que hacer horas extras), mi salud empezó a decaer. Me costaba respirar, dormia muy mal. Al final tomé la decisión, debo cambiar mi vida sedentaria, si no, acabaría muy pronto.

Me apunté hoy al gimnasio, fui a la primera sesión. Me dieron una caña de la buena, tras 45 minutos terminé con dolor en el pecho, la visión periférica borrosa (signo de la falta de oxígeno en el cerebro). Los 200 metros de regreso a casa me parecieron eternos, son esos momentos que sientes que acabará todo muy pronto.

Llegué a casa, me tiré unos minutos, de sentirme fatal me empecé a sentir muy bien (menos de dos horas después estoy como una moto, escribiendo este apunte a falta de no tener nada más urgente que hacer). Pensé, ¡hostia! tampoco era tan complicado, las cosas a veces pueden mejorar rápidamente, vaya suerte que tengo.

Sigue leyendo →

¿»Ingeniería» del software? Ahora vienen los mea culpa

20 lunes Jul 2009

Posted by gallir in desarrollo, programación, software libre, universidad

≈ 111 comentarios

Etiquetas

ingeniería del software, métrica

Los que leen habitualmente mi blog conocen mi opinión sobre la «ingeniería del software tradicional», muchas veces hablé de ello y del «mal» que hacen en general a la profesión, y hasta como limitan la innovación.

Nunca me gustó que se llame «ingeniería» a un proceso que tiene poco que ver con los de las ingenierías tradicionales, entre ellas que las tradicionales poseen una serie de herramientas analíticas y cuantitativas para evaluar y estimar riesgos y tolerancias. En el desarrollo de software no tenemos esas herramientas, quizás nunca las tengamos: no es lo mismo trabajar en la construcción de elementos físicos, limitados por leyes fundamentales de la física, con pocas combinaciones posibles, con la construcción de programas informáticos que no tienen esas limitaciones físicas, ni en las combinaciones posibles.

Este tipo de visión propuesta desde el mismo nombre «ingeniería» nos lleva a errores muy importantes, por ejemplo el de suponer que las construcciones físicas y las matemáticas [los programas] son equivalentes. No sólo hace «daño» a los proyectos que nunca pueden cumplir plazos y presupuestos, sino también a la propia «ciencia» y profesión informática. Es un engaño, fundamentalmente a los propios profesionales. Así se cometen errores derivados como reclamar colegios, regulaciones y normas y procedimientos similares a otras ingenierías: las soluciones equivocadas son más perjudiciales que los problemas abiertos. Además es ponernos una venda en los ojos para no observar el verdadero potencial de la informática, ni para darnos cuenta de dónde está la innovación (que no es precisamente seguir haciendo el mismo software de siempre).

Escribí bastante sobre estos temas, fundamentalmente en apuntes críticos con la creación de los colegios oficiales informáticos. El núcleo de la argumentación es la que comentaba antes, incluso de crear una «pseudociencia» (p.e. en Recursividad, punteros, estadísticas y pseudociencia del software, Diseño, ingeniería, ágiles… y frameworks, Redescubriendo al Dijkstra provocador 18 años después), además enseñado en la universidad como si de leyes científicas se tratasen –quizás lo que más daño hace–.

También critiqué al establishment de la «ingenieria del software», dominado por tecnológos pocos «científicos» –en su mayoría empleados de grandes corporaciones de desarrollo de software para empresa de Fortune 500– que en ninguna de sus publicaciones científicas presentan los datos para que puedan ser contrastados (algo inherente del software privativo) y sometidos al peer review (que no es aceptable en ninguna otra rama científica). Este mismo establishment ha ignorado durante muchos años al software libre con sus métodos de diseño y desarrollo completamente contradictorios con los propuestos por la «ingeniería tradicional» (muy bien expuesto en al «Catedral y el Bazar» de Eric Raymond).

Muchas de las respuestas que tuve –incluso entre supuestos reputados profesionales– es que «hago daño a la profesión» [sic].

Pero ahora está surgiendo el mea culpa de los gurús incondicionales de la «ingeniería del software». El reconocido gurú Tom DeMarco (gracias Paco) que escribió el artículo de opinión Software Engineering: An Idea Whose Time Has Come and Gone? (algo así como «Ingeniería del software: ¿una idea de tiempos pasados?») que es en gran parte una autocrítica a sus ideas y libro de referencia Controlling Software Projects: Management, Measurement, and Estimation.

Resumo sus ideas fundamentales con algunas de sus frases traducidas literalmente:

  • Hoy en día todos comprendemos que las métricas de software cuestan dinero y tiempo, y que deben ser usadas con moderación.
  • El desarrollo de software es inherentemente diferente de las ciencias naturales tales como las física, por lo que sus métricas son muchas menos precisas para capturar lo que deben describir.
  • La frase más citada del libre es «No puedes controlar lo que no puedes medir». Esta frase contiene una verdad real, pero cada vez me sentía más incómodo con el uso que hice de ella. Está implícita en la frase (y en título del libro) que el control es un aspecto importante, quizás el más importante, de cualquier proyecto de software. Pero no lo es.
  • Muchos proyectos se han realizado sin demasiado control pero han generado productos maravillosos tales como Google Earth o la Wikipedia.
  • Esto nos lleva a la desagradable conclusión que el control estricto es algo que importa mucho en proyectos relativamente inútiles y mucho menos en proyectos útiles. Sugiere que mientras más te enfoques en el control aumenta la probabilidad de que estás trabajando en un proyecto que se esfuerza por generar algo de valor relativamente menor.
  • ¿Estoy diciendo que está bien ejecutar proyecto sin control o con un control relativamente menor? Casi. Estoy sugiriendo que deberíamos seleccionar primero a los proyectos cuyo control preciso no importe demasiado.
  • Estoy llegando gradualmente a la conclusión que el momento de la ingeniería del software vino y se marchó.
  • En los últimos 40 años nos hemos torturado por nuestra ineptitud en acabar proyectos a tiempo y con el presupuesto previsto. Pero como sugerí antes, no debería haber sido el objetivo supremo.
  • El objetivo más importante es la transformación, crear software que cambie el mundo, o que transforme una empresa, o la forma en que hace negocios.
  • El desarrollo de software es y será siempre algo experimental. Lo construcción real de software no es necesariamente experimental, pero sí lo es su concepción. Allí deberíamos enfocar nuestros esfuerzos. Allí es donde deberíamos haberlo hecho siempre.

Está muy bien que por fin los gurús de la «ingeniería [tradicional] de software» comiencen a reconocer errores y dejar de ignorar a los métodos y filosofías tan habituales del software libre y de proyectos que han sido realmente innovadores desde el punto de vista de gestión de proyectos de software. Todavía se queda corto y esta opinión me deja la misma sensación de dejè vu que me produjo hace unos diez años la moda de lo métodos ágiles y la programación extrema: era algo que ya se veía hace tiempo en el software libre y de hecho era mucho más radical que las «radicales» nuevas metodologías y métricas. Por ejemplo.

Tom DeMarco cita a dos proyectos que le parecen notables para mostrar la contradicción con las ideas tradicionales: Wikipedia y Google Earth. Pero resulta que ambos tienen muy poco que ver y no han sido «seminales» en sus aŕeas.

El software de la Wikipedia [un wiki colaborativo] es muy sencillo y no fue el primero en hacer un programa de este estilo. el éxito e importancia social de al Wikipedia es el proyecto global, y cómo ha conseguido formar una enorme comunidad de gente que comparte valores de fomentar la divulgación libre del conocimiento. Poco tiene nada que ver con «desarrollo de software», sino con valores y conceptos mucho más amplios.

Google Earth es un programa mucho más complejo pero que ya eran comunes desde principios de la década de los ’90, con el auge de las estaciones 3D (el líder indiscutible era Silicon Graphics, SGI) y la realidad virtual. De hecho Google Earth surge de la compra de una empresa (Keyhole) que a su vez se basó en otras ideas e implementaciones previas de 1994. El logro fundamental de Google Earth poder acceder a esa cantidad de datos y dejarlos a disposición de todo el mundo, algo que antes sólo podían hacer muy pocas empresas. (En todo caso yo hubiese mencionada a Google Maps, porque mostrar esa información usando sólo HTML y Javascript sí fue una innovación importante, junto con Gmail mostraron el camino del desarrollo de aplicaciones Web/Ajax complejas).

Si yo tuviese que elegir proyectos de software realmente indicativo de las contradicciones con las «métricas tradiconales», por ejemplo:

  • Núcleo Linux: Es muy complejo desarrollaro un núcleo de sistema operativo, la variedad de hardware es enorme, los bugs tienen consecuencias graves, se necesitan mucho conocimientos, tiene una enorme cantidad de elementos independientes, las combinaciones de caminos de ejecución de casi infinitas. Aún así se desarrolló uno que funciona desde los superordenadores más grandes del mundo a los teléfonos móviles, con el aporte de miles de programadores sin ningún tipo de reuniones, coordinación, diseño previo o siquiera documentación básica (ahora ya hay bastantes libros y documentos).
  • KDE/Gnome: Dos proyectos complejos, independientes pero competidores e incluso «con esfuerzos inaceptablemente duplicados», pero que cada uno aportó innovaciones en distintas áreas y se integran o usan en entornos diversos como escritorios completos a dispositivos móviles o multimedias (por ejemplo el Sfari/Webkit que se ejcuta en Mac, iPhones, Androids y Nokias es derivado directo del KHTML de KDE).
  • Sistema GNU/Linux o BSD (+ X.org, +GNOME/KDE, +multitud de software): Ejemplo radical de cómo se pueden construir sistemas complejos muy completos basados sólo en una coordinación o consenso mínimó para las interfaces entre ellos. Estas interfaces además son muy simples y no han dejado de evolucionar sin necesidad de «cambios drásticos».

Cualquiera de los tres proyectos es –en código fuente– órdenes de magnitud más grande que la Wikipedia o Google Earth, además ninguno de ellos dependió de una empresa o fundación, y tienen una complejidad y diversad de uso mucho mayor.

Por eso, está muy bien que empiecen a descubrir todo un mundo allí fuera, que creció y se desarrolló sin seguir las métricas y métodos «tradicionales». Es aún una mejor noticia que los gurús de la ingeniería del software empiecen la autocrítica de las ideas erróneas que han fomentado durante 40 años.

Estaría ahora muy bien que los fanboys de esa «ingeniería» empiecen a aceptarlo. Pero sería mucho mejor que los responsables de planes de estudio y asignaturas de «ingeniería del software» en las carreras informáticas sean conscientes del problema, al menos ya tienen a uno de sus gurús poniendo en dudas los cimientos de su [pseudo] ciencia. Quizás así dejaremos de leer y escuchar falacias tales como «para ser buen director de proyecto no hace falta saber programar», «un proyecto es malo si no tiene un diseño previo bien especificado y documentado», o el mantra:

[…] podemos y/o debemos gestionar un proyecto de software de la misma forma que un proyecto de arquitectura.

Futurología: en unos pocos años veremos que el hot topic en las publicaciones de ingeniería del software serán estudios de caso de grandes proyectos de software libre. Nos hablarán de la radicalidad de los métodos ágiles usados, la coordinación debil, el software evolutivo, la complejidad de las relaciones sociales entre programadores y usuarios, la influencia del uso real de los usuarios para el diseño del software, la importancia del release often, del peer review, los casos reales de uso no previstos por los programadores… y volveré a sentir una sensación de dejà vu.

El desastre de Bolonia

25 miércoles Mar 2009

Posted by gallir in universidad

≈ 20 comentarios

Etiquetas

plan de bolonia, sangre

Pero no creo que sea en el sentido que parece, quizás es peor, demuestra el «talante» de nuestras cabezas pensantes.

Creí desde un principio que el proceso del espacio europeo sería muy bueno para las universidades. En acuerdo en sí es «neutral», sólo define unas metas de estandarización, de cambios básicos para modernizar métodos y planes de estudio. Quizás lo más aberrante sea el intento de medir las horas de trabajo de los alumnos con los ECTS, como dijo un colega mío (Albert Llamosí) es tan útil como pretender medir la hora en que se despiertan las gallinas.

Pero lo veía como un impulso necesario para renovarnos, tanto como «personas» alumnos/estudiantes como nuestros ya casi obsoletos, toqueteados y divergentes planes de estudios –al menos en informática–.

Pero de eso hemos acabado es un desastre tan mayúsculo como alumnos en huelga de hambre y una policia presuntamente moderna, nacida en democracia y en una comunidad profundamente antifranquista, recurra a los mismos métodos y reacciones de los grises. Además agravado con la patética como inimaginable defensa de la reacción policial por parte de algunos sindicatos y de un conseller de una izquierda republicana y nacionalista. Más cañí, imposible.

Si además se pone en contexto que hace 11 años hemos tenido a la LRU del PP que casi se carga el sistema universitario (una de las razones por los que los mejores investigadores y profesores nos abandonan: se cansaron de ser becarios de la burocracia de acreditaciones e índices de impacto elaborados por monopolios privados).

Pero como sostengo hace tiempo, hay unos culpables de que se haya llegado a esta situación de violencia. Lo mismo que pasa con algunos políticos, que viven en una burbuja (y se compran injustificados coches blindados de casi 500.000 euros que nadie entiende el porqué). En nuestra comunidad la burbuja era preferir las reuniones y comidas con colegas que la charla, información y debate con los estudiantes. De eso son culpables muchas de nuestras «autoridades», desde los jefes de estudios, pasando por los rectores, hasta la propia ministra.

Lo que parece increíble es que mientras a los gobernantes autistas se les saque de la burbuja pacíficamente y a golpe de urna, en la universidad hemos acabado a los porrazos limpios. Seguramente porque tampoco damos la oportunidad a que las urnas académicas expresen el descontento que se ve ahora.

Algo habra que pensar, no podemos tener tantas autoridades autistas, ni carecer de «salidas democráticas» que impidan llegar donde se ha llegado. Desde hace muchos años que estoy convencido que no hay tierra, patria o cultura que merezca derramar una sola gota de sangre, muchos menos por un plan de reforma de estudios [de los cojones].

Manda huevos tot plegat.

Necios en huelga

18 jueves Dic 2008

Posted by gallir in ética, universidad

≈ 55 comentarios

Etiquetas

regulación informática

Declaración a los medios:

(…) Para que el error informático no sea algo aceptado. Porque hay profesionales que estamos estudiando y salimos preparados para conseguir aplicaciones fuertes que no… no den ningún error y no haya problemas de seguridad (…)

Alucinante muestra del atrevimiento de la ignorancia. Visto en la bitácora de desas3 (vía).

Definitivamente, habría que impedir dar el título a alumnos que sean capaces de opinar así. No sé que habría que hacer con aquellos profesores que deben haber invertido mucho esfuerzo –les debe haber costado–, nula experiencia e ignorancia para transmitir estas ideas a sus alumnos (no se libra el Colegios Profesionales de Ingenieros en Informática y su más que desafortunada afirmación –por falta de profesionalidad y mínimo de ética– respecto a la alarma del GPS del maltratador).

O estoy equivocado y habría que darles el Turing a todos esos iconoclastas de pupitre/pizarra, porque saben tanto sobre informática que nadie más podría hacer lo que ellos prometen. Ni el el mismísimo Dijkstra les llega a los talones.

Cómo se hace una profesión

11 jueves Dic 2008

Posted by gallir in ética, ciencia, universidad

≈ 16 comentarios

Etiquetas

profesión, profesión informática

Esto acabando un largo ensayo invitado para la revista de la AENUI sobre el tema de profesión y la «sintonización» con las empresas (todo empezó a partir de Sintonizar universidades y empresas, pero ¿qué debe saber un ingeniero?). Aunque me está dando mucho trabajo –tanto que no sé si se justifica– pasar de un «ensayo informal» en el blog a uno más formal y académico, me entusiasmé con él, lo que me está haciendo leer decenas y decenas de papers y artículos. Es impresionante lo que se aprende rebuscando en la historia.

Además hace unos pocos días en el foro de una de mis asignaturas surgió el tema por parte de un alumno de que deberíamos exigir la regulación de la profesión. Por supuesto que no sirvió de nada los enlaces que pasé con todo lo que había escrito sobre el tema. No sólo no se leyó nada, sino que fue inútil intentar desviar el debate por el tema «profesional», «ético» e interés social. No hubo forma, abandoné el debate enseguida, era imposible avanzar o discutir incluso sobre opiniones y evidencias documentadas.

Ambas cosas hicieron que recuperase estas frases de un ensayo de C. M. Sidlo en The making of a profession en ACM Communications.

La primera y más importante característica de una auténtica profesión es la existencia de un reconocido código ético que ubica el servicio a los «clientes» antes de los beneficios de los que la practican. El código compromete a los miembros de la profesión a determinados valores sociales sobre los egoistas de ingresos, poder y prestigio […]

En informática hubo intentos de la formación de un código ético por parte de aquellos que promovieron la discusión de la «responsabilidad social» de los tecnólogos informáticos. A pesar que los motivos eran nobles, este esfuerzo parece haber recaído recientemente, y me parece que por razones adecuadas. El fallo probablemente reside en ambos, los profetas y la congregación. Los portavoces de la discusión han confundido a menudo la responsabilidad funcional, la que tenemos como especialistas informáticos, con las responsabilidades éticas y morales que se aplican a todas las personas por igual. […]

Más de un comentarista ha hecho notar la respuesta apática que en general dan los informáticos a temas de responsabilidad social. Es posible que como grupo no esté todavía suficientemente maduro para desear formular un código de ética responsable. Muy probablemente sea debido al extraordinario y rápido crecimiento y así a la relativa escasez de tradición. […]

Una última palabra sobre este tema, debemos ser particularmente cuidadosos para evitar caer en la trampa de desarrollar un pseudocódigo ético que en realidad haga que los individuos procuren el egoista interés del grupo más que a la sociedad en general. […]

La tercera condición de una auténtica profesión es que sus técnicas de operación se basen en principios amplios más que en recetas de procedimientos o habilidades rutinarias, aunque estas sean complejas. Las operaciones son realizadas por la «aplicación artística»  de esos principios y conceptoso fundamentales. Esta es la condición que distingue a oficinistas de abogados, a maquinistas de cirujanos. […]

Cuando una profesión madura se da cuenta que la ciencia (no la tecnología) necesaria para la profesión debe ser continuamente extendida a más conceptos básicos y no restringida sólo a la obvia ciencia aplicada. Una profesión tiene la obligación de desarrollar y basarse en una cuerpo de conocimiento más que en un cuerpo  de aplicaciones. Sólo durante la ejecución de sus responsabilidades  una profesión se convierte en una mezcla «expresiva»  de ciencia y arte. […]

Hemos considerado lo que yo creo son los tres requerimientos básicos de una profesión –ética, estándares [de calidad], y a falta de un término mejor, «principios generales»–. Sin embargo históricamente ninguna profesión se estableció sólo por la definición. Sólo con los años ellas aprenden y retienen la aceptación de su estátus. Debemos tener en cuenta que esto no se puede lograr haciendo que el estátus profesional sea el objetivo principal del grupo. Eso cae más en los intereses egoistas que mencioné antes.

¿A que parece escrito adrede como posicionamiento intelectual y respuesta para estos tiempos tan movidos de Bolonia, regulaciones y colegios? Es genial, será todo un clásico.

Lo malo es que sí es un clásico, es de 1961, y demuestra qué poco hemos avanzado en ¡47 años!.

PS: Hay otro artículo que cuenta la historia de los intentos de crear la «profesión informática» y planes de formación adecuados de 1950 hasta principios de 1970 (The ‘Question of Professionalism’ in the Computer Fields de Nathan L. Ensmenger  en IEEE Annals of the History of Computing, October-December 2001). Es otra demostración palpable que si no aprendemos la historia estamos condenados a repetirla: en este país la estamos repitiendo hasta en los mínimos detalles. Si hay que elegir alguna gran deficiencia en nuestras universidades, yo apostaría por ésta.

Redescubriendo al Dijkstra provocador 18 años después

04 jueves Dic 2008

Posted by gallir in personal, programación, universidad

≈ 40 comentarios

Etiquetas

dijkstra, ingeniería del software

Hay profesores, lecturas y autores que te influyen desde joven y forjan las ideas y posturas que te perfilan como profesional. Los que me siguen en este blog, o los que han leído mis argumentos –o los de la ACM– respecto a regulaciones (sobre el que no pretendo volver en este apunto, es sólo una autoreferencia) conocen mi postura bastante escéptica sobre el «estado de la ingeniería del software» y el rechazo fanático a las buzzwords y promesas de panaceas.

Varias veces he comentado y citado que casi toda la bibliografía de ingeniería de software de las últimas décadas es sólo una recopilación de anécdotas y estadísticas, casi una pseudociencia, a la que solemos adorar como si la última metodología fuese la bala de plata, la que dará el fundamento a la ingeniería. Pero hace mucho que ya no creo en esto, sobre todo cuando observas que cada cinco años aparece una nueva mutación de metodología que promete ser  La Herramienta de la ingeniería del software.

No recordaba cuál bien el camino recorrido, o cuál fue el punto de partida o desvío tomado, para que haya asumido esta postura muy escéptica y bastante minoritaria entre mis colegas y compañeros. Recuerdo que cuando acabé mi último examen y fui con una beca a hacer mi PFC –enero de 1990– me creía el rey del mambo. Estaba seguro que mi formación y presunto dominio del diseño funcional, la visión «sistémica-holística» (sí, vaya, pero eso fueron también los inicios de Scrum basado en trabajos de Hirotaka Takeuchi en 1986) y el dominio de la metodología de moda en aquél momento –Gane-Sarson, luego «mutó» en la de Yourdon– me convertiría en un sólido profesional informático resolvedor de problemas complejos y que encontraría soluciones espectaculares a los grandes problemas de la informática.

Pero cuando quince meses después acabé mi PFC tenía una visión completamente diferente. Cada vez que alguien me explicaba las fantásticas bondades de una metodología nueva, o que casi al principio de una conversación soltaba la frase «un ingeniero no tiene por qué ser un programador» se me ponían los pelos de punta y sólo atinaba a pensar que ojalá no me tocase trabajar con esa persona.

Con el tiempo me convertí en un escéptico casi radical sobre el «[no] cientificismo» y la falta de rigurosidad de metodologías. En el mejor y la mayoría de los casos sólo lo veía como intentos de estandarizar una guía de buenas prácticas y estándares de documentación. Y por otro lado cogí el gusto por aprender a programar y admirar y disfrutar con el trabajo de los que se definían como «programadores» antes que «ingenieros» (o «doctores» o «científicos»)-

Hoy rvr en Barrapunto me hizo un bonito y entrañable regalo, me hizo redescubrir cuál fue una de las lecturas de aquellos años que tanto me influyó. Creo que fue el punto crítico. Se trata de unos de los ensayos más provocadores de Dijkstra –escrito en 1988, que blogger espectacular hubiese sido–: On the Cruelty of Really Teaching Computer Science (en castellano).

Aunque en aquellos años casi no conocía a Dijkstra, creo que fue el director de mi proyecto o alguno de los que trabajaban en el laboratorio el que me lo pasó (teníamos Internet y estábamos todo el día enganchados bajando ficheros por FTP anónimo y leyendo listas de correos y las news).

Rescato una de las frases que más me impactaron como «ingeniero», por aquellas épocas yo tenía una perspectiva radicalmente opuesta:

[…] Lo haré explicando una serie de fenómenos que de otra manera serían extraños por la frustrante –pero, como ahora sabemos, condenada– ocultación o negación de su aterradora extrañeza.

Cierta cantidad de estos fenómenos han sido agrupados bajo el nombre de «Ingeniería de Software». Así como la economía es conocida como «La Ciencia Miserable», la ingeniería de software debería ser conocida como «La Disciplina Condenada», condenada porque ni siquiera puede acercarse a su meta, dado que la misma es en sí misma contradictoria. La ingeniería de software, por supuesto, se presenta a sí misma como otra causa valiosa, pero es un colirio: si lee cuidadosamente su literatura y analiza lo que realmente hacen quienes se avocan a ella, descubrirá que la ingeniería de software ha adoptado como su estatuto «Cómo programar si usted no puede».

[…] La práctica está impregnada de la confortable ilusión de que los programas son simplemente dispositivos como cualquier otro, la única diferencia que se admite es que su fabricación pueden requerir un nuevo tipo de expertos, a saber: programadores.

[…] Han pasado ya dos décadas desde que se señaló que el testing de programas puede convincentemente demostrar la presencia de errores, pero nunca puede demostrar su ausencia. Después de citar devotamente este comentario bien publicitado, el ingeniero de software vuelve al orden del día y continúa refinando sus estrategias de testing, tal como el alquimista de antaño, quien continuaba refinando sus purificaciones crisocósmicas.

[…] En el mismo sentido debo llamar la atención sobre la sorprendente facilidad con que se ha aceptado la sugerencia de que los males de la producción de software de deben, en gran medida, a la falta de «herramientas de programación» apropiadas.

Hay que leer todo el ensayo para entenderlo mejor y entender la justificación. No es tan difícil, tampoco fácil. Es un ensayo de esos de gran calado (y por los pocos comentarios que leí en Barrapunto, la mayoría no lo debe haber leído, o no lo entendió).

Ojalá lo disfrutéis tanto como yo la primera vez que lo leí y nuevamente ahora, casi dieciocho años después 🙂

PS: Creo que ahora comprendí a Dijkstra mucho mejor que la primera vez.

Universidad, mercado, reflexión, pensamiento, crítica…

13 viernes Jun 2008

Posted by gallir in universidad

≈ 9 comentarios

Etiquetas

Bolonia, Espacio Europeo de Educación Superior

No estoy dispuesto a contribuir a la privatización y mercantilización de la universidad pública, ni a degradar los títulos universitarios, ni a supeditar el conocimiento al interés exclusivo del mercado. Tampoco a convertir la Universidad en una escuela de formación profesional en la que predominen con exclusividad las enseñanzas basadas en las capacidades y habilidades, y a que deje de ser lo que debe ser, un lugar donde además de preparar buenos profesionales se genere y se transmita el conocimiento, un espacio de reflexión y pensamiento, de debate y de crítica, y sobre todo un lugar de investigación y de discusión acerca de los problemas y desafíos que atenazan a la humanidad, que son muchos. — Carlos Berzosa, Rector de la Complutense (vía Servomac)

Totalmente de acuerdo, lo digo siempre. Pero que lo diga un rector lo lleva a otra escala. Con respecto a a la reflexión, debate o crítica en la universidad, por supuesto que también. Lástima que mi propio «espacio de debate» que tenía no pudo sobrevivir. Es que para gustos, rector@s. O quizás es que los blogs no sirven para reflexionar, debatir, o criticar. Estamos en mundos paralelos. 🙂

← Entradas anteriores

Comprar el libro

Principios y algoritmos de concurrencia

gallir@twitter

  • RT @eduardosuarez: Está bien recordar (una vez más) la podredumbre moral de Evo Morales, capaz de llamar hermano al carnicero de Mariúpol y… 1 day ago
  • A diferencia de miembros del gobierno que... Oh, caramba. elconfidencial.com/tecnologia/202… 1 day ago
  • RT @KanekoaTheGreat: Bill Gates has donated more than $319 million to media organizations. How does this affect the news? https://t.co/eqVM… 1 day ago
  • RT @MiguelGTormo: Alaska es lo mejor del panorama cultureta de España, ella y Antonio Banderas, están muy muy muy por encima de la inmensa… 1 day ago
Follow @gallir

RSS Notas recientes

  • Se ha producido un error; es probable que la fuente esté fuera de servicio. Vuelve a intentarlo más tarde.

Archivos

Comentarios recientes

PM en Cuidado con las «clever soluti…
Me matan si no traba… en Cuando el periodismo cede el c…
surco en Cuando el periodismo cede el c…
pancho pérez (@lonch… en Cuando el periodismo cede el c…
Fernando en Cuando el periodismo cede el c…
@beoxman en Cuando el periodismo cede el c…
gallir en Cuando el periodismo cede el c…
Jan Smite en Cuando el periodismo cede el c…
Alejandro en Cuando el periodismo cede el c…
Galletor en Cuando el periodismo cede el c…

Meta

  • Registro
  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.com

Licencia

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.

Crea un blog o un sitio web gratuitos con WordPress.com.

  • Seguir Siguiendo
    • Ricardo Galli, de software
    • Únete a 667 seguidores más
    • ¿Ya tienes una cuenta de WordPress.com? Accede ahora.
    • Ricardo Galli, de software
    • Personalizar
    • Seguir Siguiendo
    • Regístrate
    • Acceder
    • Denunciar este contenido
    • Ver sitio web en el Lector
    • Gestionar las suscripciones
    • Contraer esta barra