Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нужно ли программисту знать/понимать машинный код и для чего это может потребоваться?

RomanRyazh Мастер (1407), закрыт 9 лет назад
Лучший ответ
Jurijus Zaksas Искусственный Интеллект (450081) 9 лет назад
В самом общем случае - не нужно. А на современных процессорах - физиологически невозможно.
RomanRyazhМастер (1407) 9 лет назад
а как же программисты обращаются к современным процессорам во время их программирования, если "невозможно"?
Jurijus Zaksas Искусственный Интеллект (450081) Обычно никак. Обычное программирование абстрагировано от команд процессора. Исключение - написание компиляторов и драйверов некоторых системных устройств, но это очень специфическая работа, и даже там абстракция используется по-максимуму: все пишется на языках высокого уровня, а для использования каких-то специфических команд процессора используются короткие ассемблерные и/или бинарные вставки, которые соотв. образом документируются.
Остальные ответы
Татьяна Шеховцова Высший разум (523778) 9 лет назад
Смотря какому программисту. Тем, кто работает на низкоуровневых языках, нужно
RomanRyazhМастер (1407) 9 лет назад
специализируюсь на java, но на чем то конкретном пока не остановился, потому спрашиваю)
Татьяна Шеховцова Высший разум (523778) Это высокоуровневый язык
Профи (789) 9 лет назад
Знать наизусть не нужно однозначно, как и языки программирования. Для этого есть спецификации форматов исполняемых файлов, а если они не устраивают, то можно с помощью HEX-редактора и экспериментов составить свою спецификацию.

Уметь пользоваться HEX-редактором - нужно в том случае, если пишете компиляторы или занимаетесь реверс-инжинирингом (иногда HEX-редактор удобнее, чем деассемблирование или декомпиляция)
Похожие вопросы