Autor Tema: Duda java multiplataforma Java distintos sistemas operativos AprenderaProgramar  (Leído 9492 veces)

Sixtoex

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 105
    • Ver Perfil
Java es multiplataforma, es decir se programa una unica vez, eclipse lo COMPILA automaticamente genera un ByteCode.class(que por cierto es mitad codigo fuente y mitad codigo máquina) y con el interprete JRE, lo convierte a codigo máquina en tiempo real y así es posible ejecutarlo en cualquier sistema operativo con la extensión adecuada no?

Hasta aquí todo bien, la duda que me surge es: Las rutas de ubuntu son diferentes a las de windows y mac... osea imagina que estamos programando un programa que lee las carpetas de linux,y especificamos rutas, en windows son diferentes ¿entonces que sentido tiene esto?

Es decir en otros lenguajes de programación como es Pascal, se programa en cada sistema operativo,es decir si queremos un programa en windows, pues en windows lo hacemos si lo queremos en ubuntu pues en ubuntu(esto lo veo mas lógico) por que cada sistema operativo tiene diferentes rutas
« Última modificación: 10 de Noviembre 2014, 23:04 por Alex Rodríguez »

Gilding

  • Sin experiencia
  • *
  • Mensajes: 44
    • Ver Perfil
Re:Duda java multiplataforma AprendeaProgramar
« Respuesta #1 en: 10 de Noviembre 2014, 20:52 »
Hola Sintoex!

A priori yo creo que tiene mucho sentido y grandes ventajas.
Como dices, las rutas no son iguales en un sistema operativo y en otro. Tampoco lo serían las entradas de usuario, por ejemplo del teclado de Windows al de Mac. Y puede que incluso unas bibliotecas esten denominadas de distinta forma en uno u otro sistema, pero muchas al final hacen lo mismo, solo varia el nombre.
La gran ventaja que observo yo, es que el grueso de la aplicación no varia en absoluto de una plataforma a otra. No tienes que reescribir la aplicación completamente desde cero para adaptarla de un sistema operativo a otro. Simplemente con cambiar las rutas de los archivos, modificar los inputs (algo más acuciante si pasas de un sistema de "sobremesa" a uno móvil, por ejemplo), modificar la sintaxis de las llamadas a algunas bibliotecas, y algunas cosillas más y voila! tienes exactamente la misma aplicación, exportada a distintos sistemas operativos.

Es mi humilde opinión, pero a mi parecer es un gran avance el no tener que reescribir toda la aplicación de nuevo.

Un saludo!

Sixtoex

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 105
    • Ver Perfil
Re:Duda java multiplataforma AprendeaProgramar
« Respuesta #2 en: 10 de Noviembre 2014, 21:12 »
mmm, muchas gracias

Es decir el propio java, te ayuda por así decirlo,para que no te sea complicado adaptar esa misma aplicación unica en varios sistemas operativos de forma sencilla, mientras que en lenguajes de programación como Pascal por ejemplo tienes que adaptar desde 0 una aplicación en los distintos lenguajes

Interesante.

Gracias.

Sixtoex

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 105
    • Ver Perfil
Una pregunta el byteCode que tiene de extensión .class, eso se puede convertir en la extensión que yo quiera no? es decir no tiene ningun sentido hacer un programa para windows y pasarle a alguien el .class, tendría que convertirlo no?

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Hola Sistoex, el .class es bytecode, por tanto no tienes que hacer ningún cambio para pasarlo de sistema operativo. El compilador genera bytecode, ese bytecode te lo puedes llevar a Windows, a Linux, a Unix o a donde tú quieras, y es la máquina virtual Java quien se encargará de convertir ese bytecode en el código máquina propio de la máquina. En Java en lugar de tener muchos ejecutables distintos lo que tienes son muchas máquinas virtuales distintas. Saludos!!!

Sixtoex

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 105
    • Ver Perfil
 ???

Hola, pero como ejecuto ese .class en windows por ejemplo ¿con el cmd? yo lo que quiero es que cuando termine de programar el programa, pueda ejecutarlo sin necesidad de utilizar un IDE.

« Última modificación: 12 de Noviembre 2014, 09:46 por Sixtoex »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Hola, para esto puedes crear un ejecutable java (.jar) que será ejecutado por la máquina virtual java sobre el sistema operativo que toque: windows, linux, etc. Con el ejecutable ya no necesitas un ide, por ejemplo podrías enviarle el .jar a un amigo por correo electrónico para que lo ejecute en otro ordenador  ::)

Sixtoex

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 105
    • Ver Perfil
ok muchas gracias  ;)
« Última modificación: 13 de Noviembre 2014, 12:45 por Mario R. Rancel »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".