Eu também não conhecia a Lei de Atwood, até que o Cesar Cardoso a citou. Diz ela:
Qualquer aplicação que possa ser escrita em JavaScript, será eventualmente escrita em JavaScript.
Tudo isso foi só para dizer que fizeram um port do DOSBox para JavaScript. A notícia está aqui, e o código está no GitHub.
Pronto, agora pode recolher o que sobrou do seu cérebro.
Essa “lei” é pouco relevante porque converter qualquer coisa para JavaScript é trivial e pode ser feito automaticamente: um compilador é feito de duas partes, o front-end (vanguarda), que é específico da linguagem (por exemplo, C ou Pascal) e gera uma representação intermediária que é genérica, e um back-end (retaguarda) que transforma essa representação intermediária em código executável.
Normalmente o backend gera assembly/linguagem de máquina, mas o emscripten gera JavaScript ao invés de assembly, o que permite rodar praticamente qualquer coisa no browser. Na prática “JavaScript” está sendo usado como o assembly de uma máquina virtual.
Um exemplo famoso são os caras que usaram para transcompilar o DOSBOX (o emulador de PC com MS-DOS) para JavaScript; também rolou isso com o RetroArch e um monte de emuladores (inclusive MAME, emulador de Nintendo 64, etc.)
Humm… Cuidado pra não acabar “diminuindo” o trabalho do pessoal, não é tão simples assim.
Para as partes que são algoritmos puros o que vc falou é parcialmente verdade, mas mesmo assim ainda tem todas as otimizações e tal. Mas toda a parte de interface da aplicação, que não é pequena, incluindo toda a GUI, inputs, comunicação, etc., tem que ser repensada e reimplementada. Tudo que é simplesmente “portado” sem ser repensado para o ambiente de uso normalmente fica bem ruim. Algumas coisas até podem ser impossíveis de se fazer dentro de um Browser.