it-swarm.dev

Java sera-t-il toujours pertinent dans 5 ans?

Est-ce que Java aura la même importance que par le passé, ou sera-t-il moins pertinent qu'aujourd'hui?

40
kiamlaluno

Java est pertinent et continuera de l'être pendant de nombreuses années dans le monde de l'informatique d'entreprise.

Le fait qu'il continue d'être pertinent dans d'autres domaines dépend en grande partie de ce que fait Oracle. S'ils injectent de la vie (et des ressources) dans ME, des applications de bureau et d'autres domaines, et s'ils poursuivent l'évolution du langage Java, alors Java = fera bien.

Mais si Oracle réduit la R&D et/ou essaie de frapper d'autres joueurs dans l'espace Java, il y a de fortes chances que quelqu'un/une entreprise développe un meilleur (et plus ouvert) comme Java Si Oracle gagne son procès contre Google, je prédis que la prochaine génération de la plate-forme Android aura un nouveau langage, comme ce fut le cas avec C #. Si Google obtient la bonne ouverture ... alors le jeu est lancé!

30
Stephen C

Oui, Java continuera certainement d'être pertinent et maintiendra probablement sa position de plate-forme globale n ° 1 pour le développement logiciel pendant longtemps.

Premièrement, les raisons pour lesquelles Java est et continuera d'être un choix fort:

  • Java est toujours la langue la plus populaire - et cela signifie qu'il a le plus de développeurs, le développement le plus en cours, la plus grande base installée, etc. Il n'y a aucun signe de déclin marqué - si vous regardez la tendance TIOBE par exemple, elle pourrait facilement continuer à être n ° 1 pour les 10 à 15 prochaines années

  • Java, malgré ses défauts, reste un excellent langage pour développer des applications d'entreprise . Le fait qu'il soit verbeux et tend à promouvoir un style assez standardisé de OOP développement est une bonne chose lorsque les applications doivent être maintenus par de nombreux développeurs différents pendant de nombreuses années d'une manière assez standardisée. Les CIO intelligents s'en rendent compte, c'est pourquoi vous ne verrez pas Java disparaître de sitôt dans l'entreprise. BTW, et l'objectif explicite de Java quand il a été créé était qu'il devrait être "simple, orienté objet et familier").

  • Le succès des langues ne concerne pas seulement la langue elle-même, mais autour de l'écosystème des bibliothèques disponibles pour la langue. À cet égard, Java est sans pareil, avec un large éventail de bibliothèques open source et commerciales.

  • Performances - Le code compilé JIT sur les machines virtuelles Java modernes est très proche du code natif optimisé en termes de vitesse. En pratique, cela signifie que Java est généralement l'une des combinaisons langage/implémentation les plus rapides disponibles (voir benchmarks imparfaits si vous le souhaitez). Quiconque pense que Java est lent (ou, bon sang, "interprété")) doit mettre à jour ses faits du siècle dernier.

  • Grand soutien de l'entreprise - Java est une plate-forme stratégique prise en charge par de nombreuses sociétés et organisations technologiques parmi les plus grandes et les plus importantes du monde - nous parlons de Google, Oracle, IBM, l'Apache Software Federation, etc. Java bénéficie également d'un soutien substantiel de la part des principaux utilisateurs de la technologie - banques, sociétés de médias, etc. large support de l'industrie (même si les joueurs ont des tiffs occasionnels :-))

  • Android - donne un coup de pouce majeur à Java dans l'espace mobile. Beaucoup de startups ciblent cela, et c'est il n'est pas déraisonnable de s'attendre à ce que les startups mobiles aient également de bonnes raisons de choisir Java côté serveur également.

  • Portabilité : Java est la chose la plus proche qui existe pour un véritable environnement de programmation multiplateforme. serveurs finaux aux smartphones, et compilé pur Java code fonctionnera sans modification sur toutes ces plates-formes. Très peu de langues peuvent dire ceci avec le même degré de crédibilité. Également en tant que langage de bytecode, Java a un avantage inhérent à l'espace de bibliothèque car les bibliothèques compilées sont intrinsèquement portables sur toutes les plates-formes.

  • Excellents outils - dont la plupart sont gratuits et/ou open source. Netbeans et Eclipse sont d'excellents exemples dans l'espace IDE. Les développeurs ont besoin de bons outils pour être pleinement productifs, c'est donc un facteur important dans choix de langue/plateforme.

  • Java est Open Source - ne va pas expliquer pourquoi c'est une bonne chose ici, mais il suffit de dire que les deux a) le noyau Java implémentation dans OpenJDK et b) la plupart des bibliothèques et des outils Java Java sont open source).

  • Java n'est pas seulement un langage, c'est une plateforme : il existe de nombreux langages prometteurs sur la JVM tels que Clojure et Scala qui représentent l'avenir de la plateforme sur le plan linguistique. Ma prédiction serait que le langage Java Java continue de recevoir des améliorations mineures des fonctionnalités (JDK 7, 8 etc.) tandis que ces nouveaux langages JVM sont le lieu où l'innovation de pointe se produira. Mais c'est tout partie de la plate-forme Java.

Deuxièmement, comment sera remplacé Java? Examinons les prétendants alternatifs:

  • C/C++ - continuera d'être important en termes de programmation des systèmes et pour les exigences de code natif hautement optimisées telles que les jeux. Mais cela continuera d'être un créneau spécialisé et ne les dépassera jamais Java, qui est plus adapté au développement d'applications à usage général.
  • Microsoft.NET - C # est un langage agréable à coup sûr (un clone amélioré/poli de Java, en substance), mais la plate-forme .NET entière représente le verrouillage des fournisseurs dans la pile logicielle Microsoft. Un grand nombre de personnes n'adopteront jamais une stratégie spécifique au fournisseur ayant été brûlée par cela dans le passé. Mono, bien qu'il s'agisse d'un projet open source Nice, ne sera jamais entièrement compatible, donc la plupart des entreprises ne parieront pas sur cette option. .NET/C # continuera d'être très important dans l'espace Windows, mais ne pourra pas déplacer Java globalement.
  • Objectif-C - continuera sans aucun doute à occuper une niche majeure dans le développement spécifique à Apple, mais n'aura probablement pas beaucoup de traction en dehors de cet espace. En outre, Java a une contre-histoire très convaincante dans l'espace mobile grâce à Android
  • Python, Ruby - Encore de jolis langages, très productifs dans leurs niches. Mais loin de la JVM en termes de performances, d'acceptation par l'industrie ou de gamme de bibliothèques. Continuera à coup sûr, mais ils ne sont pas en train de devenir des tueurs de Java.
  • JavaScript - continuera à jouer un rôle important dans le développement Web côté client. Mais aucune force réelle en dehors de cet espace n'est susceptible de menacer Java de sitôt.
  • Haskell, OCaml (et divers autres langages académiques/FP) - d'excellents langages, mais qui n'ont nulle part près du support de la bibliothèque Java a, donc pas particulièrement pratique pour une utilisation dans le monde réel. avantages par rapport aux langages JVM tels que Clojure ou Scala (qui peut utiliser Java sans douleur))
  • Clojure ou Scala - en fait vraiment convaincant à moyen/long terme. Peut remplacer réellement Java dans 10-15 ans, mais les deux comptent vraiment comme faisant partie de la Java de toute façon, car ce sont des langages JVM. Donc Java seront sécurisés).
  • Mystérieuse nouvelle langue inconnue? - Cela peut arriver, mais l'histoire a montré que, quelle que soit la force d'un langage, le développement prend du temps, les développeurs apprennent de nouvelles compétences, des investissements importants des entreprises se produisent, etc.

Enfin, quelques conclusions/prédictions:

  • Les positions relatives globales (en termes de part de marché) des principales langues évolueront un peu au cours des prochaines années mais ne changeront pas beaucoup. Java restera n ° 1.

  • Vous ne vous tromperez pas en choisissant la plate-forme Java pour les 10 à 15 prochaines années. Ne vous inquiétez pas si Java disparaîtra de si tôt).

  • À court terme, Java-the-language est un pari sûr et fiable. À plus long terme, ou si vous ressentez le besoin d'être plus à la pointe de l'innovation/conception de langage, je recommanderais Clojure ou Scala comme nouveaux langages JVM

  • Les gens continueront de diffuser du FUD sur Java. N'y faites pas attention.

47
mikera

Je dirais que c'est sur un déclin. Ce n'est pas parti, mais c'est passé son apogée.

17
Fishtoaster

Même dans le pire (meilleur?) Des cas, je ne peux pas imaginer que Java devienne hors de propos dans les 5 ans. Java a été suffisamment utilisé pour se retrouver à peu près dans le même situation que COBOL, Fortran, etc. - même si tout le monde avec le code existant a décidé de réécrire tous les systèmes existants dans une autre langue aussi rapidement que raisonnable, il faudrait plus de 5 ans pour tout remplacer (et 5 ans à partir de maintenant, il en resterait encore suffisamment en utilisation active pour qu’une bonne quantité d’entretien soit toujours effectuée).

En réalité, il est peu probable que cela se produise - bien qu'il existe certainement des opinions divergentes sur Oracle, je ne peux pas imaginer qu'ils fassent quelque chose d'aussi horrible que tous les principaux acteurs qui ont d'énormes investissements dans Java tomberaient très rapidement. En toute honnêteté, il faudrait probablement près de 5 ans de décisions manifestement mauvaises avant qu'IBM (par exemple) n'envisage même de travailler à utiliser autre chose à la place de Java. Ils ont un investissement assez important en Java qu'il est peu probable qu'il le laisse tomber jusqu'à ce qu'il pense qu'il n'a pratiquement aucune alternative.

17
Jerry Coffin

Deux réponses:

1) Android

2) Blackberry

Sérieusement, sur le bureau, il est peut-être en déclin, mais il alimente les deux concurrents en iPhone.

De plus, l'année dernière, j'ai aidé un tas de gens avec Java devoirs pour l'école. Le point étant, Java est toujours enseigné dans les collèges).

Modifier:

En octobre 2011, BlackBerry semble être en déclin. Android va toujours fort.

17
Moshe

Il perdait de son importance sur le marché mobile, mais avec Android, il l'a de nouveau retrouvé.

14
Casebash

Java sera pertinent dans un avenir prévisible, même si vous définissez pertinent pour inclure uniquement le nouveau code, pas le mode de maintenance hérité. Oui, la langue suce et traite ses programmeurs comme des enfants coquins au lieu d'adultes consentants et n'a pas fait peau neuve depuis l'âge de pierre. D'autre part:

  1. Java a des bibliothèques impressionnantes.

  2. La JVM est une plate-forme impressionnante.

  3. Vous n'avez pas besoin de programmer en Java pour utiliser ces bibliothèques, maintenant qu'il y a eu une prolifération de langages JVM.

À mon humble avis, la façon dont les choses évolueront est que Java dans le monde JVM deviendra ce que C est dans le monde nativement compilé. Les gens utiliseront Scala, Jython, Groovy, etc. dans le codage quotidien, mais continuera d'appeler l'ancien et cruel Java de ces langages pour l'éternité. Certains codes critiques pour les performances peuvent toujours être écrits en Java, car il s'agit probablement du langage JVM le plus efficace et le plus bas niveau. Ancien les bibliothèques auront besoin de nouvelles fonctionnalités ajoutées. Par conséquent, Java restera très pertinent même s'il n'est pas utilisé par le programmeur moyen au jour le jour.

13
dsimcha

Je le pense. Je prévois que sa popularité augmentera au cours des prochaines années, avec des améliorations récentes du plug-in et des améliorations syntaxiques à venir Java 7. Et il a l'avantage de la vaste gamme de de bonnes bibliothèques open source (par rapport à .NET) qui pourraient facilement le maintenir en vie pendant encore 10 ans.

7
finnw

Actuellement, Qt tue Java dans les applications de bureau. Il y a beaucoup de réécriture de Java vers Qt. Actuellement, je travaille sur l'un d'eux. Depuis le jour où je J'ai commencé ma carrière de programmeur, il y a toujours une rumeur selon laquelle quelque chose tuerait C++. Par exemple, Visual Basic, Java, C #, mais en réalité, C++ est toujours actif. ........

5
Tamilselvan R

Java le langage peut être en déclin lent, mais Java la plate-forme (JVM + JDK) a certainement explosé au cours des deux dernières années (Scala, Clojure et de nombreuses autres langues; Android framework). C'est facilement la meilleure (uniquement viable?) multi-architecture, multi-OS, plate-forme multilingue là-bas, mise à l'échelle de l'embarqué les appareils mobiles aux entreprises mainframe, et il n'y a pas de concurrents comparables actuellement AFAIK. Je m'attends donc à ce que Java la plate-forme soit pertinente dans 5 ans, et même dans 15 ans. Cela fait également Java le langage pertinent à long terme, même si sa popularité peut dépasser le pic.

4
Joonas Pulakka

Je ne pense pas que cela perdra de sa pertinence. Java 7 vient de sortir avec beaucoup de fonctionnalités intéressantes qui aideront les développeurs à créer plus facilement d'excellents logiciels.

Aussi Java est utilisé pour créer des applications Blackberry; l'un des principaux téléphones mobiles d'entreprise. Il est sûr de dire que cela ne va pas bientôt.

4
Sergio

TIOBE évalue les utilisations du langage ... http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Basé sur leurs statistiques Java ouvre la voie et le fera probablement encore longtemps - # 1 depuis 2005. J'ai utilisé Java au cours de ma carrière) et partout où j'ai travaillé, il y avait Java applications/développeurs - même dans des endroits qui se considéraient comme Microsoft Dev Shops. Java est juste un langage si facile à prendre en main) lorsque vous devez développer des solutions sur un serveur Mac ou Linux.

De plus, le bon vieux C/C++ se maintient toujours aux # 2 et # 3 - tandis que C # - le langage que tout le monde pense qu'il est le plus populaire (MS marketing à son meilleur) - n'est même pas proche! J'utilise C # maintenant, mais il faudra des années pour égaler la quantité de code que j'ai écrit en Java et Delphi.

Alors n'ayez pas peur d'apprendre ou d'utiliser Java - il y a toujours des emplois affichés pour eux. Donc, oui Java sera très pertinent pendant longtemps) l'heure à venir.

4
MDV2000

Je suis principalement un développeur .NET, bien que je travaille avec d'autres langages (y compris Java) selon les besoins pour obtenir la tâche à accomplir. En tant que tel, sur la base de ma propre expérience de travail avec la langue, je ne pense pas que cela va disparaître de sitôt, voici pourquoi:

  1. Base d'installation actuelle - Il existe suffisamment de programmes qui nécessiteront une assistance à long terme pour que les nouveaux développeurs aient une raison d'apprendre la langue.
  2. tilisation en milieu académique - La plupart des collèges et universités utilisent comme l'une de leurs langues d'introduction pour enseigner OOP et d'autres concepts fondamentaux, cela signifie qu'il continuera à y avoir les nouveaux développeurs diplômés et entrant sur le marché du travail qui seront familiarisés avec la langue au début.
  3. C'est la nature multiplateforme - Une évidence, mais le fait qu'il soit multiplateforme est un gros problème, d'autant plus que les téléphones intelligents prennent en charge Java vers de nouveaux appareils. La perspective de ne devoir conserver qu'une seule base de code, mais de pouvoir déployer (c.-à-d. vendre) des applications pour plusieurs plates-formes va être un peu difficile. Pouvez-vous imaginer si iOS et Droid prennent en charge les applications écrites en Java?
  4. No Strong Competitor - À ce stade, je ne peux pas nommer un langage que je considère comme un concurrent puissant pour Java. Bien sûr, C # commence à apparaître sur plus de plateformes grâce à Mono, mais ce n'est pas tout à fait la même chose que d'avoir la même plateforme croisée que Java a. Certes, il existe un certain nombre de langages qui font quoi = Java fait (et dans certains cas mieux) ils ont tendance à être adaptés à ce qu'ils font et pour certains grands projets, il n'a pas de sens d'avoir une tonne de langages à maintenir si vous pouvez accepter toute performance a atteint Java pourrait avoir.
4
rjzii

À mon humble avis, Java va rester très pertinent et croître en utilisation, même s'il n'évolue pas vraiment dans ses constructions ou ses pouvoirs.

Voici mon raisonnement: - Il y a beaucoup de code là-bas, et la maintenance nécessite plus de gens que d'écrire du nouveau code.

  • Le camp "Les langages VM sont trop lents" est en train de perdre lentement (surtout que Java l'a fait avec succès dans le trading d'algo).

  • Les grandes entreprises l'utilisent toujours dans tous les secteurs, y compris Oracle.

  • La plate-forme Android se développe plus rapidement que iOS, sans aucun autre concurrent en vue, et cela amène plus de gens à la jauge.

  • Il est plus simple à utiliser pour les gens que les langages fonctionnels. Il est facile pour les puristes de langues et les universitaires d'apprécier les langages fonctionnels et leurs capacités, mais la plupart des débutants sans diplôme CS n'apprécient pas pleinement la puissance de la Lambda. Je ne pense donc pas que ces langues prendraient leur envol.

  • Il est entièrement gratuit (contrairement à .NET qui est encore plus proche de l'écosystème Windows malgré les alternatives).

3
Uri

Pas sûr de Java. Mais la JVM restera sûrement pertinente en prenant en charge de nombreuses autres langues.

3
Gulshan

C'est l'un des plus grands noms de la programmation d'entreprise (J2EE). Je suis à peu près sûr que nous ne verrons pas cela diminuer au cours des deux prochaines années.

3
Terence Ponce

Cela dépend de la façon dont la langue évoluera.

À l'état actuel Java n'est pas très actif en tant que langage. Il est né pour supporter un (et un seul) paradigme: la POO. Il se place quelque part à mi-chemin entre les langages qui permettent des abstractions de niveau supérieur (comme C++ et ses fonctionnalités de métaprogrammation) et des langages de script avec des capacités de réflexion (comme les commandes Python "exec" et "dir") mais d'une manière ou d'une autre, il ne trouve pas sa vraie place. Il devient fondamentalement obsolète en tant que "langage" ". Ce n'était pas le fait que ce soit une norme de facto sur les appareils mobiles, je pense qu'il serait mort maintenant.

En ce qui concerne le fait que c'est un bon langage d'enseignement pour OOP J'ai des doutes d'après ce que je peux voir: tous les programmeurs nés en Java ne font que générer des modèles de visiteurs et d'observateurs partout mais ce n'est pas que j'ai un grand expérience avec les programmeurs Java.

Il y a toujours beaucoup de code hérité et sur les appareils mobiles, c'est une norme. Cela dit, je ne choisirais jamais Java pour un ordinateur de bureau ou une application Web. Il n'y a aucune raison, en dehors des entreprises (la plupart des gestionnaires hochent la tête si vous dites "Java" et c'est-à-dire que je supposons, la raison pour laquelle c'est une norme sur les appareils mobiles).

3
Emiliano

Java ne perdra pas complètement sa pertinence pendant de nombreuses années, mais il est certainement en déclin. Si les développements récents affectent cela ou si Oracle peut changer cela reste à voir. Mais je pense qu'un jour je pourrais être comme COBOL, pas de nouveaux projets, mais jamais tout à fait mourir non plus.

2
indyK1ng

COBOL, Fortran et C sont toujours pertinents. Quelle est la chance que Java disparaisse dans cinq ans? En théorie, il n'y aura pas grand-chose de nouveau Java développement dans cinq ans, mais je parierais contre cela aussi, car il y a beaucoup de gens qui utilisent Java et les magasins sont assez lents à changer de langue préférée.

2
David Thornley

Il y a eu quelques tendances dans le monde Java - en particulier l'adoption absolument brillante de JRuby et Rails ou Groovy et Grails - qui indiquent que Java a encore beaucoup de vie dedans. Ensuite, il y a la situation Android, qui est également en faveur de Java. Aussi récemment que Snow Leopard sur Mac, certaines modifications - prenant désormais en charge Midi sans pilotes externes - font en sorte qu'il gagne également en possibilités sur le bureau. Et les applications Swing semblent finalement natives à 99% (ou du moins il y a beaucoup de casse-tête qui le croient maintenant: il y a 10 ans, il n'y en avait pas).

Java a eu un moment incroyable dans les années 90 où il semblait que c'était la solution pour tout. Maintenant, il est clair que rien n'est la solution pour tout. .Net donne un coup de pied au cul, et Ruby, et Python, et PHP (avec des solutions CMS loufoques et des frameworks entiers avec lesquels les gens se marient à vie!), Et Java (avec Groovy JRuby JPython que ce soit), et bien plus encore. La réponse est:

Attendez-vous à un univers pluraliste

Java continuera-t-il de jouer un rôle majeur dans cet univers? Si vous voulez dire "langues qui s'exécutent sur la JVM", la réponse est très certainement. Si la réponse est simplement Java (langue, JVM, etc.), alors la réponse est "peut-être pas si importante". Mais allez, même Cobol est toujours accroché.

1
Dan Rosenstark

Je pense que les universitaires ont encore besoin de la valeur de l'open source en Java. Il existe de nombreuses bibliothèques puissantes (axées sur des objectifs académiques) développées sur Java.

Je suis d'accord que Java restera pertinent, mais pour un segment plus petit.

1
VinkyH

Google écrit beaucoup en Java et Google est la plus grande entreprise du Web. Je pense que le Web est l'avenir - application Web, cloud computing - et donc je pense Java est toujours d'actualité à l'avenir.

Et il y a Android, qui est l'avenir des téléphones intelligents à mon avis. Et certaines personnes disent que les téléphones intelligents sont l'avenir de l'ordinateur - ce qui n'est pas mon avis :) - mais qui a également donné Java un grand avenir. Alors allez Java :RÉ

1
SCBoy

Je soupçonne que toutes les langues finissent par passer par une phase où les experts diront "[La langue] est le COBOL de la [insérer la décennie ici]".

Java est devenu un outil standard, exclusivement ou l'un des principaux outils, dans un certain nombre de domaines du développement logiciel. Son VM est populaire comme plate-forme sur laquelle construire de nouvelles langues. Il sera beaucoup trop long juste à cause de son inertie massive même si de nouvelles langues meilleures deviennent populaires.

1
DarenW

Voici un article de ReadWriteEnterprise sur le déclin de Java:

http://www.readwriteweb.com/enterprise/2011/02/javas-not-dying-its-mutating.php

Ce que nous assistons n'est pas la mort de Java, mais sa transformation. Il ne s'agit plus simplement d'une plate-forme à usage général qui dominait l'entreprise, mais de l'intestin de nombreuses technologies disparates pour diverses applications spéciales.

Il explique également comment des outils spécifiques fournissent des alternatives à la technologie Java, mais ne la remplacent pas nécessairement:

Bien que les bases de données NoSQL offrent une alternative aux bases de données relationnelles, cela ne signifie pas que les bases de données relationnelles disparaîtront. De même, Node.js fournit une alternative spécialisée à Apache, mais ne tuera pas Apache.

0
Britt Wescott

Si cela est lié à une industrie (banque, plates-formes mobiles, etc.), c'est comme demander "Internet Explorer sera-t-il toujours d'actualité dans 5 ans ..." il y a 5 ans. Aujourd'hui, de nombreuses entreprises ont des sites Web internes spécifiques à IE qui ne peuvent pas être réécrits à partir de zéro. Ce n'est donc pas "pertinent" mais "inévitable".

Pour en venir à votre question - non, ce n'est pas pertinent en tant que force motrice pour l'innovation; mais oui, c'est pertinent parce que de nombreuses industries exigeront que les applications Java soient maintenues pendant de nombreuses années à venir.

0
lorenzog