En teoría los lenguajes CLR son multiplataforma al ser interpretados y no compilados. Ahora, para que lo sean completamente (y realmente multiplataforma), las implementaciones para los diferentes SO deben ser compatibles entre sí COMPLETAMENTE, cosa que, aunque bastante bien, todavía no es 100% cierta (p. ej. Windows Forms).
Portable: que se puede hacer ejecutar el programa en otros sistemas operativos / máquinas haciendo leves modificaciones en el código (desde que se piense de antemano) o a veces solo recompilando.Multiplataforma: El mismo programa sin recompilación o modificación alguna se ejecuta normalmente en cualquier otro sistema/máquina.
Cita de: "JuanK" Portable: que se puede hacer ejecutar el programa en otros sistemas operativos / máquinas haciendo leves modificaciones en el código (desde que se piense de antemano) o a veces solo recompilando.Multiplataforma: El mismo programa sin recompilación o modificación alguna se ejecuta normalmente en cualquier otro sistema/máquina. ¿Esa definicion es tuya?http://en.wikipedia.org/wiki/Multiplatform
Por otro lado no creo que MONO soporte todos los S.O.s y/o procesadores donde existen compiladores de C.
Cita de: "Geo" En teoría los lenguajes CLR son multiplataforma al ser interpretados y no compilados. Ahora, para que lo sean completamente (y realmente multiplataforma), las implementaciones para los diferentes SO deben ser compatibles entre sí COMPLETAMENTE, cosa que, aunque bastante bien, todavía no es 100% cierta (p. ej. Windows Forms). En base a esto me pregunto: ¿Que es realmente multiplaforma entonces? ¿El binario o la maquina virtual?
Creo que hay dos tipos de "multiplataforma", el original (por ser mas antiguo) es el que se aplica al CODIGO FUENTE y esta ligado a los lenguajes compilables y otro, que es mas moderno, y se aplica sobre los BINARIOS y esta ligado a los lenguajes interpretados (o que se ejecutan en una maquina virtual, etc).
desde luego el binario es multiplataforma pero debe existir una maquina virtual para cada OS.
Esa definición es tuya? no encontré en wikipedia nada que hable de tipos de multiplataforma.
Respecto a lenguajes antiguos soy ignorante, como funcionaba un lenguaje multiplataforma viejo?el mismo lenguaje y el mismo ensamblado se ejecutaba siempre? sino usaban una vm como funcionaban?
Bueno aca esta mas puntual, para los amigos de las definiciones exactas:http://es.wikipedia.org/wiki/Portablehttp://es.wikipedia.org/wiki/Multiplataforma
Intermediate Language (IL) code is abstracted, language independent code that satisfies the .NET CLR's Common Intermediate Language (CIL) requirement. The term "Intermediate" refers to the nature of IL code as cross-language and cross-platform compatible. This intermediate language, similar to bytecode in the Java programming language, allows platforms and languages to support the common .NET CLR (rather than vice versa). IL supports object-oriented programming (polymorphism, inheritance, abstract types, etc.), exceptions, events, and various data structures. IL code is assembled into a .NET PE for execution by the CLR.
Creo que nadie tiene 100% claro lo que diferencia a un termino de otro, y por otro lado:aca dice que el CIL es multiplataforma: