Salve, Clayton8!
A sua pergunta é sensacional, e eu vou aproveitar esse gancho pra falar um pouquinho da história da computação.
No começo do século XX, o tubo à vácuo foi inventado. Esse dispositivo permitia controlar correntes elétricas, e usava ele mesmo uma corrente elétrica como entrada. Assim, um tubo poderia controlar um outro tubo, e desta forma você pode concatenar vários tubos para formar sistemas complexos (e, sim, dá até pra fazer uns sistemas com retroalimentação com isso).
Essa inovação foi potencializada por um formalismo matemático ainda mais antigo, a álgebra Booleana. Basicamente, esta álgebra tratava sobre proposições que poderiam ser falsas ou verdadeiras - e sobre as derivações possíveis a partir de um certo conjunto de proposições. O mais louco é que, se nós representarmos nossos números decimais em base 2, esse formalismo nos permite até fazer operações matemáticas, como, por exemplo, a soma de dois números.
Para realizar essa operações, nós combinamos nossos tubos à vácuo (ou os mais modernos transistores) de forma que eles componham uma porta lógica. As portas lógicas recebem entradas booleanas (TRUE or FALSE) e produzem saídas booleanas. Se vc quiser ver um exemplo de como "brincar" com essas portas sem uma linguagem de programação, aqui vai um vídeo muito massa em que essas portas são implementadas por moléculas de DNA (pois é!), e são usadas para simular um jogador de jogo da velha (pois é em dobro!).
Agora eu vou dar um zoom out das portas lógicas e circuitos somadores para uma estrutura ainda mais complexa em nossos comuptadores: a Unidade Lógica-Aritmética (ULA). Este componente é o cérebro do seu processador, e ela é simplesmente o conjunto de os seus circuitos lógicos para operações matemáticas, como soma, multiplicação, comparação, shift (quando vc desloca seus bits para a direita ou para esquerda dentor do byte) e até transformada de Fourier. Para decidir qual operação usar dentro da ULA, o seu código tem literalmente bits que serão um ou zero para selecionar cada componente.
Por exemplo, imagina que eu tenho um processador que sabe fazer quatro coisas. Eu posso selecionar qual função utilizar com dois bits:
00: soma
01: multiplicação
10: comparação
11: shift
A cada ciclo do processador, ele vai olhar minha lista de instruções (provavelmente, da minha memória - ou mesmo de dentro de um disquete flexível) e escolher a função que eu coloquei no programa. Cada função pode precisar de mais dados (os números que serão multiplicados, ou quantos bits serão deslocados no shift), e podemos adicionar mais bytes a cada instrução. Tudo isso é levado em conta na hora de projetar a ULA.
Com o passar do tempo, certas funções começaram a ser utilizadas com mais frequência - por exemplo "potência" (um número elevado a outro). Para atender às necessidades dos clientes, os produtores de processadores começaram a fazer processadores cada vez mais complexos. Entretanto, isso fazia com que a frequência dos processadores precisasse diminuir, para dar tempo de todas as portas lógicas processarem informações tamb;em mais complexas. Em paralelo, algumas iniciativas de linguagens de programação, que permitiriam escrever um único programa que seria posteriormente "traduzido" para processadores diferentes, também tornavam-se mais populares. Entretanto, os compiladores nem sempre utilizavam todas as instruções místicas de cada processador. Há uns 50 anos, a indústria começou a criar processadores com arquitetura mais simples (chamados RISC - Reduced Instruction Set Computer), o que permitiu retormar o avanço de maiores frequências de processamento.
Mas, e hoje? Bem, se vc achar interessante produzir um processador com uma arquitetura nova, você não precisa escrever um compilador do zero. Você começar com um programa que entende um pequeno conjunto de instruções, e estas instruções te permitem compilar um programa um pouco mais sofisticado, até que vc possa compilar um programa que funcionará como um compilador completo - para quais línguas vc precisar. Por exemplo, você pode fazer um ou dois passos para chagar a um compilador de C e, depois, utilizar um compilador de Python e outro de Java escritos em C também.
E, respondendo a sua terceira pergunta: em cada linguagem, é interessante que cada nova versão seja compatível com especificações anteriores (backwards compatibility). Entretanto, nada impede que novas funções sejam adicionadas a linguagem já existentes. Mas fique esperto: sair aumentando as possibilidades de sintaxe de uma linguagem pode aumentar muito a curva de aprendizado, ou até gerar inconsistências que podem gerar bugs grotescos. É importante saber discernir o que é moda e o que realmente pode agregar para os desenvolvedores, para que todos possam usufruir de nossas ferramentas da forma mais eficiente possível.