Esta semana (el martes, creo recordar) hubo una charla
de este grupo de fórmula uno con capital español (murciano, para más
señas). Quizá es que esperaba más de esto, mucha tecnología al límite,
ingeniería de desarrollo, pruebas, ciclos cortos de desarrollo, etc.,
pero me desilusionó un poco la charla.
Explicaré por qué. No
pude ir al principio de la charla porque estaba dando clase en el
máster de la asignatura «Software como servicio y distribuido» hasta
las 5 de la tarde, y la conferencia había empezado a las 4. Con todo,
cuando llegué estaban en turno de preguntas, y pude hacerme una idea
de lo que había sido la presentación, aunque me habría gustado verla
desde el principio.
Parece que no fue excesivamente técnica,
al menos en la parte que nos interesa a los informáticos, porque una
de las preguntas que se hicieron tuvo que ver con el lenguaje de
programación o entorno que utilizaban. La respuesta del ingeniero
informático:
- Utilizamos C#. Cuando entré a trabajar en
la empresa venía de experiencia de programación en C++. Cuando me
explicaron lo que tenía que hacer me eché las manos a la cabeza. Eso
no se podía hacer con C++. Aprendí en un par de semanas C# e hicimos
el programa.
Como se puede suponer, tengo miles de
comentarios a este respecto. Primero, sí que pude ver el interfaz
gráfico que habían hecho. Interfaces con esa complejidad estamos
acostumbrados a hacer en C++ y Qt para SAES en la Cátedra de Software
libre, y no nos echamos las manos a la cabeza. El hecho de que un
ingeniero en particular no tenga el conocimiento suficiente, o tenga
que tomar una decisión acelerada no sé si debería decidir una
estrategia para el futuro. Además, aprender en un par de semanas C# no
parece lo más adecuado para hacer un programa de calidad, pero en
fin. Continuaba:
- La salida de este programa son
ficheros XML que utilizamos para comunicar con los equipos de
carrera
Esto es mi favorito. Al nombrar XML parece que
todo el mundo dice «ah, claro». XML ya hace que los programas
interactúen mágicamente... En fin. ¿Por qué no JSON/YAML? Reconozco
que esto es más una manía mía, pero ¿por qué en los nuevos desarrollos
de bases de datos (CouchDB, MongoDB) no se utiliza XML sino formatos
más sencillos y expresivos?
Me hubiera gustado preguntarles
por sus ciclos de desarrollo, pruebas, etc., pero como había llegado
tarde, ahí se quedó.
La conversación, a raíz de otra
pregunta, giró hacia la colaboración de estos grupos con la
Universidad. Uno de los ponentes (no recuerdo su nombre) había estado
trabajando para Red Bull anteriormente, y contaba proyectos de
colaboración que sus antiguos patronos tenían con Universidades. No es
el caso de Hispania, según decía, por problemas políticos, o por
problemas de medios de las universidades (laboratorios con material
especializado, etc.)
En este punto hice una pregunta, dado
que tenemos experiencia en colaborar con una empresa, pregunté que
para tener una colaboración a nivel de informática no se necesitaban
laboratorios especializados (sólo ordenadores y personas). Uno de los
ingenieros del equipo (presumo) me interrumpió gritando que «¿Cómo que
no necesitas? Para empezar necesitas un superordenador». Intenté
responderle a medio hacer la pregunta que no se necesita un
supercomputador in situ sino una persona que sepa cómo hacer
los programas paralelos que aprovechen en superordenador, y una
conexión internet para conectarse al CESGA o al Mare Nostrum (en los
tiempos de Internet, los ordenadores no tienen que estar en tu
habitación, aparte de que tenemos Ben Arabí, creo recordar de la
última vez que estuve allí... Además, ¡¡programan en C#!!, ¿qué
supercomputador???)... Cuando me dejó terminar la pregunta, la
respuesta del ponente era la misma, cuestiones políticas que escapaban
a su nivel de puesto de trabajo que hacía que no se colaborara con la
Universidad tampoco en informática. Creo que nuestra experiencia en
testing, modelado, etc., sería interesante para ellos, pero aquí
estamos.
Finalmente, fallo garrafal (según mi punto de
vista). Se quejaban de que tenían un presupuesto limitado, y utilizan
software propietario, licencias, etc., en vez de sacar partido al
software libre (incluso para C# existe Mono...).
Espero que
los ingenieros en otras ramas estén más al día, porque si no, el
equipo va a ganar pocas carreras :)