Интервью со Страуструпом о подготовке разработчиков
Хочется отдельно пару слов сказать про этот фрагмент:
Programming is part of software development. It doesn’t matter how fancy your code is unless it solves the right problem and you can explain it to others. [...] Don’t just do programming. Computing is always computing something. Become acquainted with something that requires your software development skills: Mediaeval history, car engine design, rocket science, medical blood analysis, image processing, computational geometry, biological modeling, whatever seems interesting.
Многие в последнее время писали о том, что всё меньше, мол, внимания уделяется знанию технической платформы, теоретическим основам - и вместо этого новичками учится сразу какой-то высокоуровневый язык, делая их заложниками технологии. Но обычно аргументы приводились противоположные - что, например, уходит время красивых решений, и сейчас предпочитают, к сожалению, решать задачи неоригинально, в рамках единственного выученного подхода. То есть имело место противопоставления бизнес-результата (о котором настоящему Computer Scientist задумываться слишком мелко) и творческого процесса.
Поэтому довольно приятно было прочитать наконец о том, что "красивое решение" значимо не только красотой как таковой, но и эффективностью решения поставленной задачи в сравнении с решением "в лоб" - а без практического эффекта, с другой стороны, ценностью не обладает.
Вроде бы ничего особенного, всё очень просто, но от одного автора и претензии к современной практике преподавания, и упоминания о приоритете качества и востребованности продукта слышать одновременно как-то не приходилось.

1 comments:
Дело в окружении.
Страуструп всё же академический работник и, думаю, чаще видел десятки докладов и статей по 10 строчкам кода, чем switch по строкам.
Post a Comment