El Bajío

El pasado fin de semana visitamos algunos lugares de la región mexicana de “El Bajío”. El amigo Jorge reservó una furgoneta-minibus (camioneta la llaman aquí) en la que recorrimos Guanajuato, Dolores Hidalgo y San Miguel de Allende.

Guanajuato es capital del estado del mismo nombre, sede de las minas de plata que explotó antaño la corona española y que tan bien resumió Quevedo. La ciudad disponía de una vasta red de alcantarillado que recorría la ciudad subterránea y que más tarde desecaron y convirtieron en innumerables túneles y anchas vías transitables, de modo que se convirtió en una villa tridimensional que ha debido causar más de un dolor de cabeza a los tom-toms. Vamos, a modo de Azca en Madrid, pero más extenso y con varios siglos de antelación. Por arriba, la ciudad está llena de referencias cervantinas. Si no fuera porque el cardenal Cisneros no asoma por ningún lado, uno diría estar en Alcalá de Henares. Al buscar una calle no te vale con el nombre y el número, sino que casi te hace falta el “piso”, el de abajo o el de arriba. A lo mejor por eso le llaman a esta región “el bajío”, jeje…

Por la noche estuvimos tomando una cerveza animados por el clásico mariachi. Bueno, los realmente animados eran los de la mesa de al lado, que fueron quienes les contrataron :P. A nosotros nos tronaron los tímpanos, especialmente el mariachi de la trompetita, que en vez de apuntar a su mecenas dirigía sus notas hacia los de al lado. Diez eran los músicos. Allí estaban cuando entramos en el bar, y allí permanecieron cuando nos fuimos. Como cobren por persona-hora, anda uno apañao :-

Sección antojitos

Le he cambiado el nombre a la sección gastronómica, pues parece ser que antojitos es como se les llaman a los platillos mexicanos con las delicias típicas de la tierra. A pesar del nombre, no es que se coman durante el embarazo 😉 pero me temo que uno va a acabar en ese estado (al menos en apariencia externa) si sigue por el duro camino de desayuno, almuerzo, comida, merienda y cena con, en ocasiones, hasta siete platillos diferentes para alguna de las comidas :-O

Los compañeros del Tec celebraron los cumpleaños de julio y agosto con un desayuno en base a deliciosas gorditas (Gracias, Ernie, por la sugerencia culinaria :-P), cuyo nombre, como ya viene siendo costrumbre, siembra ciertas dudas sobre si es comestible. Os pongo una foto para que veáis que lo es :). Aparte de esto, he probado todo tipo de enchiladas (mineras, verdes, potosinas) y tamales, chile nogada, atole, etc.

Por cierto, ¡cuidado con los tamales callejeros! Por doquier acechan puestos y tenderetes donde venden tamales sospechosos. Aquí le llaman la venganza de Moctezuma a las gastroenteritis típicas que suelen atacar a los europeos por estas tierras. Moctezuma suele atacar disfrazado de tamal. Lo digo por experiencia 😦

Para los adictos a las crónicas, relataba en mi vuelta a Cádiz algunas bondades de la vida en el Sur de España. Eso no es nada. Sólo deciros que los anfitriones de la casa donde me hospedo
me hablan de Amealco, un pueblo del estado de Querétaro donde todos los restaurantes cierran a la hora de la comida. Eso es vida, y lo demás, cuentos.

Anuncios

Crónicas del nopal

Tras 27 horas de arduo viaje, llegué a México. Como lo primero es lo primero, hay que bautizar las crónicas de estos días. Tras algunas conversaciones con amigos, donde intercambié propuestas de nombres inspiradas en enchiladas y manitos, me gusta más seguir con la tradición botánica y utilizar el nopal, cactus típico de estas tierras, que además es comestible y que tiene equivalente gaditano en la chumbera.

Como es tradición, comenzaré pues las Crónicas del Nopal por las clásicas secciones de ‘progresos con el idioma’ y ‘gastronomía del país’, que rebautizaré apropiadamente acorde a los usos del lugar: ‘tacos y chingadas’ para el idioma y ‘tamales y enchiladas’ para la gastronomía. Umm… la verdad es los nombres son poco claros; ambos bien parecen cosas de comer 😛

Sección tacos y chingadas

Bien es sabido los distintos usos que a un mismo término del diccionario español se le da a ambos lados del charco. Aunque muchos son ya conocidos, intentaré hacer una selección escogida (i.e. esjodida) de algunos que no dejan de soprenderme:

  • En los aviones no se embarca, sino que los pasajeros los abordan. La verdad es que a puntito estuvimos de abordar el avión en Atlanta con rumbo a México DF, pues el desastre y la sobreventa de la compañía Delta Airlines bien que nos incitaba a ello. Pero no: finalmente sólo embarcamos.
  • A los profesores que pasean por el campus también se les aborda. En este caso para preguntar por cualquier cuestión académica de interés para el alumno que, afortunadamente, no lo hace al grito de “¡al abordaje!”
  • Las acciones formativas de la que son objeto los alumnos en la Universidad aquí se denominan de una forma quizá más apropiada con la naturaleza e idiosincrasia del estudiante de nuestros días. Estas acciones son aquí llamadas adiestramiento, a pesar de que por regla general los alumnos mexicanos son bastante más educados que sus homónimos españoles, quienes muchas veces sí que necesitarían de ese adiestramiento pero en su acepción española.
  • No hace falta decir que el verbo coger y todas las formas lingüísticas en él basadas, tanto verbos (escoger, recoger, acoger) como nombres (recogedor, acogedor) están completamente fuera de lugar en Latinoamérica. Pensad que la acepción más común es sinónimo de un verbo español que empieza por f y termina… bueno… en general suele terminar bien :))
  • Por las mañanas te aseas bajo una regadera. Umm… esto no le va a venir bien al nopal, que no necesita mucho de las regaderas para dar sus buenos frutos, los higos chumbos (tunas los llaman aquí).

Sección tamales y enchiladas

Hablando de higos chumbos, aún no me ha dado tiempo a probar mucha gastronomía del país. Bueno, sí que he probado algo, pero ya lo había hecho antes en España: los citados higos chumbos y la cochinita pibil. Que conste que estoy hablando de gastronomía y cosas de comer, no de verbos a evitar 😉 En cuanto tenga la ocasión, probaré los chapulines (insisto: sigo hablando de manjares culinarios; para evitar confusiones). Aunque en España sólo conozcamos al chapulín colorao, éste es realmente el nombre que reciben los congéneres de Flip, el de la abeja Maya.

Bueno, la verdad es que sólo llevo un par de días en Querétaro (sí, sí… donde el Buitre marcó los 4 goles a Dinamarca) y aún hay poco que contar. Parece que el próximo fin de semana visitaremos Guanajuato. En cuanto haga alguna visita os cuento más detalles.

¡Ándele!

La ruta de los Omeyas

Los primeros meses en Cádiz no han dado para mucho congreso. Pero en cuanto ha llegado el verano, ha comenzado la temporada, aprovechando que dos de los que más me interesaban se celebraban en España: la conferencia internacional de LAMS (precisamente en Cádiz) y el ICALT (en Santander).

Uno ha hecho casi de todo en las conferencias y sus viajes, como ya he relatado en las crónicas. Pero cuando la conferencia se celebra en Cádiz, siempre hay algo nuevo por hacer. La fecha y hora de la cena de gala de la conferencia coincidían con la semifinal de la EURO 2008, Rusia-España, y el restaurante no tenía TV. Todo sea por el fútbol. Me llevé la tele al salón del restaurante El Español. Gracias a que vivo a dos pasos de la conferencia y a que las teles de hoy son planas, la labor no tuvo demasiada complicación. Sólo hubo que comprar algunos metros de cable coaxial y hacer de antenista un rato. Lo malo fue que no pudimos poner la clásica muñeca vestida de gitana encima de la tele, ni siquiera agarrada de las uñas.

Cuando acabó la conferencia salí para Cantabria. Agarré el coche e hice la ruta del Omeya Ibn Muza, con parada y fonda en Medina Mayrit, pero sin cortar cabezas de cristianos.

En Cantabria me alegró ver muchos viejos amigos a los que no veía desde hacía 4 meses. ¿Qué pasa, que no se puede echar de menos a la gente en ese tiempo? Bueno, a algunos ya les había visto antes :-/

Tengo que destacar la cena de gala del congreso. A falta de tele y partido de España (la eurocopa ya había acabado), el rape y el solomillo que nos sirvieron en el Gran Casino del Sardinero jugaron bien su papel. A la hora de los cafés, algo me llamó la atención. Las bolsitas de azúcar Dromedario venían con un mensaje individualizado relativo a los juegos olímpicos próximos a comenzar. En la bolsita que me tocó a mí rezaba esta historia:

ESPAÑOLES PIONEROS EN LOS JUEGOS
Los españoles no participaron en los Juegos de Atenas de 1896 (primeros de la era moderna).
En París de 1900 se tiene constancia de 17 deportistas españoles, aunque la desorganización de estos Juegos fue total y existen dudas sobre los datos oficiales. Villota y Amézola consiguieron el primer puesto en pelota vasca, en la especialidad de cesta punta, mientras que Pedro Pidal, Marqués de Villaviciosa, fue segundo en tiro de pichón.

La reseña no tiene desperdicio. Muy ilustrativa del papel de los españoles en los primeros juegos. ¡Hay que ver, el mal que ha hecho la wikipedia entre los jóvenes cronistas de nuestros días! No sé si la reseña resulta graciosa, pero yo me reí un buen rato tras su lectura.

Tras acabar la cena intentamos buscar algún sitio abierto donde acabar la noche española y dignamente. Pero resultó más difícil de lo que parecía. Sólo estaba abierto un bar de aspecto sospechoso y una media de edad tal que Manolo el del Bombo resultaría un chaval. Con decir que los paisanos que merodeaban el local bailaban pasodobles en una esquina, lo digo todo.

Durante los días de estancia en Santander comenzaron las rebajas, así que me dirigí al centro a achantar la crisis. Los últimos meses pasados en Andalucía me han convencido falsamente de que el tiempo atmosférico veraniego no tiene apenas variabilidad, así que tuve que comprarme un jersey, un pijama y un paraguas. Justo lo que a uno no tiene que olvidársele cuando viaja al norte. Pues a mí no sólo se me olvidó eso, sino que además iba en chanclas. Así que también tuve que comprarme unos zapatos. Incauto de mí…

Ahora estoy de vuelta a Cádiz, rehaciendo la ruta iniciada por Don Pelayo y acabada por Alfonso X El Sabio. Tras la reconquista total, los españoles iniciamos la época de los descubrimientos y el salto a Iberoamérica. En México os espero 😉

Madrid – Cádiz

El pasado 17 de febrero volví a Cádiz, después de 20 años en Madrid. Esto no es realmente una estancia investigadora ni supone evento turístico-científico alguno, sino una vuelta a casa en toda regla, con sede en la Universidad de Cádiz, que ha acogido al hijo pródigo. Pero aunque este viaje no tenga visos ni fecha de retorno, como parte de la actividad desarrollada en este largo viaje será investigadora, y como el día a día y la particularidad de sus gentes espero que merezcan la pena relatar, reanudaré las crónicas del tulipán contando diversos avatares que acontezcan en mi lugar natal y su entorno.

He estado tentado de rebautizar las crónicas, pero le tengo cariño al tulipán. Así que bastará con pintarlo de azul y amarillo y suprimir la coletilla del subtítulo.

Con esto empiezo el relato de mis primeros días en Cádiz, que comienzan con un notable temporal de viento de levante tal cual entraba a la ciudad. Resulta que la alcaldesa se ha dedicado últimamente a engalanar la avenida con unos postes forrados de tela anunciando el próximo bicentenario de la constitución de 1812. Os preguntaréis ¿a qué avenida se refiere éste? Pues a la avenida, ¿cuál va a ser? Antes del soterramiento de la vía del tren en Cádiz, ésta era atravesada por una única avenida y sus calles adyacentes, hasta llegar al casco histórico, de calles estrechas y arrejuntadas donde llamar a alguna avenida sería una exageración digna de un gaditano 😉 Pues bien, no hacía falta decir qué avenida, aunque el ayuntamiento le pusiera distintos nombres según el tramo. Pero desde que en Cádiz tenemos metro (bueno, más bien centímetro), su lugar en superficie lo ocupa la avenida nueva. Así que tenemos la avenida y la avenida nueva. Podríamos haberlas llamado avenida 1 y avenida 2, pero así empezó Nueva York, y fíjate tú dónde ha llegao. No me quiero ni imaginar dónde habrían cabido en Cádiz las torres gemelas.

Volviendo a los postes de la alcaldesa y al temporal de levante, mi primera visión al entrar fue la utilidad dada por un gaditano de mediana edad para dichos postes: esconderse detrás para encender el cigarro. Desde el coche no fui capaz de distinguir si tuvo éxito en el intento, o si llegó a incendiar la tela del poste, pero ahí anduvo según el peligroso bamboleo de la tela estampada de logotipos municipales. Acabo de caer en la cuenta de que no estoy empadronado en Cádiz desde que la querida alcaldesa ejerce de tal, así que a partir de ahora me tendré que fijar mejor por qué la gente la aprecia aquí tanto, siendo el gaditano medio tan rojete y la alcaldesa tan… rubita? A ver si me sorprende. Bueno, algo sí que me sorprende: ¿cómo puñetas va tan bien peinada siempre con el viento que hace aquí?

El lunes comencé a ir por la Escuela. Aunque todavía no he empezado las clases, ando liado con papeleos y solicitudes de proyectos de investigación. Eso a lo que los profes universitarios dedicamos el 80% de nuestro tiempo, y que tan difícil nos resulta explicar a nuestras tías y abuelas cuando nos preguntan: “Pero…¿8 horas de clase?¿a la semana?¿sólo trabajas 8 horas a la semana?” Yo ya me he dado por vencido, y cuando me lo preguntan simplemente respondo: “Sí, ¡qué pasa!” Pa chulo yo, que vengo de Madrid. No es (en general) cierto, pero me costaría el 20% restante explicarlo. Os reproduzco algunas fotillos que tomo en el coche de camino a la Escuela.

Lo que veo a mi zurda al ir y a mi diestra al volver es el Atlántico a través de la playa de Cádiz y sus diversos nombres. La primera foto de arriba es un trozo del Campo del Sur, con la catedral al fondo. La segunda fue un día de viento, con las gaviotas revolucionadas cual Hitchcock de la Bahía. Una vez llego a la Escuela, no tengo plaza de aparcamiento (bueno, ni en la escuela ni en Cádiz en general; si hay alguien que haya visto una plaza libre en Cádiz alguna vez, que me avise 😉 Pero a cambio mirad en las fotos de abajo (pretendía ser una panorámica de dos fotos :P, pero me he comido un cacho del coche de enmedio) lo que se ve desde el parking que uso en una explanada junto al castillo de Santa Catalina.

Pero si hay algo en lo que noto la diferencia en estos días entre Madrid y Cádiz, es en ese lugar común insalvable para cualquier funcionario que se precie de serlo: ¡los desayunos! Y no por el tiempo invertido, que es algo más o menos estándar en toda la España funcionarial, sino por el sitio. No es lo mismo desayunar en la cafetería del edificio Savatini en Leganés, que eran unos antiguos cuarteles del ejército, que hacerlo en la plaza de San Francisco, en la terraza y con el solecito que se aprecia en la foto de abajo.

La figura humana que se afana en hincarle el diente a la tostada es un amigo mío que trabaja a 5′ andando y, gracias a movistar, puedo desayunar con él sin tener que planificar mucho cuándo, dónde y cómo quedamos. Aquí, al contrario que en los Países Bajos con que empezaron las crónicas, sencillamente, no se planifica. Punto pelota. Es uno de los secretos andaluces de la vida sana.

Hablando de desayunos y de vida sana, hoy he visto algo que me ha dejado sorprendido. Seguro que habéis visto alguna vez al típico camarero que medio se oculta detrás de la barra y se auto-sirve media caña de cerveza para aguantar el tirón. Pues bien, hoy he visto a uno hacer lo mismo… ¡con medio vaso de zumo de naranja! Dudo que esto sea típico de Cádiz, especialmente teniendo tan recientes los carnavales 😉 así que me ha sorprendido más que la peluca de la Teo.

El martes me acerqué por las cercanías de mi futuro lugar de trabajo, pues en 2010 aproximadamente nos trasladan a un edificio nuevo que están construyendo para la Escuela e Ingeniería, situado en el Campus del Río San Pedro, junto al parque natural de la bahía de Cádiz. Hoy he hecho esta foto con el móvil desde el coche. No ha salido muy bien por tal de no llevarme por delante a un señor con caña de pescar que caminaba por el borde de la carretera. Lo que se ve al fondo es el parque natural de la bahía de Cádiz. Cuando nos trasladen al Campus del Río San Pedro podré hacer uso del carril bici que se ve (para los veteranos de las crónicas del tulipán, podré hacer senderismo en bicicleta)

Con esto me despido por esta semana,
primera de mi nueva vida gaditana 🙂

Los peligros de las escuelas Java

Ahora que estamos en plena época de cambio de planes de estudio en Informática, aprovecho para ofreceros esta traducción libre del artículo de Joel Spolsky The Perils of JavaSchools. Aunque no estoy de acuerdo con todo lo que dice, nos hace pensar en si estamos haciéndolo bien. Nuevas formas para una disquisición de toda la vida…

Los peligros de las escuelas Java

Perezosos. ¿Qué fue del trabajo duro? Un claro signo de mi descenso hacia la senectud son las quejas y protestas sobre “la juventud de hoy” y de cómo ya no saben hacer ni harán cosas difíciles.

Cuando era joven, aprendí a programar en tarjetas perforadas. Si cometías un error, no disponías de esas modernidades como la tecla de retroceso para arreglarlo. Tenías que tirar la tarjeta y empezar de nuevo.

Cuando empecé a hacer entrevistas a programadores en 1991, solía dejarles usar cualquier lenguaje que les ayudara a resolver los problemas de codificación que les proponía. El 99% de las veces elegían C. Hoy en día, tienden a elegir Java.

Ahora bien, no me malinterpreten: no hay nada malo en Java como lenguaje de implementación. Un momento, quiero cambiar la frase anterior. No estoy intentando decir en este artículo que no hay nada malo en Java como lenguaje de implementación. Hay muchas cosas malas en Java, pero tendrán que esperar a otro artículo.

Lo que quiero decir es que Java no es, en general, un lenguaje de programación suficientemente duro como para poder discriminar entre grandes programadores y programadores mediocres. Puede ser un buen lenguaje para trabajar, pero ése no es el asunto de hoy. Iría incluso tan lejos como para decir que el hecho de que Java no sea suficientemente duro es una característica, no un fallo, pero que tiene ese problema.

Si pudiera resultar arrogante, desde mi humilde experiencia hay dos cosas que se enseñan tradicionalmente en las universidades como parte de los planes de estudio en informática y que mucha gente nunca llega a comprender del todo: los punteros y la recursividad.

La carrera [de informática] solía comenzar con alguna asignatura de estructuras de datos, con listas enlazadas y tablas de dispersión y uso intensivo de punteros. Tales asignaturas solían servir como filtros: eran tan difíciles que quien no pudiera soportar el desafío mental de los estudios de grado en informática abandonaría, lo cual era algo positivo, porque si crees que los punteros son difíciles, espérate a intentar demostrar algo sobre la teoría de coma fija.

Todos los chavales que resultaran brillantes en enseñanza secundaria escribiendo juegos de pong en BASIC para su Apple II, que acabaran en la universidad matriculados en CompSci 101, un curso de estructuras de datos, y que al llegar al tema de los punteros sus cerebros explotasen, se especializarían en Ciencias Políticas porque las escuelas de ciencias sociales les parecerían mejor idea. He visto todo tipo de cifras de abandono en informática y suelen estar entre el 40% y el 70%. Las universidades tienden a ver esto como un derroche; Creo que sólo es un sacrificio necesario de aquéllos que no van a ser felices o tener éxito en carreras relativas a la programación.

La otra asignatura difícil para muchos estudiantes de informática es aquélla donde aprenden programación funcional, incluyendo la programación recursiva. El MIT puso el nivel muy alto para dichos cursos, creando una asignatura obligatoria (6.001) y un libro de texto (Structure and Interpretation of Computer Programs de Abelson y Sussman) que se usó en docenas e incluso cientos de escuelas de informática como una introducción de facto a la ciencia de la computación. (Vd. puede, y debería, echar un vistazo a una antigua versión online de las clases)

La dificultad de dichos cursos es sorprendente. En la primera clase se aprende bastante de Scheme, y de inmediato se pasa a una función de coma fija que recibe otra función como su entrada. Cuando me peleé con dicha asignatura, CSE121 en Penn [State University], observé cómo muchos, si no la mayoría, de los estudiantes simplemente no lo consiguieron. El material era demasiado difícil. Escribí un largo y quejicoso mensaje al profesor diciendo que No Era Justo. Alguien de Penn debió escucharme (a mí o a alguno de los demás quejicas), porque ahora dicha asignatura se enseña en Java.

Me gustaría que no me hubieran escuchado.

Aquí está el debate. Años de quejas de estudiantes perezosos de informática como yo, unido a las quejas de la industria sobre los pocos especialistas en informática que se gradúan en las universidades americanas, han hecho palanca, y en la última década un gran número de otrora perfectamente buenas escuelas han cambiado 100% a Java. Es macanudo: a los reclutadores que usan “grep” para evaluar curricula vitae parece que les gusta y, lo mejor de todo, no hay nada suficientemente difícil en Java para filtrar a los programadores que no poseen la parte del cerebro que procesa los punteros y la recursividad, así que las tasas de abandono son más bajas, y los departamentos de informática tienen más estudiantes y presupuestos mayores, y todo es estupendo.

Los afortunados chicos de las escuelas Java nunca van a obtener extraños fallos de segmentación al intentar implementar tablas de dispersión con punteros. Nunca van a alcanzar desolados y delirantes enfados intentando empaquetar las cosas en bits. Nunca tendrán que hacer que su cabeza se las arregle con el hecho de que, en un programa funcional puro, el valor de una variable nunca cambia y, a la vez, todo el tiempo está cambiando. ¡Una paradoja!

No necesitan esa parte del cerebro para especializarse en una 4.0

¿Soy uno de esos viejos cascarrabias, como los Cuatro Yorkshiremen [de la parodia de los Monty Python], jactándose de lo duro que fui para sobrevivir a tanta dureza?

Jo…, en 1900 el latín y el griego eran materias obligatorias en la universidad, no porque sirvieran para algo, sino porque eran consideradas algo así como un requisito obvio para la gente educada. En cierto sentido, mi argumento no difiere mucho del de los defensores del latín (los cuatro de antes). “[El latín] entrena tu mente. Entrena tu memoria. Desembrollar una frase en latín es un ejercicio excelente de pensamiento, un rompecabezas intelectual, y una buena introducción al pensamiento lógico”, escribía Scott Barker. Sin embargo no puedo encontrar una sola universidad que exija ya latín. ¿Son los punteros y la recursividad el latín y el griego de la ciencia informática?

Ahora bien, admito libremente que la programación con punteros no es necesaria en el 90% del código escrito hoy día y, de hecho, es verdaderamente peligrosa en el código en producción. Ok. Está bien. Y la programación funcional no se usa mucho en la práctica. De acuerdo.

Pero todavía es importante para algunos de los trabajos de programación más apasionantes. Sin punteros, por ejemplo, no se podría trabajar con el núcleo de Linux. No se puede comprender una sola línea del código de Linux o, de hecho, de ningún sistema operativo, sin comprender de verdad los punteros.

Sin comprender la programación funcional, no se habría podido inventar MapReduce, el algoritmo que hace a Google tan masivamente escalable. Los términos Map y Reduce vienen de Lisp y la programación funcional. MapReduce es, en retrospectiva, obvio para cualquiera que recuerde de la clase de programación equivalente a la 6.001 [del MIT] que los programas funcionales puros no tienen efectos colaterales y son por tanto fácilmente paralelizables. El mismo hecho de que Google inventara MapReduce y Microsoft no lo hiciera dice algo sobre por qué Microsoft está aún intentando hacer funcionar características básicas, mientras que Google se ha movido al siguiente problema: construir Skynet, el supercomputador masivamente paralelo más grande del mundo. No creo que Microsoft comprenda por completo cuánto de lejos están en la onda.

Pero más allá de la importancia a primera vista de los punteros y la recursividad, su valor real es que para la construcción de grandes sistemas hace falta esa clase de agilidad mental que se obtiene aprendiéndolos, así como la aptitud mental que se necesita para esquivar el filtro que suponen las asignaturas en que se enseñan. Los punteros y la recursividad exigen una cierta capacidad para razonar, pensar en forma de abstracciones y, lo que es más importante, contemplar un problema desde varios niveles de abstracción simultáneamente. Por eso, la capacidad para comprender los punteros y la recursividad está directamente correlada con la capacidad para ser un gran programador.

No hay nada en una titulación con todo en Java que filtre a los estudiantes que carecen de la agilidad mental para tratar con estos conceptos. Como empresario, he comprobado cómo el 100% de las escuelas Java han comenzado a producir como churros numerosos graduados en informática que, sencillamente, no son suficientemente despiertos como para trabajar de programadores en algo más sofisticado que Otra Aplicación Más de Contabilidad en Java, a pesar de que consiguieron pasar por los pelos del recién cursado trabajo de atontamiento. Estos estudiantes nunca sobrevivirían a un curso 6.001 del MIT o de un CS 323 de Yale y, francamente, ésa es una de las razones por las que, como empresario, un graduado en informática del MIT o de Yale tiene más peso que uno de Duke, que migró recientemente a Todo-en-Java, o de la Universidad de Pennsylvania, que sustituyó Scheme y ML por Java en un intento de enseñar lo que casi me mata a mí y a mis amigos, CSE121. No es que no quiera contratar a chicos brillantes de Duke y Penn –lo hago– sino que es mucho más difícil para mí averiguar quiénes son. Solía ser capaz de distinguir a los chicos brillantes porque podían destripar un algoritmo recursivo en segundos, o implementar funciones de manipulación de listas enlazadas con punteros tan rápidamente como podían escribir en la pizarra. Pero con el grado de las Escuelas Java, no puedo decir si pasan apuros con estos problemas porque les falta formación o si pasan apuros porque no poseen la parte especial del cerebro que van a necesitar para hacer un buen trabajo de programación. Pal Graham los llama Blub Programmers.

Es bastante malo que las Escuelas Java no filtren a aquéllos que nunca van a ser buenos programadores, algo que las escuelas podrían afirmar de forma justificada que no es su problema. La industria, o, al menos, los contratantes-que-usan-grep seguramente claman por que se enseñe Java.

Pero las Escuelas Java también fallan en entrenar a los cerebros para ser suficienmentente diestros, ágiles y flexibles como para realizar buenos diseños de software (y no estoy queriendo decir “diseño” OO, donde puedes pasar innumerables horas reescribiendo el código para ajustar tu jerarquía de objetos, o preocupándote de falsos “problemas” como tiene-un vs. es-un). Hay que entrenarse pensando en cosas con múltiples niveles de abstracción a la vez, y ese tipo de pensamientos es exactamente lo que hace falta para diseñar buenas arquitecturas de software.

Puedes preguntarte si la enseñanza de la programación orientada a objetos (POO) es un buen filtro sustitutivo de los punteros y la recursividad. La respuesta rápida es: no. Sin debatir sobre los méritos de la POO, no es suficientemente difícil como para filtrar a los programadores mediocres. La POO en las escuelas consiste más en la memorización de un manojo de términos como “encapsulación” y “herencia” y hacer exámenes de opción múltiple sobre la diferencia entre polimorfismo y sobrecarga. No mucho más difícil que memorizar fechas y nombres famosos en una clase de historia, la POO plantea desafíos mentales no adecuados para ahuyentar a los estudiantes de primer año. Cuando te enfrentas a un problema de POO, tus programas funcionan, sólo que son algo difíciles de mantener. Presuntamente. Pero cuando te enfrentas a los punteros, tus programas generan Fallos de Segmentación y no tienes ni idea de qué está pasando hasta que te paras, respiras, e intentas esforzar tu mente para trabajar a dos niveles de abstracción diferentes a la vez.

Por cierto, los contratadores-que-usan-grep hacen el ridículo aquí por una buena razón. Nunca he conocido a nadie que pueda escribir Scheme, Haskell y punteros en C que no pueda pillar Java en dos días, y crear código Java mejor que gente con cinco años de experiencia en Java. Pero intenta explicarle esto a la media de los parásitos de Recursos Humanos.

Aún hay más. La informática tiene que ver con pruebas (recursividad), algoritmos (recursividad), lenguajes (cálculo lambda), sistemas operativos (punteros), compiladores (cálculo lambda) — y en resumidas cuentas una escuela Java que no enseñe C y no enseñe Scheme no está enseñando realmente informática en ningún caso. Tan inútil para el mundo real es curtirse en el concepto de función como obvio es que es un prerrequisito de una escuela de grado en informática. No comprendo por qué los catedráticos en los comités curriculares de las escuelas de grado en informática han dejado que sus planes de estudio se entontezcan hasta el punto en que no sólo no producen programadores que funcionen, sino que ni siquiera pueden producir estudiantes de grado que puedan obtener un doctorado y competir por un puesto de trabajo. Un momento. No importa. Creo que lo comprendo.

De hecho, mirando hacia atrás e investigando la discusión académica que tuvo lugar durante el Gran Cambio a Java, uno se da cuenta que la preocupación mayor era si Java era suficientemente sencillo como para usarlo como lenguaje para la enseñanza.

Dios mío, pienso, ¡están intentando atontar el curriculum aún más! ¿Por qué no dar a cucharadas todo a los estudiantes? Dejemos también que los TA hagan los exámenes en lugar de ellos, así nadie se cambiará a unos Estudios Americanos. ¿Cómo se supone que nadie pueda aprender algo si el curriculum ha sido diseñado cuidadosamente para hacer todo más fácil de lo que ya es? Parece existir un comité especial (PDF) dedicado a averiguar un sencillo subconjunto de Java que pueda enseñarse a los estudiantes, generando documentación simplificada que esconda con cuidado toda esa basura de EJB/J2EE fuera del alcance de sus tiernas mentes, de forma que no tengan que preocupar a sus pequeñas cabezas con clases que no necesitan para resolver los problemas más simples de informática.

La interpretación más comprensiva de por qué los departamentos de informática son tan entusiastas con atontar las clases es que les deja más tiempo para enseñar conceptos reales de informática si no tienen que gastar dos clases enteras en aclarar a los estudiantes la diferencia entre, digamos, un int y un Integer en Java. Bien, si es ése el caso, 6.001 tiene la respuesta perfecta: Scheme, un lenguaje para la enseñanza, tan simple que todo el lenguaje puede enseñarse y despejar a los estudiantes en cerca de diez minutos; entonces se puede dedicar el resto del semestre al punto fijo.

Bah, vuelvo a los unos y los ceros

Festival de Edimburgo

Después de un año casi sin viajar por mor de la Ciencia, retomo este blog con motivo de mi reciente viaje a un congreso en Edimburgo, coincidiendo con el fringe. De veras que no lo hice a propósito, que fue casualidad coincidir con el festival :-P. Es más, el alojamiento del día extra que me quedé para abaratar el billete de avión, casi me cuesta más que el propio billete. Pero vamos, la experiencia mereció la pena.

Como las crónicas del congreso son muy aburridas, centraré mi historia en lo sucedido en los alrededores del evento. Lo primero que hay que visitar en Edimburgo durante los días del festival es la Royal Mile, que es como si cogieran una calle medieval, la alargaran, la inclinaran, y la llenaran de todos los colgaos que inundan las calles de Cádiz durante el carnaval, cada uno haciendo su performance más o menos cómica. Muy bonito. Lástima la lluvia, aunque en general nos hizo muy buen tiempo, para ser Escocia. La milla real termina en el castillo, desde donde las vistas de la ciudad son impresionantes. Poco tiene que envidiar esta ciudad de muchas españolas, con todos mis respetos y admiración por Granada y Cáceres especialmente. Al la entrada del castillo tienen un monumento al verdadero Braveheart, que parece tener la cara más dura que el de Mel Gibson. Bueno, la cara y el resto, porque es de piedra.

Al día siguiente visité Calton Hill (que es lo que se ve al fondo en esta vista desde el castillo), otra colina donde tienen un monumento a Nelson con pinta de faro. Cobraban 6 pounds, así que no subí a visitar el fichoso farito. Ya nos robó bastante el almirante ;-P No sé si el fantasma de Nelson me leyó el pensamiento, pero el caso es que se puso a diluviar, como invitándonos a visitar su monumento. Ni cortos ni perezosos, no caímos en la tentación y reanudamos el periplo escocés abandonando el lugar.

Esa misma tarde visitamos la Roslin Chapel, que se ha hecho famosa por el libro de Dan Brown y el supuesto tesoro que oculta. Es muy pequeña, pero coqueta. Muy amenas las variadas historias de la guía, entre ellas la de la columna del aprendiz. También interesantes unos arcos adornados con figuras en forma de mazorcas de maíz (aunque yo diría que más bien son pimientos asados), cuando la capilla data de varios lustros anteriores al descubrimiento de América. Muy interesante para quienes gusten de leer sobre templarios, códigos da vinci y cosas por el estilo. Yo prefiero los pilares de la tierra, que es más terrenal y con menos ocultismo.

Al acabar el congreso fuimos en autobús a ver la isla de Cramond, que queda unida a la costa mediante un camino que se inunda con las mareas. Desafortunadamente, la marea estaba llena (i.e. alta, para los no gaditanos), por lo que no pudimos cruzar. Hacía un tiempo magnífico, así que cualquiera diría que la playita que quedaba al lado era del Caribe y no del Mar del Norte.

Eldía adicional que me quedé, una vez terminado el congreso, me apunté a un viaje organizado al Loch Ness. En principio venían a recogerme al sitio donde me hospedaba, pero perdí el bus por una confusión respecto al lugar exacto de recogida. Según parece la puerta del hotel no es la de la repección, sino la esquina más próxima. No sé, no sé… sólo habíamos dos apuntados a la excursión. Y la excursión donde me reubicaron, al Loch Lomond, estaba completita. Al final no me arrepentí, pues coincidí con el viaje con otros viajeron muy majos. Coincidía con un belga muy majo en todos los sitios donde paraba el autobús, y charlábamos tomando una cerveza o el lunch. Siempre nos preguntábamos: ¿a qué hora sale tu autobús? ¡qué casualidad! la misma que yo… Sí, resulta que ambos viajábamos en el mismo autobús, y no nos dimos cuenta hata la última parada :-S Un grupo de estudiantes españolas de idiomas, con sus historias de las “espais girls” (spanish girls), hicieron el viaje la mar de divertido. Y la mar de lluvioso, porque no paró en todo el día. Vamos, que intenté hacerle una foto al edificio del colegio de Harry Potter y parece que la sacó el capitán Cousteau.

Lástima que terminó…

Hola,

He tenido un poco abandonadas las crónicas últimamente, pero entre los agobios del final de la estancia aquí y un congreso que tuve la semana pasada en Kerkrade, poco he podido dedicarle. Como todo tiene su fin, las crónicas también, así que me he puesto a escribir el último mensaje.

En las semanas precedentes estuve en el drielandenpunt, un lugar cerca de Vaals (Holanda) donde se unen tres países: Holanda, Bélgica y Alemania. Tienen allí una torre a la que te puedes subir y que, si miras para el norte, ves Holanda. Si miras para el sur, ves las copas de los árboles; y si miras para el este, ves más árboles. Y Holanda se ve porque por algo la llaman los países bajos, que si no ni por esas. Tienen también un trozo de terreno donde, si eres suficientemente flexible, puedes tocar con un pie un país, con otro pie otro, y con la mano un tercero; y así estás a la vez en tres países. Yo no sólo no fui lo suficientemente flexible, sino ni siquiera lo suficientemente despierto, porque no encontré el dichoso punto ese 😦

También nos han eliminado del mundial 😦 Vi el segundo tiempo del partido España-Francia en un coffee-shop, con la esperanza de que, si nos eliminaban, al menos la sonrisa nadie me la quitaba de la boca al salir. Pero ni por esas. Fue muy triste ver a un grupo de franceses cantando la marsellesa a costa de la selección una vez más. Y eso que hasta un amigo francés de aquí, de padre costamarfileño y madre francesa, animaba a España y todo. Desde que eliminaron a Costa de Marfil se puso de nuestro lado. Bueno, él siempre dice que le gusta estar al lado del más débil. Al menos en algo se nota que es francés 😉 Me dio pena hasta cuando eliminaron a Inglaterra, pues uno de mis supervisores aquí, que es inglés (y muy buen tío, por cierto), fue el primero en compadecerme por la derrota y en reconocer que no nos merecimos ser eliminados. Bueno, no todo está perdido: en Sudáfrica 2010 ganaremos el mundial. Y el Cádiz la liga de campeones. Si cuando me pongo optimista…

El 24 de junio, invité a unos amigos de aquí a tomar unas tapas. Me regalaron una camiseta de la selección Oranje. Al día siguiente les eliminaron. Digo yo que podrían haberme regalado una de Francia, ¿no? La verdad, fue todo un detalle y les tengo mucho “schatje”. Les echaré de menos.

Han sido tres meses estupendos, no sólo de trabajo, sino también divertidos y, a veces, entrañables. Los holandeses de Limburg son una gente muy afable, y todos se han portado estupendamente. Por ello he hecho caso del lema del mundial, “a time to make friends”. Desde aquí os animo a que, los que no lo hayáis hecho, salgáis a conocer gentes y costumbres de esos mundos de Dios.

El próximo lunes vuelvo a Madrid. Éste es mi último mensaje de las crónicas. Perdonad si me ha salido un poco triste, pero echaré de menos este país, cuando vea una camiseta naranja, cuando me pongan por delante un plato de croquetas pescanova, cuando a España la eliminen de nuevo en octavos, cuando alguien estornude y suene a “schatje”, cuando alguien me invite a un café sin planificarlo y, por supuesto, cuando vea un tulipán…

Un abrazo y a cuidarse!