Кілька місяців тому ми почали розробляти додаток для управління внутрішньо розробленим тестовим обладнанням і записувати набір вимірювань. Він повинен мати простий інтерфейс користувача і, ймовірно, потребуватиме потоки через безперервну запис, який має відбуватися. Цей додаток буде використовуватися протягом декількох років, і його повинен підтримувати декілька студентів з інформатики протягом цього періоду.
Наш начальник закінчив десь 30 років тому (не сприймати його як правопорушення; у мене на спині теж більше половини) і мандат доручив нам розробляти цю програму в ANSI C. Обґрунтування полягає в тому, що він єдиний буде цілий час, і тому він повинен вміти розуміти, що ми робимо. Він також постановив, що ми не повинні використовувати абстрактних типів даних; він навіть подав нам список із назвою глобальних змінних (зітхання), які він хоче, щоб ми використовували.
Насправді я деякий час спробував такий підхід, але це насправді сповільнювало мене, щоб переконатися, що всі операції з покажчиком були безпечними та всі струни мали правильний розмір. Крім того, кількість рядків коду, які насправді пов'язані з проблемою, що існує, була лише невеликою частиною нашої кодової бази. Через декілька днів я заробив всю річ і почав заново використовувати C #. Наш начальник вже бачив, як програма працює, і йому подобається, як вона працює, але він не знає, що вона написана іншою мовою.
Наступного тижня ми вдвох зустрінемось, щоб перейти до вихідного коду, щоб він "знав, як його підтримувати". Мені якось страшно, і я хотів би почути від вас, хлопці, які аргументи я можу використати, щоб підтримати своє рішення.
Боягузливий твій,