Указатели и управление памятью - это действительно другой вопрос, чем сборка. Если вы хотите использовать C / C ++, вам нужно изучить указатели и управление памятью, потому что они являются частью языка. Но даже если вы планируете использовать ничего, кроме (скажем) Java, всю свою жизнь, вы должны кое-что узнать об управлении памятью, чтобы не писать утечки памяти, несмотря на сборку мусора, а указатели - это только разница между атомарными типами и ссылками на объекты. Вам нужны концепции, или вы будете писать программы, которые не работают!
Практические причины изучения ассемблера: отладка и оптимизация. Даже если вы не пишете какую-либо сборку, на днях вам может понадобиться оптимизировать код C / C ++ для повышения производительности. В этом случае вам понадобится прочитать сборку для вашего внутреннего цикла, даже если вам никогда не понадобится писать еще одну строку.
В конечном счете, я считаю, что ваше различие между «знанием основ работы вашего компьютера» и «практическими советами, которые принесут пользу обучению сборке», является ложным. Невежество не платит. Изучение того, как работает ваш компьютер , является практическим советом, который стоит потраченных усилий!
У меня есть пророчество: однажды скоро ваша программа будет работать слишком медленно, чтобы быть практичной, и периодически прерываться с исключением из-за нехватки памяти. В тот день явная кричащая тревога не зная, что, черт возьми, происходит или с чего начать искать, чтобы исправить это, с интересом возместит ваш долг за карму ...