Полезно понимать очень низкие уровни компьютера. Например, есть разработчики, которые скажут, что процессор выполняет какую-то инструкцию «новый объект». Конечно, такой инструкции нет, управление объектами происходит на несколько уровней выше. Хорошо понимать разницу, поэтому вы можете понять, почему создание объекта может быть дорогим (или нет) или почему защищенные адресные пространства могут сделать систему более устойчивой.
Когда я учился в школе, курс ассемблера преподавался на мэйнфрейме IBM с использованием набора инструкций System / 360. Я никогда, ни разу в своей карьере, не сталкивался с работой на такой машине, но знание того, как выглядит процессор, было ценным.
В настоящее время я работаю на встроенных системах с использованием процессоров MIPS. На самом деле я провожу довольно много времени, просматривая списки сборок MIPS, и пишу некоторые сборки MIPS для векторов загрузки и примитивов синхронизации. Тем не менее, даже если вы никогда ничего не пишете на ассемблере, понимание работы процессора по-прежнему ценно.