Кто-нибудь может рекомендовать какой-либо хороший материал, который призван обеспечить реальную перспективу в теории программирования? Я говорю с моей точки зрения, поскольку профессиональный инженер-программист долгое время сбрасывает ex-cs student. Когда я говорю "реальный мир", я имею в виду такие вещи, как "Почему я должен использовать интерфейсы? Разве это не противоречит принципам DRY? Это просто лишний мета-код". (что было последствием другого вопроса, который возник сегодня). Похоже, что профессор этого студенческого класса не дал очевидной бизнес-причины использовать их как "вы используете это, поэтому основная часть вашего приложения не зависит от при определенной реализации один или несколько ваших компонентов - например, хранилище данных, которое может быть заменено или обновлено, не затрагивая остальную часть вашего приложения или плагин на внешнем устройстве, которое может быть заменено, когда появляется лучший."
Я заметил тенденцию к тому, что ученики достигли ключевых точек своих курсов CS и начали задавать вопросы по различным сайтам Q & A, почему они должны использовать определенную парадигму, они понимают, что и как, но они неведомо, почему это действительно полезно и переживает остаток их курса, думая "хорошо, ну и что?". Слишком часто занятия очень академичны и не имеют реального контекста в мире. Будучи там, я бы хотел, чтобы у меня был такой ресурс, как StackOverflow, когда я учился в школе.
Я надеюсь, что этот вопрос предоставит студентам список полезных материалов для чтения, которые помогут обеспечить контекст реального мира для различных парадигм программирования и моделей, которые они изучают в классе [или иным образом], и помогает им понять, когда и почему некоторые модели следует искать в реальных ситуациях.