Pourquoi Java est souvent utilisé pour les applications de l'entreprise?
Comme Java débutant, je me demandais: de toutes les langues dans le monde, pourquoi Java est souvent utilisé pour les applications de l'entreprise? Ce qui fait de cette façon par rapport aux autres langues? Il va continuer à être de cette façon dans les années à venir?
Je vous remercie de vos idées. Merci d'avance 🙂
- ici (stackoverflow.com/questions/213757/why-do-people-use-java) sont quelques-uns des commentaires forts sur l'île de Java, la popularité du - pas assez de réponses à partir d'une "entreprise", point de vue, mais ils sont pertinents.
- Je dirais: 1. de sécurité 2. stabilité 3. robustesse 4. l'évolutivité 5. OS indépendance 6. d'autres fournisseurs de l'indépendance 7. performance & l'utilisation des ressources 8. Société académique de large acceptation
Vous devez vous connecter pour publier un commentaire.
Un mot: les bibliothèques. Java dispose d'une vaste gamme d'excellentes bibliothèques pour résoudre la plupart des problèmes que l'on doit résoudre lors du développement d'applications d'entreprise. Dans de nombreux cas, il n'y a plus d'un bon choix pour répondre à un besoin particulier, et souvent, ces bibliothèques sont libres et open source sous les voyages d'affaires de la licence.
Certains ont soutenu qu'il existe, en fait, trop de choix dans l'écosystème Java, et que l'entreprise de développement de logiciels en Java, les développeurs doivent faire un grand nombre de décisions qui peuvent avoir des conséquences très importantes sur le produit final pour le meilleur ou pour le pire. Cela a probablement contribué à propulser la popularité des solutions de rechange comme .NET, qui a la réputation d'offrir des moins de choix, mais avec les avantages d'une plus intégrée de la pile d'application et des outils de jeu. Ce que la direction que vous choisissez dépend, je suppose, si vous accordez plus d'importance sur la "liberté de choix" et de la "liberté de choix".
Il y a beaucoup de raisons pour une entreprise de grande taille (du genre à aller pour les solutions d'entreprise) choisir Java. Notez que je ne dis pas que toutes ces raisons sont correctes ou valides. Mais le point important est qu'ils semblent valables pour un CTO de MegaCorp.
Courbe D'Apprentissage
Java est un langage simple, sans beaucoup de la flexibilité des autres membres de la famille, c'est à double tranchant, mais il est vu comme un langage simple pour une utilisation par une armée de programmeurs. Des projets d'entreprise ont tendance à impliquer un grand nombre de développeurs (à tort ou à raison) et il est beaucoup plus facile d'obtenir un promoteur à un niveau de compétence minimum en Java qu'en C++. Vous avez aussi toute une génération de diplômés qui ont probablement été largement étudié en Java.
Choix
Java dispose d'un vaste éventail de bibliothèques, des cadres, des outils et des IDEs et des fournisseurs de serveur. Pour une entreprise il est bon d'avoir le choix, même si c'est juste pour l'utiliser comme monnaie d'échange lors de la négociation des prix. La langue se prête à la qualité du code des outils qui permettent l'application des normes de l'entreprise (et comme mentionné, il ya beaucoup de ces outils).
Indépendance De Plate-Forme
Java est d'écrire une fois, exécuter (bien, debug) partout. Soleil a encouragé activement les normes ouvertes qui permettent à plusieurs fournisseurs pour mettre en œuvre leurs solutions. Ces normes de donner au client le confort qu'ils peuvent migrer d'un fournisseur à l'autre si un vendeur va sous ou démarre la charge de plus. Bien sûr, la réalité est que chaque fournisseur fait de leur mieux pour fournir quelques "valeur ajoutée" les caractéristiques qui lient le client à eux tout à fait bien.
Maturité
Son été autour d'un long temps, beaucoup de serveurs. Si votre application web doit être "6 sigma" ou similaire et vous êtes le MegaCorp CTO, vous n'allez pas à regarder gentiment sur Joe le développeur de vouloir le faire dans RoR.
Calendrier/Marketing
Java est sorti lors de la programmation s'oriente vers le web. Il a été placé intelligemment et obtenu une forte position au début du développement web. En raison des normes ouvertes, il y a quelques très grandes sociétés productrices de ces plates-formes et de commercialisation de Java est assez difficile de vendre ces plates-formes.
Inertie
Grandes sociétés de progresser à un rythme glaciaire (beaucoup sont encore à l'aide de Java 1.4 cinq ans après 5 est sorti), donc une fois qu'ils ont choisi de Java, il faut un investissement massif pour passer à une autre plate-forme. Avec chaque jour qui passe, ils sont à manivelle plus Java qui devront être migrés. La plupart de ces sociétés ne sont pas principalement de codage de magasins, de sorte qu'il est très difficile de convaincre les entreprises à dépenser quelques dizaines de millions de réécriture de la totalité de leur code de base pour aucun avantage économique immédiat.
Une autre raison est peut-être le soin Soleil a prises pour conserver Java compatible. La grande majorité de code Java peut être exécuté sur la dernière version de la JVM sans problème. C'est presque un exploit, compte tenu de l'âge de Java. D'autre part, vous pourriez dire Java n'a pas changé tant que ça pendant toutes ces années.
Entreprises comme la stabilité dans une plate-forme.
Soleil ciblées Java pour parler des besoins des entreprises dès le début. Il pousse les normes qui favorisent le vendeur de l'indépendance à tous les niveaux. Indépendant de la plateforme, de la base de données indépendante, l'application serveur indépendant, etc.
En outre, ils ont promu niveau de l'entreprise des outils pour elle, en termes de messagerie, la gestion des transactions et d'autres choses que l'entreprise de soucis.
Avant de Java, niveau de l'entreprise trucs ont tendance à être fait en C++ (il y en a beaucoup d'exceptions (quelqu'un se souvient de PowerBuilder?) mais c'était la règle) et Java s'inscrit bien comme un successeur de C++ pour les applications d'entreprise, lorsque ce type de gestion de la mémoire n'est pas quelque chose de la peine de payer pour.
En plus de tout ce que le langage lui-même parle à des entreprises en termes d'éviter de dur-à-obtenir-droit des constructions qui peuvent vraiment gâcher un code de base, tels que la surcharge d'opérateur. Applications de niveau entreprise ont tendance à être géré par de nombreuses mains différentes, qui ne sont pas tous en haut de la ligne de programmeurs, et d'avoir des filets de sécurité pour empêcher le tir dans le pied est une chose souhaitable.
Il est également venu au bon moment. Un nouveau paradigme (c'était bien avant .NET existé) qui a promis de combiner plusieurs constructeurs dans une capacité à rivaliser avec Microsoft, qui a obtenu les goûts de IBM et Oracle sur le conseil d'administration qui s'est passé à remplir un nouveau trou, qui était la nouvelle exigence pour développer des applications web, où C++ n'était plus un choix évident.
Je ne devrais pas dire cela, mais...
La vraie raison est parce qu'il est nommé d'après un café!
Entreprise est à propos de temps, d'argent et d'occasion.
À l'aide de Java signifie que votre nombre d'erreurs dans le code va vers le bas, tout simplement parce que les pointeurs sont durs. Vous utilisez un GC et vous enlevez toute une classe d'erreurs à partir de votre code.
Deuxièmement, Java, a été l'un des premiers langages de navire avec un pré-écrites de la bibliothèque de fonctions, qui n'avait vraiment couvrir beaucoup de la phase de développement. Cela restreint la façon dont les choses ont été faites, mais cela signifiait que les gens pourraient apprendre plus vite, avec plus d'outils à leur disposition et a eu un grand ensemble de bibliothèques pour faire des choses comme réseau, interface utilisateur graphique, web, cryptage, etc. Java sur son propre en tant que langue n'était pas vraiment de spécial, mais en Java, en plus de l'API Java a été.
Donc si vous avez une langue qui a moins d'erreurs et plus d'infrastructures pour gratuit, puis vous vous retrouvez avec plus de code en moins de temps. Vous assurer que le code n'est pas de guérir le cancer, il n'est pas aussi rapide que du code C++ pour réaliser la même tâche, mais il permettra d'atteindre le " but d'obtenir une application.
Si vous faites plus de code, pour moins d'argent, vous pouvez poursuivre avec encore plus de possibilités. Ensuite vous apporter de l'inertie à la table en termes de code qui a déjà été implémenté en Java et vous commencez à voir pourquoi les entreprises ne veulent pas sortir de leur zone de confort.
Personnellement, je crois que l'une des principales raisons est la croix-plate-forme de question.
Programmes Java écrit "correctement" (sans les hypothèses du sous-jacent système d'exploitation) peut fonctionner sur toutes les JVM. Cela signifie que vous n'êtes pas lié à une plate-forme particulière, à la différence .NET qui vous marie pour Windows.
J'ai vu le code de Java à exécuter sur des mainframes, des routeurs Linux, à l'intérieur de la base de données Oracle, et naturellement sur PC.
C'est pas cher, RAD, multiplate-forme, et les développeurs abondent.
Le développement en C++ est trop lent et trop cher et .NET n'a pas été autour assez longtemps. D'affaires de l'inertie est énorme, rappelez-vous.
Les entreprises veulent des langues qui sont soutenus par un fournisseur professionnel (ie. une société comme le Soleil) et souvent rester à l'écart de l'Open Source langues, pour la simple raison qu'il n'a pas été écrit par une société.
Également pour des applications client-serveur, vous avez une abondance de choix de production, de la qualité de l'application des serveurs qui ont la même J2EE interface (IBM WebSphere, BEA Weblogic, JBoss). Sinon, vous pouvez utiliser le Framework Spring sur un serveur comme Apache Tomcat l'est conforme à la Servlet API si vous êtes convaincu que vous n'avez pas besoin d'Ejb. En contraste .NET, il est difficile de trouver des choix en matière d'application des serveurs.
Il y a une abondance de choix en ce qui concerne les cadres de travail pour une tâche donnée que ce soit un outil ORM, l'exploitation forestière, des collections, la mise en cache web de l'Isu, etc. Il n'y a pas de peine besoin de réinventer la roue.
Enfin, alors que c'est à la mode ces jours-ci à se plaindre des défauts bien réels, de Java, de la langue, c'est une langue où les gens savent comment faire les choses et comment éviter certaines des anti-modèles.
Autres réponses sont toutes bonnes. Deux choses doivent être ajoutés, les normes de l'entreprise et le train de l'effet. Si vous voulez construire un système d'entreprise, vous devez avoir assez fort pour ne pas à l'aide de votre entreprise ancrée normes, et c'est surtout JavaEE. Et si vous avez besoin de ressources d'un projet, il est beaucoup plus facile de recruter un programmeur Java que c'est, disons, Erlang.