От машинного кода к языку: свободное припоминание
Промпты на свободное припоминание по юниту. Сначала ответь своими словами, затем раскрой модельный ответ и сравни.
Припоминание сильнее перечитывания. На каждый промпт проговори или запиши полный ответ по памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет материал.
Восстанови костяк юнита, не подглядывая: правило один-к-одному у assembler, зачем нужны высокоуровневые языки, compile vs interpret vs JIT, что даёт runtime и полный путь от исходника до исполнения.
- 01Что делает assembler и в чём правило один-к-одному?
- 02Assembly уже даёт machine code читаемые имена. Зачем поверх него изобретать высокоуровневые языки?
- 03Сравни compiler и interpreter по тому, что они производят и когда транслируют.
- 04Что такое JIT-компиляция и какую проблему отражает период прогрева?
- 05Что такое runtime и какие четыре сервиса он обычно предоставляет?
- 06Проследи шесть стадий от текста исходника до исполнения программы на CPU.
Если ты смог восстановить каждый ответ по памяти, ты держишь костяк юнита: assembler переводит assembly один-к-одному в machine code; высокоуровневые языки добавляют продуктивность и переносимость через абстракцию; compiler транслирует всё заранее, а interpreter — оператор за оператором во время работы, JIT же компилирует hot spot’ы на лету после прогрева; runtime даёт управление памятью, call stack, стандартную библиотеку и VM под твоим кодом; а шестистадийный конвейер доносит каждую программу от текста исходника до цикла CPU fetch-decode-execute.
Что-то непонятно?
Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.