Как не надо писать прикладные программы
В МГТУ им. Баумана был дико неприятный для меня предмет - материаловедение, который мы называли “тряпки”. Если правильно помню, получить по нему отлично было просто - надо было присутствовать на всех лекциях (этот предмет не был профильным).
Естественно, для меня присутствие на скучных лекциях было крайне сложным занятием, и я пустился в авантюру - преподаватель попросил меня написать программу расчета каких-то параметров сплавов металлов в зависимости от температурных режимов и содержания примесей.
Мне была выдана методичка, из которой я должен был сделать программу - заменить ручной расчет компьютерным. Несколько недель я сидел и программировал довольный собой, что уже было глупо - времени на программирование я потратил сильно больше, чем потратил бы на лекции. Показываю мое творение преподавателю, и выясняется, что это “не то” - моя программа решала обратную задачу, а не ту, что нужна была преподавателю.
Мне поставили оценку три в утешительном режиме “за старания”, экзамен я бы на большее не сдал, ни по знаниям, ни по ситуации. Но важно здесь другое.
Сейчас я понимаю, что тогда моей главной ошибкой как программиста было абсолютное незнание предметной области - я не был знаком с тем, что происходит в реальном мире за пределами моего компьютера, поэтому и моя программа была отражением моих фантазий и никак не решала задачу заказчика (преподавателя).