Несколько месяцев назад мы начали разработку приложения для управления собственным испытательным оборудованием и записи набора измерений. Он должен иметь простой пользовательский интерфейс и, вероятно, потребует потоков из-за непрерывной записи, которая должна иметь место. Это приложение будет использоваться в течение нескольких лет, и в течение этого периода его будут поддерживать некоторые студенты, изучающие информатику.
Наш начальник получил высшее образование около 30 лет назад (не считая его оскорблением; у меня больше половины этого времени тоже на спине) и поручил нам разработать это приложение в ANSI C. Обоснование заключается в том, что он единственный, кто будет вокруг все время, и поэтому он должен быть в состоянии понять, что мы делаем. Он также постановил, что мы не должны использовать абстрактные типы данных; он даже дал нам список с именем глобальных переменных (вздох), которые он хочет использовать.
Я на самом деле пробовал такой подход некоторое время, но это действительно замедляло меня, чтобы убедиться, что все операции с указателями безопасны и все строки имеют правильный размер. Кроме того, количество строк кода, которые на самом деле связаны с рассматриваемой проблемой, составляло лишь небольшую часть нашей кодовой базы. Через несколько дней я полностью пересмотрел и начал использовать C #. Наш начальник уже видел, как работает программа, и ему нравится, как она работает, но он не знает, что она написана на другом языке.
На следующей неделе мы встретимся, чтобы обсудить исходный код, чтобы он «знал, как его поддерживать». Я немного напуган, и я хотел бы услышать от вас, ребята, какие аргументы я могу использовать в поддержку своего решения.
Трусливый твой,