На самом деле это не техническая проблема, а проблема человеческого мозга. Это может вас удивить, но позвольте мне объяснить. У меня есть хорошая основа для того, что я говорю.
Частично проблема заключается в том, как применяются обновления и исправления программного обеспечения, но я не думаю, что это является ядром проблемы.
Аппаратные машины на самом деле стали значительно быстрее за эти годы, но способность программного обеспечения загружать их возросла еще быстрее, что дает представление и актуальность того, что некоторые вещи медленнее, чем они есть.
Например, моя первая коробка Z-80 имела тактовую частоту 1 мегагерц. Теперь моя платформа разработки работает на частоте 2,66 ГГц, или в 2000 раз быстрее. Я не помню точно, но все CPM умещаются в 16 КБ. Теперь Windows знает, кто больше, но намного, намного больше. Он использует много уровней абстракции, которые делают удивительные вещи более общим способом, но эти уровни влияют на производительность.
Позвольте мне вернуться к человеческому мозгу. Хорошо известно, что разработчики программного обеспечения на протяжении многих лет говорили и верили по какой-то веской причине, что аппаратное обеспечение будет становиться все быстрее и быстрее, и поэтому программному обеспечению не нужно быть осторожным с вопросами оптимизации. Таким образом, программисты делали вещи, чтобы заставить их работать и быстро за счет скорости, думая, что аппаратные специалисты позаботятся об этой проблеме. Таким образом, обновления и исправления сделаны с мыслью, что они временные, то есть краткосрочные.
Это: краткосрочный, микро мышление, в долгосрочной перспективе, макро проблема.
Много лет назад я прочитал интересную книгу, в которой пара ученых изложила эту проблему мышления в краткосрочной и долгосрочной перспективе и провела несколько экспериментов с широким кругом людей, чтобы увидеть, как они делают эти компромиссы. Их книга - «Новый мир, новый разум», авторы - Пол Эрлих и Роберт Орнштейн. Я бы назвал ее самой важной книгой, которую я прочитал за последние 20 лет, потому что она послужила прочной основой для решения этой проблемы.
Они отметили, что человеческий мозг развивался в то время, когда принятие краткосрочных решений имело смысл. Живи моментом и днем, но не думай слишком много о будущем. Это просто не стоило того. Таким образом, наше интуитивное чувство вещей, которое мы часто используем для принятия решений, является очень старой частью мозга и не очень подходит для многих современных проблем. И у мозга не было реалистичного времени для развития, так как мир быстро изменился с ростом населения и влиянием технологий на вещи.
Эрлих и Орнштейн обнаружили, что очень умные и хорошо образованные доктора наук, а также уборщики делали те же ошибки, когда сталкивались с краткосрочными и долгосрочными проблемами. Не то, что мы обычно думаем, имеет место.
Один очень хороший и убедительный пример того, как эта проблема решается в современном мире, не связан с аппаратной средой, но это большой брат, черт побери, среда, в которой мы живем. Мы, люди, как правило, совершаем ошибку, чтобы жить сегодняшним днем, на данный момент, но реальность такова, что глобальное потепление на нас именно потому, что мы не допустили этого или не приняли меры для борьбы с ним. Это происходит из-за проблем с программным обеспечением, снова и снова, но в другом контексте.
Орнштейн и Эрлих предположили, что мы могли бы принимать более правильные решения, основываясь на нашем решении не на нашем внутреннем инстинкте, а скорее на данных и статистике. Так, например, если у инженера-программиста была статистика относительно того, насколько быстро их программное обеспечение вздувается, относительно того, насколько быстро аппаратное обеспечение становится быстрее, они могли бы принимать более правильные решения относительно того, что включать, что исключать и сколько оптимизировать алгоритмы. Другими словами, если они использовали фактические данные для принятия решений, а не их интуиция.
Спасибо за хороший вопрос. Иногда простые вопросы - лучшие, я думаю. это дало мне возможность рассмотреть это с новой точки зрения. Я никогда прежде не видел параллели между проблемой аппаратного обеспечения в человеческом контексте.