Meilleur OS pour le développement java? [fermé]


Quel est le meilleur système d'exploitation pour le développement Java? Les gens de Sun poussent le Solaris, oui Solaris ont quelques fonctionnalités supplémentaires incluses en soi telles que (DTrace, possibilité de réglage des performances de la JVM, etc.. ). Certains de mes amis, avaient porté leur application sur solaris, et ils m'ont dit que les performances étaient brillantes. Je ne suis pas content de changer mon système d'exploitation et d'utiliser Solaris à la place.

Quelles ont été vos expériences?

Author: vaske, 2008-11-02

14 answers

Des trois que j'ai utilisés (Mac OS X, Linux, Windows), je considère Linux comme le meilleur endroit pour faire du développement Java.

Ma machine personnelle principale est un Mac, et j'y ai fait beaucoup de développement Java et j'en ai été satisfait. Malheureusement, cependant, Apple est à la traîne par rapport aux versions officielles de JDK et vous êtes à peu près limité aux quelques versions qu'ils choisissent de fournir.

La machine fournie par mon employeur est une vieille caisse P4 de HP que j'utilise principalement pour garder mes pieds au chaud. Le le vrai travail se produit "Oberon", sur un quad-core 2.6 GHz exécutant Ubuntu 8.04 en mode 32 bits [1]. Les deux avantages que je remarque au jour le jour par rapport à Windows sont:

  1. Une ligne de commande puissante, qui m'aide à automatiser les petites choses ennuyeuses.
  2. Loin performances supérieures du système de fichiers. (J'utilise actuellement EXT3 parce que je deviens conservateur dans ma vieillesse. J'ai utilisé ReiserFS précédemment, ce qui était encore plus rapide pour les types d'opérations que l'on effectue généralement sur les grands espaces de travail extrait de subversion.)

Vous pouvez également obtenir ces avantages d'un mac, mais Linux offre un autre bon bonus:

  • Remote X11: Avant que mon EMPLOYER EMPLOYEUR ne fournisse un e-mail et un calendrier via le Web, je devais être sur la boîte Windows pour lire mon courrier et voir mes réunions, j'ai donc utilisé X11 de Cygwin. Cela m'a permis d'exécuter les choses sur Linux mais de les afficher sur mon bureau Windows.

[1] J'avais l'habitude d'exécuter Ubuntu en mode 64 bits, mais je n'avais pas de fin difficulté. (Mélanger 64 bits et 32 bits est quelque chose que Mac OS X fait beaucoup mieux.) 7.04 a bien fonctionné en exécutant des applications 32 bits sur le noyau 64 bits. 7.10 a cassé le script linux32 et la possibilité d'installer de nouvelles applications 32 bits bien que les anciennes aient continué à fonctionner (principalement). 8.04 a tué java 32 bits en rendant impossible la connexion au réseau à partir d'une JVM 32 bits (plus de mises à jour pour Eclipse). L'exécution d'Eclipse 64 bits n'a pas fonctionné de manière fiable. La version actuelle d'oXygen ne fonctionnerait que (à contrecœur) sous la machine virtuelle IBM 64 bits qui fonctionnerait pendant environ 10 minutes jusqu'à ce qu'elle cesse d'obtenir des événements de clavier. J'ai finalement abandonné dans la frustration et utilisé mon Mac pendant quelques mois jusqu'à ce que j'ai eu assez de temps libre pour faire une installation 32 bits de 8.04 sur la boîte linux. Maintenant, tout fonctionne à nouveau et je suis très heureux.

 38
Author: bendin, 2008-11-02 08:43:46

Développez ce que vous voulez. En tant que programmeur java, vous voudrez peut-être éviter Mac OS X, principalement parce que les nouvelles fonctionnalités semblent avoir été considérablement retardées, et aussi parce que vous pouvez constater que vous n'avez plus de machine qui prend en charge les nouvelles versions de Java. Cela dit, j'imagine que le développement sur Mac OS X doit être très agréable (interface de ligne de commande, dtrace, nice OS).

Je développe sur Windows avec IntelliJ 7. C'est ok, mais a besoin de matériel lourd. Je me déploie ensuite sur solaris / linux. À moins d'écrire des interfaces graphiques ou d'intégrer du code C++, vous devriez bien choisir ce qui vous plaît.

 11
Author: Egwor, 2008-11-01 22:10:59

"développement" ?

Je crois que vous devriez vous en tenir au système d'exploitation avec lequel vous êtes le plus à l'aise, ou qui est le plus disponible pour un grand groupe (de développeurs), comme par exemple un ensemble de PC sous Windows.

Il est rare d'avoir besoin de faire un réglage en profondeur sur la plate-forme development.

Vous réserveriez tous ces réglages dtrace et autres performances à assembly platform (par exemple sous Linux), pour les déploiements quotidiens où tout est recompilé et l'unité testée.

Et puis vous pouvez configurer une JVM spéciale (comme IBM JRockit au lieu de Sun JRE) pour faire une analyse sur votre plate-forme d'intégration, où tout votre système peut être testé de l'avant vers l'arrière, avec stress et test de non-régression

Et enfin, faire tous les UAT (Tests d'acceptation de l'utilisateur) sur une plate-forme de pré-production (qui peut être un F15K coûteux ou SunFire880 ou V490 ou...), avec la cible JRE utilisée là-bas.

Mon point est: il y a tellement de paramètres à prendre en entre le développement et la mise en production, le changement de système d'exploitation à un stade aussi précoce peut s'avérer inutile.

 7
Author: VonC, 2008-11-01 22:07:46

Développez sur ce qui vous plaît et testez sur ce sur quoi vous déployez.

Je peux développer Java sur mon Mac, et déployer sur Solaris et Linux. La vérité est que pour la majeure partie des tâches, Java peut être développé de manière indépendante du système d'exploitation. Cela est particulièrement vrai pour le développement côté serveur.

J'aime développer sur un Unix en général sur une boîte Windows, mais c'est moi.

 6
Author: Will Hartung, 2008-11-01 22:08:15

Je dirais Mac OS X.

Développement Java intégré. Tous les outils de ligne de commande unix que vous voulez. Hors de la boîte. Ant et maven sont là. Pas les dernières versions, mais c'est assez facile à mettre à niveau.

Oui, vous n'avez peut-être pas la toute dernière version du JDK, mais vraiment, sauf si vous avez besoin de développer pour le dernier et le plus grand JDK, ce ne sera pas un problème.

 6
Author: tunaranch, 2008-11-01 23:23:00

La réponse est plus facile que vous ne le pensez: utilisez votre système d'exploitation préféré. Pour Java, c'est la meilleure réponse. Pas le développement lui-même, mais votre confort aidera votre succès, la navigation dans les documents, etc. dans votre environnement préféré.

 2
Author: Szundi, 2008-11-02 00:44:21

Personnellement, je ne dérangerais pas. J'utiliserais la plate-forme qui prend le mieux en charge les outils de développement et la plate-forme cible que vous utilisez.

Pourquoi avez-vous besoin de régler la JVM? C'est une chose très inhabituelle à vouloir faire. Seriez-vous mieux d'écrire dans un langage de niveau inférieur comme C++?

Dtrace est disponible pour OS X, il y a aussi un port linux. Solaris a toujours eu la réputation d'être lent (d'où le surnom de Slowaris). Je ne sais pas si c'est toujours vrai.

 1
Author: Dave Hillier, 2008-11-01 22:06:59

J'ai eu du succès avant de faire du développement Java sous Windows avec Eclipse. On dirait que vous posez également des questions sur le déploiement/l'hébergement. Quel que soit le système d'exploitation sur lequel exécuter votre application ne devrait pas vraiment prédire quel système d'exploitation vous utilisez pour développer l'application.

 0
Author: Peter M, 2008-11-01 22:06:50

Windows et Eclipse fonctionnent bien, comme l'a suggéré pmiller. Je peux également recommander OS X avec Eclipse ou IntelliJ IDEA(ce dernier fonctionne également sur Windows).

Je n'ai jamais fait que le développement Java le plus basique sur Solaris (pratique de programmation de basic data structures à l'Université), donc je ne peux pas offrir de comparaison réelle, j'en ai peur. J'ai trouvé cela assez douloureux sur Solaris, cependant, en raison d'un manque d'outils appropriés (je pense que j'étais limité à nedit ou quelque chose du genre).

 0
Author: alastairs, 2008-11-01 22:09:25

Une chose que vous devez prendre en compte est de savoir si vous allez développer une application qui pourrait être exécutée sur un mac. J'adore OS X, mais bon vieux steve fait en sorte que nous sommes toujours beaucoup de versions JDK derrière. Nous avons à peine eu la version 6 de Java. Développer sur un mac peut au moins vous assurer que vous travaillez sous la version JDK la plus basse possible.

 0
Author: Uri, 2008-11-01 22:22:50

J'ai utilisé Linux, Windows et OS X. Mon grand argument en faveur d'OS X est qu'il est un système d'exploitation convivial (ie. Je peux exécuter iTunes, la plupart des navigateurs modernes, et je n'ai pas besoin d'allouer 50% de mon temps à le maintenir sur un ordinateur portable comme linux) avec une base Unix. Comme la plupart de mes développements sont pour les systèmes Unix, cela rend la vie extrêmement plus productive. En outre, il y a une communauté de développement de plus en plus active derrière la plate-forme ici. Ces raisons fonctionnent également en sens inverse pour Windows-while cygwin ferme certaines de mes exigences pour l'utilisation des outils Unix - ce n'est rien comme avoir un vrai système unix.

 0
Author: James, 2008-11-04 06:16:38

Votre environnement de développement DOIT ÊTRE LE MÊME QUE LA PRODUCTION.

Il n'y a pas de "meilleur environnement de développement" qui ne soit pas identique à votre environnement de production. Exécutez ce que vous exécutez en production, en développement.

Cela dit, cela ne signifie pas que vous ne pouvez pas exécuter votreE, par exemple, sur un autre système d'exploitation, à condition que vous fassiez toujours du développement sur le même système que la production (sur une autre machine, ou une machine virtuelle, par exemple).

 0
Author: MarkR, 2008-11-04 06:57:58

Windows est très bien.

Solaris est aussi un merveilleux environnement de développement Java (je l'aime mieux que Windows, mais pour des raisons subjectives), mais à moins que vous ne déployiez dessus, cela ne vaut peut-être pas la peine de passer à.

Linux est un peu maladroit pour le développement Java, mais faisable.

Le seul que je ne peux pas recommander est Mac car ils sont toujours aussi loin derrière sur la version de Java disponible (non fournie par Sun, Apple fait la leur).

 0
Author: Brian Knoblauch, 2008-12-26 17:40:05

Mon meilleur conseil est de développer sur la plateforme que vous ciblez. De cette façon, lorsque vous l'exécutez pendant vos tests de développement et exécutez vos tests unitaires, vous savez que cela fonctionnera également sur la plate-forme cible, sans mauvaises surprises.

Si vous ciblez toutes les plates-formes, vous voudrez peut-être développer sur un Mac car vous obtiendrez les surprises les plus désagréables sur le Mac. En ce qui concerne Java, sur Windows et Unix, "ça marche juste", mais pas tellement sur Mac. Soleil développe l' Java runtime (JRE) pour tous les systèmes d'exploitation sauf Mac. Apple développe son propre JRE.

Si vous développez sur le Mac, vous développez probablement contre le moins commun dénominateur, donc ce qui fonctionne sur Mac devrait fonctionner sur les autres. Cela a été mon expérience.

Sauf cela, je vous recommande toujours de choisir le système d'exploitation en fonction de l'exécution de votre logiciel. Choisissez le système d'exploitation qui exécute votreE et les autres outils que vous utilisez pour le développement et les tests. Si plus d'un OS exécute les outils dont vous avez besoin, choisir celle qui fonctionne le mieux.

 0
Author: Marcus Adams, 2009-09-04 20:56:24