Существует два различных способа преобразования программы из языка программирования высокого уровня в машинный язык:

КОМПИЛЯЦИЯ — исходная программа переводится один раз. однако это действие необходимо повторять каждый раз, когда вы изменяете исходный код, получая файл (например, файл .exe, если код предназначен для запуска под MS Windows), содержащий машинный код; теперь вы можете распространять файл по всему миру; программа, выполняющая этот перевод, называется компилятором или транслятором;

ИНТЕРПРЕТАЦИЯ — вы или любой пользователь кода можете переводить исходную программу каждый раз, когда ее нужно запускать; программа, выполняющая такое преобразование, называется интерпретатором, так как она интерпретирует код каждый раз, когда он предназначен для выполнения; это также означает, что вы не можете просто распространять исходный код как есть, потому что конечному пользователю также нужен интерпретатор для его выполнения.