--- title: Compile slug: Glossary/Compile tags: - Глоссарий translation_of: Glossary/Compile original_slug: Словарь/Compile --- <p>Компиляция - это процесс преобразования компьютерной программы, написанной на данном <a href="/ru/Словарь/Computer_Programming">языке</a>, в эквивалентную программу на другом языке. Компилятор - это программа для выполнения этой задачи. Иногда эту задачу называют также "assembling" или "build", что, как правило, свидетельствует о том, что выполняется не только компиляция, например, упаковка в двоичном формате.</p> <p>Обычно компилятор преобразует язык более высокого уровня, такой как C или <a href="ru/Словарь/Java">Java</a> который понимает человек, в машинный язык, такой как ассемблер, который понимает процессор. Некоторые компиляторы, которые переводят между языками схожего уровня, называются транспайлерами или кросс-компиляторами, например, для компиляции с TypeScript на <a href="ru/Словарь/JavaScript">JavaScript</a>. Они считаются инструментами производительности.</p> <p>Большинство компиляторов работают либо перед исполнением (AOT), либо во время исполнения (JIT). Как программист, вы обычно вызываете AOT-компиляторы из командной строки или из {{Glossary("IDE")}}. Самый известный "gcc" - это один из примеров.<br> JIT компиляторы обычно прозрачны для Вас и используются для повышения производительности. Например, в браузере: Firefox' <a href="/ru/SpiderMonkey">SpiderMonkey</a> JavaScript Engine имеет встроенный JIT, который скомпилирует JavaScript на сайте в машинный код, пока Вы его просматриваете, чтобы он работал быстрее. Такие проекты, как <a href="/ru/WebAssembly">WebAssembly</a>, работают над тем, чтобы сделать это еще лучше.</p> <h2 id="См._также">См. также</h2> <h3 id="Общие_сведения">Общие сведения</h3> <ul> <li><a href="https://ru.wikipedia.org/wiki/Компилятор">Компилятор</a> - Wikipedia</li> <li>The <a href="https://gcc.gnu.org">GNU Compiler Collection (GCC)</a></li> </ul> <h3 id="Обучающие_ресурсы">Обучающие ресурсы</h3> <ul> <li><a href="https://medium.com/basecs/a-deeper-inspection-into-compilation-and-interpretation-d98952ebc842">Введение в компиляторы</a></li> <li><a href="http://stackoverflow.com/a/1672/133203">Большой список учебных материалов на StackOverflow</a></li> </ul>