Что такое языки программирования в целом?
языки программирования - это просто способ общения с компьютерами. грубо говоря сначала, потому что компьютеры могли понимать только нули и единицы (из-за того, что компьютеры состоят из транзисторов как переключателей, которые могут принимать только два состояния, мы называем эти два состояния 0 и 1), и работа с 0,1 была трудной для мы, как люди, поэтому ученые-компьютерщики решили сделать однозначное сопоставление каждой инструкции в двоичном виде (0,1) с более удобочитаемой формой, которую они назвали ассемблером.
например, если у нас была инструкция вроде:
11001101
в сборке это будет называться:
LOAD_A 15
это означает, что загружается содержимое регистра a в ячейку памяти 15. Как я уже сказал, это было просто соглашение, подобное выбору 0 и 1 для двух состояний транзисторов или чего-либо еще в компьютере. Таким образом, имеется программа с 50 инструкциями, запомнить язык ассемблера было бы проще. таким образом, пользователь будет писать ассемблерный код, а некоторая программа (в данном случае ассемблер) будет переводить коды в двоичные инструкции или машинный язык, как они его называют.
но затем, когда компьютеры совершенствовались каждый день, было место для более сложных программ с большим количеством инструкций, скажем, 10000.
в этом случае сопоставление типа «один к одному» не будет работать, поэтому были созданы другие языки программирования высокого уровня. они сказали, например, что если для связи с устройствами ввода-вывода для печати чего-либо на экране, созданном пользователем, требуется около 80 инструкций, давайте сделаем что-то здесь, и мы могли бы упаковать весь этот код в одну библиотеку и вызвать его, например, printf а также создайте другую программу, которая могла бы преобразовать этот printf здесь в соответствующий код сборки, и оттуда сборка сделает все остальное. поэтому они называют это компилятором.
так что теперь каждому пользователю, который хочет просто напечатать что-то на экране, ему не нужно будет писать все инструкции в двоичном или ассемблерном виде, он просто печатает printf («что-то»), и все программы, такие как компилятор и ассемблер, будут делать все остальное. теперь позже другие более длинные коды будут упакованы таким же образом, чтобы просто облегчить работу других людей, поскольку вы можете просто упростить тысячную строку кода в один код в python и упаковать его для использования другими людьми.
скажем так, вы упаковали много разных кодов в python и создали модуль (libray, package или все, что хотите, чтобы он вызывался), и вы называете этот модуль mgh (только мое имя). Теперь давайте предположим, что мы создали этот MHG как-то, что любой, кто говорит:
import mgh
mgh.connect(ip,port.data)...
может легко подключиться к удаленному серверу с указанными IP-адресом и номером порта и отправить данные впоследствии (или что-то в этом роде). теперь люди могут делать все это одной строкой, но происходит то, что выполняется много кодов, которые были извлечены из файла mgh. и упаковка - не для ускорения процесса выполнения, а для облегчения работы других программистов. так что здесь, если кто-то хочет сначала использовать ваш код, он должен импортировать файл, а затем интерпретатор python распознает весь код в нем, и поэтому он может интерпретировать код.
Теперь, если вы хотите создать язык программирования и выполнить его, сначала ему нужен перевод, например, допустим, что вы создаете программу, которая может понимать синтаксис и конвертировать ее в c, в данном случае после того, как он был переведен. c, об остальном позаботится компилятор c, затем ассемблер, линкер, .... даже если вам придется заплатить цену за медлительность, поскольку сначала ее нужно преобразовать в c.
теперь еще одна вещь, которую вы могли бы сделать, - это создать программу, которая могла бы перевести весь код на эквивалентный язык ассемблера, как это происходит с c, но в этом случае программа могла бы сделать это напрямую, а оттуда все остальное будет сделано линкер. мы знаем, что эта программа называется компилятором.
так что я говорю о том, что единственный код, который понимает система, это 0,1, так что каким-то образом вы должны преобразовать свой синтаксис в это, теперь в наших операционных системах много разных программ, таких как ассемблер, компоновщик и ... был создан для того, чтобы сказать вам, что если вы сможете преобразовать свой код в сборку, они могут позаботиться обо всем остальном или, как я сказал, вы даже можете использовать компиляторы других языков программирования, преобразовав свой код в этот язык.