Pregunta

¿Cuál es el mejor sistema operativo para el desarrollo de Java? La gente de Sun está presionando el Solaris, sí, Solaris tiene algunas características adicionales incluidas en sí misma, como (dTrace, posibilidad de ajuste de rendimiento de la JVM, etc.). Algunos amigos míos tuvieron su aplicación en solaris y me dijeron que las actuaciones eran brillantes. No estoy contento con cambiar mi sistema operativo, y uso Solaris en su lugar.

¿Cuáles fueron tus experiencias?

¿Fue útil?

Solución

De los tres que he usado (Mac OS X, Linux, Windows), considero a Linux como el mejor lugar para hacer el desarrollo de Java.

Mi máquina personal principal es una Mac, y he hecho bastante desarrollo de Java allí y me ha gustado. Desafortunadamente, sin embargo, Apple está rezagado con respecto a las versiones oficiales de JDK y usted está bastante limitado a las pocas versiones que eligen proporcionar.

Mi máquina provista por el empleador es una vieja caja P4 de HP que uso principalmente para mantener mis pies calientes. El trabajo real se produce " Oberon " ;, en un quad-core de 2.6 GHz que ejecuta Ubuntu 8.04 en modo de 32 bits [1]. Las dos ventajas que observo día a día en comparación con Windows son:

  1. Una poderosa línea de comando, que me ayuda a automatizar las pequeñas cosas aburridas.
  2. Lejos rendimiento superior del sistema de archivos. (Actualmente estoy usando EXT3 porque me estoy volviendo conservador en mi vejez. Anteriormente usé ReiserFS, que fue incluso más rápido para el tipo de operaciones que se realizan normalmente en grandes espacios de trabajo que no se encuentran en Subversion).

También puedes obtener esas ventajas de un mac, pero Linux ofrece otra buena ventaja:

  • Remote X11: antes de que mi $ EMPLOYER proporcionara el correo electrónico y el calendario a través de la web, tenía que estar en la casilla de Windows para leer mi correo y ver mis reuniones, así que usé el X11 de Cygwin. Esto me permitió ejecutar las cosas en Linux pero mostrarlas en mi escritorio de Windows.

[1] Solía ??ejecutar Ubuntu en modo de 64 bits, pero no tenía fin de problemas. (Mezclar 64 bits y 32 bits es algo que Mac OS X hace mucho mejor). 7.04 funcionó bien ejecutando aplicaciones de 32 bits en el kernel de 64 bits. 7.10 rompió el script linux32 y la capacidad de instalar nuevas aplicaciones de 32 bits aunque las antiguas siguieron ejecutándose (en su mayoría). 8.04 mató a Java de 32 bits, lo que hace imposible conectarse a la red desde una JVM de 32 bits (no hay más actualizaciones para Eclipse). La ejecución de Eclipse de 64 bits no funcionó de manera confiable. La versión actual de oXygen solo se ejecutaría (a regañadientes) bajo la VM de IBM de 64 bits, que funcionaría durante unos 10 minutos hasta que dejara de recibir los eventos del teclado. Finalmente me rendí por la frustración y usé mi Mac durante unos meses hasta que tuve el tiempo de holgura suficiente para realizar una instalación de 8.04 de 32 bits en la caja de Linux. Ahora todo vuelve a funcionar y estoy bastante contento.

Otros consejos

Desarrolla en lo que quieras. Como programador de Java, es posible que desee evitar Mac OS X, principalmente porque las nuevas funciones parecen haberse retrasado significativamente y también porque puede descubrir que ya no tiene una máquina que admita las nuevas versiones de Java. Dicho esto, me imagino que el desarrollo en Mac OS X debe ser muy bueno (interfaz de línea de comandos, dtrace, buen sistema operativo).

Me desarrollo en Windows con IntelliJ 7. Está bien, pero necesita un hardware considerable. Entonces despliegue en solaris / linux. A menos que estés escribiendo GUI's o integrándote con el código C ++, deberías elegir lo que más te guste.

" desarrollo " ?

Creo que deberías ceñirte al sistema operativo con el que te sientas más cómodo o que sea el más accesible para un grupo grande (de desarrolladores), como por ejemplo un conjunto de PC en Windows.

Es raro tener que hacer ajustes en profundidad en la plataforma desarrollo .

Usted reservaría todos los ajustes de rendimiento y otros ajustes de rendimiento para la plataforma de ensamblaje (por ejemplo, en Linux), para implementaciones diarias donde todo se compila y se prueba por unidad.

Y luego puede configurar una JVM especial (como IBM JRockit en lugar de Sun JRE) para hacer un análisis en su plataforma de integración, donde se puede probar todo su sistema de frente a atrás, con pruebas de estrés y de no regresión. / p>

Y finalmente, realice todas las UAT (Pruebas de aceptación del usuario) en una plataforma de preproducción (que puede ser un F15K o SunFire880 o V490 caro o ...), con el JRE de destino utilizado allí.

Mi punto es: hay tantos parámetros que deben tenerse en cuenta entre el desarrollo y el lanzamiento a producción que el cambio de sistema operativo en una etapa tan temprana puede resultar innecesario.

Desarrolle lo que le satisface y pruebe sobre lo que implementa.

Puedo desarrollar Java en mi Mac e implementarlo en Solaris y Linux. La verdad es que para la mayor parte de las tareas, Java puede desarrollarse de manera independiente al sistema operativo. Esto es especialmente cierto para el desarrollo del lado del servidor.

Me gusta desarrollar en un Unix en general sobre una caja de Windows, pero ese soy yo.

Yo diría que Mac OS X.

Desarrollo de Java integrado. Todas las herramientas de línea de comandos de Unix que desee. Fuera de la caja. La hormiga y el experto están ahí. No son las últimas versiones, pero es lo suficientemente fácil de actualizar.

Sí, es posible que no tenga la última versión de JDK, pero en realidad, a menos que tenga la necesidad de desarrollar para el último y mejor JDK, no será un problema.

La respuesta es más fácil de lo que piensas: usa tu sistema operativo favorito. Para Java, es la mejor respuesta. No es el desarrollo en sí mismo, pero su comodidad lo ayudará a tener éxito, explorando documentos, etc. en su entorno favorito.

Personalmente, no me molestaría. Yo usaría la plataforma que mejor admita las herramientas de desarrollo y la plataforma de destino que usted usa.

¿Por qué necesitas afinar la JVM? Esto es algo muy inusual para querer hacer. ¿Sería mejor escribir en un lenguaje de nivel inferior como C ++?

Dtrace está disponible para OS X, también hay un puerto Linux. Solaris ha tenido históricamente una reputación de ser lento (de ahí el apodo de Slowaris). No estoy seguro de si esto sigue siendo cierto.

He tenido éxito antes de desarrollar Java en Windows con Eclipse. Parece que también está preguntando acerca de la implementación / alojamiento. El sistema operativo en el que mejor se ejecute su aplicación no debería realmente predecir qué sistema operativo utiliza para desarrollar la aplicación.

Windows y Eclipse funcionan bien, como sugirió pmiller. También puedo recomendar OS X con Eclipse o IntelliJ IDEA (este último también funciona en Windows).

Solo he hecho el desarrollo Java más básico en Solaris (práctica de programación de estructuras de datos básicos en la Universidad), por lo que no puedo ofrecer ninguna comparación real, me temo. Sin embargo, en Solaris me resultó bastante doloroso, debido a la falta de herramientas adecuadas (creo que estaba restringido a nedit o algo así).

Una cosa que hay que tener en cuenta es si va a desarrollar una aplicación que podría ejecutarse en un mac. Me encanta OS X, pero el viejo y bueno Steve se aseguró de que siempre hay muchas versiones de JDK detrás. Apenas obtuvimos Java 6. Al desarrollarse en un mac, al menos podemos asegurarnos de que trabajas con la versión más baja posible de JDK.

He usado Linux, Windows y OS X. Mi gran argumento a favor de OS X es que es un sistema operativo fácil de usar (es decir, puedo ejecutar iTunes, la mayoría de los navegadores modernos y no necesito asignar 50 % de mi tiempo manteniéndolo en una computadora portátil como Linux) con una base de Unix. Como la mayoría de mi desarrollo es para sistemas UNIX, esto hace que la vida sea mucho más productiva. Además, hay una comunidad de desarrollo más y más activa detrás de la plataforma aquí. Estas razones también funcionan a la inversa para Windows, mientras que cygwin cierra algunos de mis requisitos para usar las herramientas de Unix, no es nada como tener un sistema Unix real.

Su entorno de desarrollo DEBE SER EL MISMO QUE LA PRODUCCIÓN.

No hay " mejor entorno de desarrollo " que no es idéntico a su entorno de producción. Ejecute lo que ejecuta en producción, en desarrollo.

Dicho esto, eso no significa que no pueda ejecutar su IDE, por ejemplo, en otro sistema operativo, siempre que aún realice el desarrollo en el mismo sistema que la producción (en otra máquina o en una VM, por ejemplo).

Windows está bien.

Solaris también es un maravilloso entorno de desarrollo Java (me gusta más que Windows, pero por razones subjetivas), pero a menos que esté implementando en él, puede que no valga la pena cambiarlo.

Linux es un poco torpe para el desarrollo de Java, pero es factible.

El único que no puedo recomendar es Mac porque siempre están muy atrasados ??con la versión de Java disponible (no proporcionada por Sun, Apple hace la suya).

Mi mejor consejo es desarrollar en la plataforma a la que te diriges. De esa manera, cuando lo ejecute durante sus pruebas de desarrollo y ejecute sus pruebas unitarias, sabrá que también funcionará en la plataforma de destino, sin sorpresas desagradables.

Si está apuntando a todas las plataformas, es posible que desee desarrollarse en una Mac porque obtendrá las sorpresas más desagradables en la Mac. En cuanto a Java, en Windows y Unix, " simplemente funciona " ;, pero no tanto en Mac. Sun desarrolla el tiempo de ejecución de Java (JRE) para todos los sistemas operativos, excepto para Mac. Apple desarrolla su propio JRE.

Si desarrolla en Mac, lo más probable es que se desarrolle contra el denominador menos común, por lo que lo que se ejecuta en Mac debería ejecutarse en los demás. Esa ha sido mi experiencia.

Salvo que, siempre recomiendo que elija el sistema operativo en función de si ejecuta su software. Elija el sistema operativo que ejecuta su IDE y otras herramientas que utiliza para el desarrollo y las pruebas. Si más de un sistema operativo ejecuta las herramientas que necesita, elija la que mejor las ejecute.

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