Como posso dizer em inglês que a linguagem de programação pode ser compilada para outras linguagens de programação?
O exemplo pode ser Haxe . No site, o idioma é descrito como "Multiplataforma":
Multiplataforma: O Haxe pode ser compilado em todas as plataformas de programação populares com seu compilador rápido - JavaScript, Flash, NekoVM, PHP, C ++, C # e Java (em breve)
mas multiplataforma pode ser mal interpretada como plataformas de hardware ou software (win, mac, linux).
Então, qual é a palavra mais adequada para descrever essa capacidade?
Respostas:
O termo usual é "transcompilação" - não é um termo comum, mas tecnicamente correto. Também não é apenas para as novas linguagens de script da moda (CoffeeScript -> JavaScript); os primeiros compiladores C ++ eram na verdade transcompiladores para C.
fonte
Desculpe senhores, mas a palavra para isso é apenas "compilada" . Significa transformar um tipo de código em outro tipo de código. Não faz diferença se esse código é inglês, C ++, código de máquina x86, código de máquina ARM, Java, bytecode ou volta ao inglês. Geralmente o usamos para significar a viagem da linguagem de programação ao código da máquina, mas esse é um aspecto que a palavra ganhou com o tempo. E ei, se pessoas suficientes começarem a usar uma palavra incorretamente, ela realmente ganhará esse novo significado. Mas se você quer uma palavra para transformar o Haxe em C ++, a palavra é "compila" .
(Além disso, estou ignorando Merriam-Webster, porque eles são estúpidos porque discordam de mim ... hmmmm)
fonte
Talvez essa seja uma pergunta para https://english.stackexchange.com/, mas eu diria que o processo de compilação inclui a compilação para outra linguagem de alto nível e não se limita apenas aos compiladores que compilam no código de máquina nativo.
Como uma palavra "Compilar" não é específica para compiladores de computador e é bastante geral. "Compilar uma tabela" ou "compilar uma lista de nomes" me vem à mente, portanto, é amplo o suficiente para diversas finalidades (processadores de texto como o Latex também compilam etc.). Para ser mais específico sobre o destino da compilação, eu usaria o compilador de origem
Agora, para o exemplo específico, acho que plataforma é uma palavra apropriada para usar. Como as línguas humanas são inerentemente ambíguas, você precisa usar redundância (exemplos, parafraseando com outras palavras, explicando) para esclarecer a questão em caso de dúvida.
Eu também leria a declaração "Haxe" de uma maneira que inclui bibliotecas padrão e coisas semelhantes. Ou seja, nesse caso, a plataforma seria um superconjunto de "linguagem" e você poderia separá-lo disso chamando-o de "plataforma de desenvolvimento de software" etc.
fonte
Você pode dizer que um compilador tem os idiomas X, Y e Z como destinos de tradução ou criar um idioma com esses destinos em mente.
fonte
Eu diria que o compilador, por definição, se traduz em uma linguagem de programação diferente (pelo menos essa é a definição que eu sei - programa que transforma uma linguagem em outra). Por exemplo, a maioria dos compiladores C produz montagem como saída. Os compiladores de assembly pegam essa saída e a transformam no código binário que também é uma linguagem (com certeza - provavelmente ninguém escreve gravações nele nos últimos 40 anos ou mais, mas tecnicamente é a linguagem) - que pode ser usada e recompilada para dizer micro- operações por processadores (ou há determinadas operações feitas pelo vinculador em arquivos de objeto). Da mesma forma, o
javap
compila em bytecode. Normalmente, no final dessa cadeia, existe um intérprete que executa o código final (seja CPU, GPU ou programa executado). Não existe 'código de máquina', pois o x86 moderno recompila os programas em operações internas (micro-ops) e sou perfeitamente capaz de tratar o código de máquina ARM como linguagem interpretada no x86 ou o contrário (em alguns casos, até recompilar de um formulário para outro).O Haxe é um compilador fonte a fonte , pois não transforma a linguagem de nível superior em linguagem de nível inferior, como nos exemplos anteriores. Parece não abordar diretamente o seu problema de ambiguidade de várias plataformas, mas infelizmente não acho que exista uma maneira prática de diferenciar essas duas coisas - as APIs são tipos de linguagens que geralmente podem ser interpretadas, recompiladas etc.
fonte
Primeira coisa: não sei se já existe uma palavra adequada para esse recurso.
Mas talvez isso possa ser chamado de multilíngue? Ou languageagnostic? Como é mais sobre a linguagem de programação, a menção de 'linguagem' no nome pode torná-la mais óbvia do que multiplataforma.
É claro que a linguagem também é ambígua, pois pode ser entendido que o código fonte pode ser escrito em qualquer idioma do mundo real (por exemplo, porque as variáveis podem ser escritas em unicode).
Por outro lado, todo programador experiente provavelmente reconhecerá esse construto como diferente da localização ou internacionalização, para que eles possam "entendê-lo" mais facilmente.
Apenas meus 2 centavos.
fonte