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 tener lugar. Esta aplicación se utilizará durante algunos años y la mantendrán varios estudiantes de informática durante este período.
Nuestro jefe se graduó hace unos 30 años (no debe tomarse como una ofensa; tengo más de la mitad de ese tiempo en mi espalda también) y ha ordenado que desarrollemos esta aplicación en ANSI C. La razón es que él es el solo uno que estará alrededor todo el tiempo, y por lo tanto, él debe ser capaz de entender lo que estamos haciendo. También dictaminó que no debemos usar 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 por un tiempo, pero realmente me estaba ralentizando para asegurarme de que todas las operaciones de puntero eran seguras y que todas las cadenas tenían el tamaño correcto. Además, la cantidad de líneas de código que realmente se relacionaban con el problema en cuestión era solo una pequeña fracción de nuestro código base. Después de unos días, deseché todo y comencé nuevamente a usar 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 revisar 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.
Tuyo cobarde,