>> Безусловно полезно знать, как работают современные железки - проц,
>> взаимодействие девайсов на матери, FPGA всякие и тд.
> Почему?Почему полезно? Что бы понимать, что такое вызов функции, чё за стек, что бы на уровне асма смотреть на сгенерённое компилером и оптимизировать производительность, что бы понимать, что проблема может быть зарыта на уровне драйвера (который общается с железом), что бы понимать бранч предикшены и тд. Я специально не сказал "необходимо" - необходимо оно только при разработке высокопроизводительного софта, но полезно - всем, хотябы для понимания границ собственного незнания, типа что такое "указатель", виртуальная память, своп и тд, что бы ты в случае чего, посмотрев на метрики хотябы понял, что они примерно означают и из какой области.
> Потому что софт на "взаимодействии девайсов на матери" _не_ основан примерно с
> тех пор, как появились собственно операционные системы вместо мониторов -- ну,
> прикладной, а не системный.
По верхам всё равно полезно пройти, это хотя бы то, на чём реально всё работает, а не какая-то дохлая лошадь у забора. Но да, для не-системных несильно важно.
> а за кодера на жабоскрипте всё и сделано так, чтоб ему о том голову не то что включать -- "забивать ненужным" не приходилось.
Именно поэтому кодер жаваскрипта - не совсем программист и имеет такую плохую репутацию среди программистов. Это вчерашние рисовальщики баннеров которые кое-как научились динамически разворачивать менюшки, ну и потом ещё понабрались по ходу дела. Культура программирования - низкая, понимания того, как оно хотябы приблизительно устроено внутри - никакого. Для понимания нужно пояснять механизмы и концепции. Давать общее образование, да. Но не через пролог, а через реально используемые механизмы.