Поймите правильно, я не хочу вам доказать, что вы не правы
Я понимаю ваш подход, и считаю его неправильным, всего-то
Вы считаете, что я не прав? Ничего страшного.
Но вы опираетесь на "бизнес", а я говорю о профессии
Вы говорите "меня бизнес заставил", а я говорю "писать надо хороший код"
Даже без бизнеса
Любая программа — это то, что будет запускаться в некоторой среде. Вот программа это функция от одного аргумента — состояния вселенной, грубо говоря
И предсказать все состояния вселенной нереально чисто теоретически
Так вот быть готовым к тому что пользователь введёт число там где нужно email
или к тому что программа будет запущена на какой-нибудь MIPS
архитектуре — разные вещи
Иногда программы должны быть готовы к изменения в hardware
во время исполнения, должны сами контроллировать свою нагрузку и т.д.