Hace unos meses, comenzamos a desarrollar una aplicación para controlar un equipo de prueba desarrollado internamente y registrar un conjunto de mediciones. Debería tener una interfaz de usuario simple y probablemente requeriría subprocesos debido a la grabación continua que debe llevarse a cabo. Esta aplicación se utilizará durante algunos años y será mantenida por varios estudiantes de informática durante este período.
Nuestro jefe se graduó hace unos 30 años (no debe ser tomado como un delito; también tengo más de la mitad de ese tiempo en mi espalda) y ha ordenado que desarrollemos esta aplicación en ANSI C. La razón es que él es el único que estará alrededor todo el tiempo y, por lo tanto, debe ser capaz de entender lo que estamos haciendo. También dictaminó que no deberíamos utilizar tipos de datos abstractos; Incluso nos dio una lista con el nombre de las variables globales (suspiro) que quiere que usemos.
En realidad probé ese enfoque durante un tiempo, pero realmente me estaba ralentizando para asegurarme de que todas las operaciones de puntero fueran seguras y que todas las cadenas tuvieran el tamaño correcto. Además, el número de líneas de código que realmente se relacionó con el problema en cuestión era solo una pequeña fracción de nuestra base de código. Después de unos días, deseché todo y comencé de nuevo con C #. Nuestro jefe ya ha visto el programa en ejecución y le gusta cómo funciona, pero no sabe que está escrito en otro idioma.
La próxima semana los dos nos reuniremos para repasar el código fuente, para que él "sepa cómo mantenerlo". Estoy un poco asustado, y me gustaría saber de ustedes qué argumentos podría usar para apoyar mi decisión.
Cobarde tuyo,