Question

Quel est le meilleur système d’exploitation pour le développement Java? Les gens de Sun poussent le Solaris, oui, Solaris a quelques fonctionnalités supplémentaires incluses telles que (dTrace, possibilité de réglage des performances de la JVM, etc.). Quelques amis à moi, ont porté leur application sur solaris, et ils m'ont dit que les performances étaient brillantes. Je ne suis pas satisfait du changement de système d’exploitation et utilise plutôt Solaris.

Quelles ont été vos expériences?

Était-ce utile?

La solution

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

Mon ordinateur personnel principal est un Mac, et j’y ai consacré pas mal de développement Java, et j’en suis satisfait. Malheureusement, cependant, Apple est en retard sur les versions officielles du JDK et vous êtes plutôt limité aux quelques versions qu’ils ont choisi de fournir.

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

  1. Une ligne de commande puissante, qui m'aide à automatiser les trucs ennuyeux.
  2. Loin des performances supérieures du système de fichiers. (J'utilise actuellement EXT3 parce que je suis devenu conservateur à un âge avancé. J'utilisais auparavant ReiserFS, ce qui était encore plus rapide pour le type d'opérations que l'on effectue généralement sur de grands espaces de travail contrôlés en mode subversion.)

Vous pouvez également obtenir ces avantages sur un Mac, mais Linux offre un autre bonus intéressant:

  • Remote X11: Avant que $ EMPLOYER ne fournisse des e-mails et des calendriers via Internet, je devais être sur Windows pour lire mon courrier et voir mes réunions. J'ai donc utilisé Cygwin X11. Cela m'a permis d'exécuter les éléments sous Linux, mais de les afficher sur le bureau Windows.

[1] J'utilisais Ubuntu en mode 64 bits, mais je n'avais pas de problème. (Le mélange de 64 bits et de 32 bits est quelque chose que Mac OS X améliore beaucoup .) 7.04 fonctionnait parfaitement avec les applications 32 bits exécutées sur le noyau 64 bits. 7.10 a rompu le script linux32 et la possibilité d'installer de nouvelles applications 32 bits, bien que les anciennes applications continuent (principalement) à s'exécuter. 8.04 a tué java 32 bits en rendant impossible la connexion au réseau à partir d'une machine virtuelle Java 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 fonctionnait (à contrecoeur) que sous la machine virtuelle IBM 64 bits, qui ne fonctionnerait que pendant environ 10 minutes, jusqu’à ce qu’elle cesse d’obtenir des événements de clavier. J'ai fini par abandonner de frustration et j'ai utilisé mon Mac pendant quelques mois jusqu'à ce que je dispose de suffisamment de temps libre pour effectuer une installation 32 bits de 8.04 sur le système Linux. Maintenant, tout fonctionne à nouveau et je suis assez heureux.

Autres conseils

Développez ce que vous voulez. En tant que programmeur java, évitez peut-être Mac OS X, principalement parce que les nouvelles fonctionnalités semblent avoir pris un retard considérable, mais aussi parce que vous constaterez que vous n’avez plus un ordinateur prenant 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, joli système d’exploitation).

Je développe sous Windows avec IntelliJ 7. Tout va bien, mais nécessite du matériel lourd. Je déploie ensuite sur solaris / linux. Sauf si vous écrivez des interfaces graphiques ou intégrez du code C ++, vous devriez pouvoir choisir ce que vous voulez.

" développement " ?

Je pense 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 plateforme de développement .

Vous réserveriez tous ces dtrace et autres réglages de performances à la plate-forme d'assemblage (par exemple sous Linux), pour les déploiements quotidiens où tout est recompilé et testé par unité.

Ensuite, vous pouvez configurer une machine virtuelle Java spéciale (telle que IBM JRockit au lieu de Sun JRE) pour effectuer des analyses sur votre plate-forme d'intégration, où tout votre système peut être testé de l'avant à l'arrière, avec des tests de contrainte et de non-régression

Enfin, effectuez tous les tests d'acceptation des utilisateurs (UAT) sur une plate-forme de pré-production (qui peut être un coûteux F15K, SunFire880 ou V490 ou ...), avec le JRE cible utilisé.

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

Développez ce qui vous convient et testez ce sur quoi vous déployez.

Je développe Java sur mon Mac et le déploie sous Solaris et Linux. La vérité est que pour l'essentiel 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 Unix en général sur une machine Windows, mais c'est moi.

Je dirais Mac OS X.

Développement Java intégré. Tous les outils de ligne de commande Unix que vous souhaitez. Hors de la boîte. Fourmi et Maven sont là. Pas les dernières versions, mais c'est assez facile à mettre à jour.

Oui, vous n’avez peut-être pas la toute dernière version du JDK, mais vraiment, à moins d’avoir besoin de développer le dernier et meilleur JDK, cela ne posera pas de problème.

La réponse est plus simple que vous ne le pensez: utilisez votre système d’exploitation préféré. Pour Java, c'est la meilleure réponse. Ce n’est pas le développement lui-même, mais votre confort vous aidera à réussir, en parcourant les documents, etc. dans votre environnement favori.

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

Pourquoi devez-vous optimiser la machine virtuelle Java? C'est une chose très inhabituelle à vouloir faire. Seriez-vous mieux écrire dans un langage de niveau inférieur comme C ++?

Dtrace est disponible pour OS X. Il existe également un port Linux. Solaris a toujours eu la réputation d'être lente (d'où le surnom de Slowaris). Je ne sais pas si cela est toujours vrai.

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 il est préférable d’exécuter votre application, vous ne devez pas vraiment spécifier le système d’exploitation que vous utilisez pour développer l’application.

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 sous Windows).

Je n’ai jamais fait que le développement Java le plus élémentaire sous Solaris (pratique de la programmation des structures de données de base à l’Université); je crains donc de ne pas offrir de comparaison réelle. Cependant, j'ai trouvé cela très pénible sous Solaris, faute d'outils appropriés (je pense que j'étais limité à nedit ou à quelque chose du genre).

Vous devez notamment savoir si vous allez développer une application pouvant être exécutée sur un Mac. J'aime OS X, mais le bon vieux Steve veillait à ce que nous ayons toujours de nombreuses versions de JDK en retard. Nous venons tout juste de prendre Java 6. Développer sur un Mac peut au moins garantir que vous travaillez avec la version la plus basse possible du JDK.

J'ai utilisé Linux, Windows et OS X. Mon principal argument en faveur de OS X est qu’il s’agit d’un système d’exploitation convivial (c’est-à-dire que je peux utiliser iTunes, la plupart des navigateurs modernes, sans devoir allouer de ressources. % de mon temps à le maintenir sur un ordinateur portable comme Linux) avec une fondation Unix. Comme la plupart de mes développements concernent des systèmes Unix, cela rend la vie beaucoup plus productive. En outre, il existe une communauté de développement de plus en plus active derrière la plate-forme ici. Ces raisons fonctionnent également à l’inverse pour Windows - bien que cygwin mette fin à certaines de mes exigences concernant l’utilisation des outils Unix - ce n’est rien d’avoir un véritable système Unix.

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

Il n’existe pas de "meilleur environnement de développement". qui n'est 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 votre IDE, par exemple, sur un autre système d'exploitation, à condition de continuer à développer sur le même système que celui de la production (sur une autre machine ou une machine virtuelle, par exemple).

Windows va très bien.

Solaris est également un merveilleux environnement de développement Java (je l’aime mieux que Windows, mais pour des raisons subjectives), mais si vous ne le déployez pas, il ne vaut peut-être pas la peine de passer à.

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

Le seul que je ne puisse pas vous recommander est Mac, car ils sont toujours aussi en retard sur la version de Java disponible (non fournie par Sun, Apple en fait la leur).

Mon meilleur conseil est de développer sur la plate-forme que vous ciblez. Ainsi, lorsque vous l'exécutez au cours des tests de développement et des tests unitaires, vous savez qu'il fonctionnera également sur la plate-forme cible, sans mauvaise surprise.

Si vous ciblez toutes les plates-formes, vous souhaiterez peut-être développer sur un Mac car vous aurez les plus mauvaises surprises sur le Mac. En ce qui concerne Java, sous Windows et Unix, "cela fonctionne", mais pas autant que sur Mac. Sun développe le runtime Java (JRE) pour tous les systèmes d'exploitation, à l'exception de Mac. Apple développe son propre JRE.

Si vous développez sur Mac, vous développerez probablement le plus petit dénominateur commun. Ce qui fonctionne sous Mac devrait donc être exécuté sur les autres. Cela a été mon expérience.

À part cela, il est toujours recommandé de choisir le système d'exploitation en fonction de l'exécution du logiciel. Choisissez le système d'exploitation qui exécute votre IDE et les autres outils que vous utilisez pour le développement et les tests. Si plusieurs systèmes d'exploitation exécutent les outils dont vous avez besoin, choisissez celui qui les exécute le mieux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top