¿Cómo puedo decir en inglés que ese lenguaje de programación se puede compilar a otros lenguajes de programación?
El ejemplo puede ser Haxe . En el sitio web, el idioma se describe como "Multiplataforma":
Multiplataforma: Haxe se puede compilar en todas las plataformas de programación populares con su compilador rápido: JavaScript, Flash, NekoVM, PHP, C ++, C # y Java (pronto)
pero la multiplataforma puede malinterpretarse como plataformas de hardware o software (win, mac, linux).
Entonces, ¿cuál es la palabra más adecuada para describir esta habilidad?
Respuestas:
El término habitual es "transcompilación", no un término común, pero técnicamente correcto. Tampoco es solo para los nuevos y modernos lenguajes de scripting (CoffeeScript -> JavaScript); los primeros compiladores de C ++ fueron de hecho transcompiladores a C.
fuente
Lo siento, caballeros, pero la palabra para esto es simplemente "compilada" . Significa convertir un tipo de código en otro tipo de código. No hay diferencia real si ese código es inglés, C ++, código de máquina x86, código de máquina ARM, Java, bytecode o vuelve al inglés. Generalmente lo usamos para referirnos al viaje del lenguaje de programación al código de máquina, pero ese es un aspecto que la palabra ha ganado con el tiempo. Y oye, si suficientes personas comienzan a usar una palabra de manera incorrecta, de hecho GANA ese nuevo significado. Pero si quieres una palabra para convertir Haxe en C ++, la palabra es "compila" .
(Además, estoy ignorando a Merriam-Webster, porque son estúpidos porque no están de acuerdo conmigo ... hmmmm)
fuente
Tal vez esta sea una pregunta para https://english.stackexchange.com/, sin embargo, diría que el proceso de compilación incluye la compilación en otro lenguaje de alto nivel y no solo se limita a los compiladores que compilan hacia el código de máquina nativo.
Como palabra "compilar" no es específica de los compiladores de computadora y es bastante general. Me viene a la mente "compilar una tabla" o "compilar una lista de nombres", por lo tanto, es lo suficientemente amplio para muchos propósitos (los procesadores de texto también compilan Latex, etc.). Para ser más específico sobre el objetivo de la compilación, usaría to-source-compiler
Ahora, para el ejemplo específico, creo que plataforma es una palabra apropiada para usar. Dado que los lenguajes humanos son intrínsecamente ambiguos, debe usar la redundancia (ejemplos, parafraseando con otras palabras, explicando) para transmitir el punto en caso de duda.
También leería la declaración "Haxe" de una manera que incluye bibliotecas estándar y cosas similares. Es decir, en ese caso, la plataforma sería un superconjunto de "lenguaje" y podría separarlo de eso llamándolo "plataforma de desarrollo de software", etc.
fuente
Puede decir que un compilador tiene los idiomas X, Y y Z como objetivos de traducción , o diseñar un idioma con esos objetivos en mente.
fuente
Yo diría que el compilador por definición se traduce a un lenguaje de programación diferente (al menos esta es la definición que conozco, un programa que transforma un lenguaje en otro). Por ejemplo, la mayoría de los compiladores de C producen ensamblaje como salida. Los compiladores de ensamblados toman esta salida y la transforman en el código binario que también es un lenguaje (seguro, probablemente nadie escribe escribe en él durante los últimos 40 años o más, pero técnicamente es un lenguaje), que puede tomarse y compilarse para decir micro- operaciones por procesadores (o hay ciertas operaciones realizadas por el vinculador en archivos de objetos). Del mismo modo el
javap
compila en bytecode. Por lo general, al final de dicha cadena hay un intérprete que ejecuta el código final (ya sea CPU, GPU o programa ejecutado). 'No existe tal cosa' como código de máquina, ya que el x86 moderno recompila los programas en operaciones internas (micro-operaciones) y soy perfectamente capaz de tratar el código de máquina ARM como lenguaje interpretado en x86 o al revés (en algunos casos incluso recompilar de una forma a otra).Haxe es un compilador de fuente a fuente, ya que no transforma el lenguaje de nivel superior en el nivel inferior como en los ejemplos anteriores. No parece abordar directamente su problema de ambigüedad multiplataforma, pero desafortunadamente no creo que haya una forma práctica de diferenciación entre esas dos cosas: las API son un tipo de lenguajes que pueden interpretarse, compilarse, etc., en general.
fuente
Lo primero es lo primero: no sé si ya hay una palabra adecuada para esta función.
¿Pero tal vez podría llamarse multilenguaje? ¿O el lenguajeagnóstico? Como se trata más del lenguaje de programación, la mención de 'lenguaje' en el nombre podría hacerlo más obvio que la multiplataforma.
Por supuesto, el lenguaje también es ambiguo, ya que se podría entender que el código fuente se puede escribir en cualquier idioma del mundo real (por ejemplo, porque las variables se pueden escribir en unicode).
Por otro lado, todos los programadores experimentados probablemente reconocerán tal construcción como diferente de la localización o la internacionalización, por lo que podrían 'obtenerla' más fácilmente.
Solo mis 2 centavos.
fuente