Как говорится, распространенное мнение не всегда самое верное.
По моему мнению, компилятор — это все-таки не идеальное творение рук человеческих. Иногда случаются ошибки и в компиляторах, так что на первый взгляд правильно написанный код будет исполняться некорректно, а в таком случае, кроме как изучая во что код скомпилировался, не разберешься. А тут, собственно говоря, ассемблер и поможет.
Вопрос, конечно, интересный. И я могу лишь высказать свое мнение на этот счет, но ни в коем случае не претендую на звание истины в последней инстанции.
Так вот… Как по мне, так хороший компилятор и правильное место произрастания рук самого программиста может в совокупности составить замечательный код. Но компилятор ведь, в любом случае, добавит некоторой «отсебятины» в конечный файл. Вот самый характерный пример — системы реального времени. Там, где требуется быстродействие и присутствует ограниченность в ресурсах памяти, ассемблер (по моему глубокому убеждению) просто незаменим. При допустимо одинаковой оптимальности логического построения программы, код на ассемблере будет исполняться быстрее. А ежели вы программируете какого-нибудь военного робота, то скорость его реакции на изменяющуюся среду — это, надо отметить, не самое последнее дело.
По моему мнению, компилятор — это все-таки не идеальное творение рук человеческих. Иногда случаются ошибки и в компиляторах, так что на первый взгляд правильно написанный код будет исполняться некорректно, а в таком случае, кроме как изучая во что код скомпилировался, не разберешься. А тут, собственно говоря, ассемблер и поможет.
Так вот… Как по мне, так хороший компилятор и правильное место произрастания рук самого программиста может в совокупности составить замечательный код. Но компилятор ведь, в любом случае, добавит некоторой «отсебятины» в конечный файл. Вот самый характерный пример — системы реального времени. Там, где требуется быстродействие и присутствует ограниченность в ресурсах памяти, ассемблер (по моему глубокому убеждению) просто незаменим. При допустимо одинаковой оптимальности логического построения программы, код на ассемблере будет исполняться быстрее. А ежели вы программируете какого-нибудь военного робота, то скорость его реакции на изменяющуюся среду — это, надо отметить, не самое последнее дело.