¿En qué plataformas está allí ninguna JVM, o una JVM con una funcionalidad limitada en comparación con Windows o Linux

StackOverflow https://stackoverflow.com/questions/4248451

Pregunta

El contexto de esta pregunta es un debate entre C y los usuarios de Java. Las reivindicaciones C de usuario que un backend C es más portátil que JVM. Esto es cierto si nos encontramos con una plataforma sin pre-existentes de apoyo o soporte JVM relativamente débil. cualquier persona en desbordamiento de pila se ha encontrado con una plataforma de este tipo? Podríamos montar una lista de ejemplos?

¿Fue útil?

Solución

Cualquier plataforma que no sea x86 y x86_64 tiende a tener poco apoyo JVM.

Otros consejos

No entiendo la "portabilidad" de C en este contexto. Si quiere decir que se puede compilar "hola mundo" para cualquier CPU - entonces sí C es más portátil. Pero ¿Se puede hacer cualquier interfaz gráfica de usuario o de la red portátil, etc multihilo con C? Sí, U puede utilizar QT o alguna similar. Pero se trata de una portabilidad? Java es una plataforma pero C es un lenguaje. En mi humilde opinión es cosas muy diferentes

Cualquier cosa corriendo ARM o MIPS es poco probable que tenga la plena JDK disponible, aunque puede tener acceso a J2ME.

"Más portátil" probablemente no es la mejor pregunta que hacer. Lo que hay que hacer es identificar las plataformas que razonablemente necesidad de apoyar, y averiguar si C y / o Java están disponibles para ellos. Si ambos están disponibles portabilidad entonces no es un problema para usted. El hecho de que C está disponible en más plataformas (que probablemente lo sea), muchos de los cuales podrían no ser tan evidente, es irrelevante.

Si esto es sólo un debate abstracto entonces la respuesta apropiada es "a quién le importa"?

EDIT:. En respuesta a los comentarios

Esto no se trata sólo de "los azotes de un producto de esta semana". Si el idioma de la cubierta de escritorio a continuación, Windows, Mac y Linux sobre 99,999999999% de las instalaciones (más o menos un par de nueves), y todos tienen Java.

Si el idioma de los dispositivos móviles a continuación, puede mirar hacia arriba que tienen Java, pero de todas maneras tendrá que hacer el trabajo al puerto entre ellos y usar C no va a ayudarle.

¿Qué otras plataformas estabas considerando la orientación? IBM 370? VAX diciembre? OS9? Si no se puede pensar en una plataforma en la que desea que el objetivo no es uno de los anteriores, entonces mayor portabilidad está desperdiciando su propio tiempo. Y recuerda que todo ser el desarrollo de C igual lo demás será más lento que Java. Si va a pasar su tiempo a escribir valiosa en C será mejor que estar recibiendo algo de él que es probable que se necesiten.

Si usted está buscando para crear una 'caja de herramientas universal' que se puede utilizar en diferentes proyectos en los próximos años diez, a continuación, 'un idioma' no va a ayudar. Si está trabajando en un proyecto de Java, la incorporación de código C es bastante complicado que probablemente no va a ser vale la pena hacerlo, incluso si las consideraciones de seguridad que permiten. Lo que es probable que necesitamos es un conjunto de herramientas diferentes para cada idioma tiene la intención de trabajar en - uno para Java, una para C, etc. El kit C probablemente incluirá cosas como matrices extensibles, y otras cosas que viene gratis en Java. De cualquier manera:. Elegir primero el idioma para cada proyecto, a continuación, extraiga el kit de herramientas apropiadas para ese idioma

La lista de JVM descargas puede ser encontrado aquí .

No tengo ninguna experiencia particular en apoyo JVM, pero en la superficie se ve como Windows, Linux, Solaris y OS X son compatibles. Creo que si está ejecutando cualquier otra cosa, a continuación, Java no es el camino a seguir ...

Aquí está una lista bastante completa de todos los sistemas operativos. Siento decir que no hay JVM para Amiga o ProDOS.

C sólo es portátil si el código de una manera portátil. Pero el tamaño de textos, soporte de la biblioteca, etc toda la materia al hacer esto. Casi siempre se tendrá que volver a compilar un programa para una plataforma de destino.

Java fue diseñado para ser un lenguaje portátil; se puede tomar un programa de 32 bits y de 64 bits se ejecute en una máquina virtual sin cambios (a menos que se le cae a JNI).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top