O que são linguagens de programação em geral?
linguagens de programação são apenas uma maneira de conversar com computadores. grosso modo, a princípio, porque os computadores só conseguiam entender zeros e uns (devido ao fato de os computadores serem feitos de transistores como comutadores, que podiam apenas levar dois estados, chamamos esses dois estados de 0 e 1) e trabalhar com 0,1 era difícil para como seres humanos, os cientistas da computação decidiram fazer um mapeamento individual de todas as instruções em binário (0,1) para uma forma mais legível para humanos, que eles chamavam de linguagem assembly.
por exemplo, se tivéssemos uma instrução como:
11001101
na montagem seria chamado:
LOAD_A 15
o que significa que carregar o conteúdo de registrar um na localização da memória 15. Como eu disse, era apenas uma convenção como escolher 0 e 1 para dois estados dos transistores ou qualquer outra coisa no computador. dessa maneira, tendo um programa com 50 instruções, lembrar a linguagem assembly seria mais fácil. para que o usuário escreva o código do assembly e algum programa (neste caso o assembler) traduza os códigos para instruções binárias ou linguagem de máquina, como eles chamam.
mas, com os computadores sendo aprimorados todos os dias, havia espaço para programas mais complicados com mais instruções, digamos 10000.
nesse caso, um mapeamento individual como um assembly não funcionaria; portanto, outras linguagens de programação de alto nível foram criadas. eles disseram, por exemplo, se para uma relação com dispositivos de E / S para imprimir algo na tela criada pelo usuário, são necessárias cerca de 80 instruções, vamos fazer algo aqui e poderíamos empacotar todo esse código em uma biblioteca e chamá-lo, por exemplo, printf e também crie outro programa que possa traduzir esse printf aqui para o código de assembly relacionado e a partir daí o assembly fará o resto. então eles chamam de compilador.
agora, todo usuário que deseja apenas imprimir algo na tela, não precisa escrever todas as instruções em binário ou montagem, apenas digita printf ("something") e todos os programas, como o compilador e o montador, fazem o resto. agora, mais tarde, outros códigos mais longos seriam empacotados da mesma maneira para facilitar o trabalho de outras pessoas, pois você pode simplificar uma linha de milhares de códigos em um código em python e empacotá-lo para o uso de outras pessoas.
então digamos que você empacotou muitos códigos diferentes em python e criou um módulo (biblioteca, pacote ou qualquer coisa que você queira chamar) e você chamou esse módulo mgh (apenas meu nome). Agora, digamos que criamos esse mgh de alguma forma que qualquer um que diga:
import mgh
mgh.connect(ip,port.data)...
poderia conectar-se facilmente a um servidor remoto com o número de IP e porta especificado e enviar os dados posteriormente (ou algo assim). agora as pessoas podem fazer tudo isso usando uma única linha, mas o que acontece é que muitos códigos estão sendo executados, que foram recuperados do arquivo mgh. e empacotá-lo não foi para acelerar o processo de execução, mas para facilitar o trabalho de outros programadores. então aqui, se alguém quiser usar seu código primeiro, ele deve importar o arquivo e, em seguida, o intérprete python reconhecerá todo o código nele e assim poderá interpretá-lo.
Agora, se você deseja criar uma linguagem de programação e executá-la, primeiro ela precisa de uma tradução. Por exemplo, digamos que você crie um programa que possa entender a sintaxe e convertê-lo em c, neste caso após a tradução. para c, o resto seria resolvido pelo compilador c, depois pelo assembler, vinculador, .... mesmo que você tenha que pagar o preço de ser mais lento, pois ele deve ser convertido em c primeiro.
Agora, outra coisa que você pode fazer é criar um programa que traduza todo o código para a linguagem assembly equivalente, exatamente como acontece com c, mas, neste caso, o programa poderá fazê-lo diretamente e a partir daí o resto será feito pelo vinculador. sabemos que esse programa é chamado de compilador.
Então, o que eu estou falando é que, o único código que o sistema entende é 0,1, então de alguma forma você deve converter sua sintaxe para isso, agora em nossos sistemas operacionais muitos programas diferentes como assembler, linker e ... foi criado para dizer que, se você pudesse converter seu código em assembly, eles poderiam cuidar do resto ou, como eu disse, você poderia usar outros compiladores de linguagens de programação convertendo seu código para esse idioma.