Java est un langage de programmation orienté objet et une plate-forme logicielle largement utilisés. Il fonctionne sur des milliards d'appareils, notamment des ordinateurs portables, des appareils mobiles, des consoles de jeu et bien d'autres.

Avoir de telles capacités a un prix. Java peut être difficile à apprendre, avec une syntaxe longue et compliquée. Il est typé statiquement, ce qui peut être moins pratique. Et bien qu'elle soit indépendante de la plate-forme, l'essor de la plate-forme de cloud computing rend l'indépendance moins gagnante.

Ce ne sont là que quelques-unes des raisons pour lesquelles Java peut tomber en disgrâce.

1. Java devient moins populaire

Tout d'abord, Java semble perdre lentement en popularité. Pendant des années, c'était l'un des meilleurs langages de programmation à apprendre, mais ce n'est plus une tendance. Cela signifie qu'au fil du temps, les développeurs écriront de moins en moins de nouvelles applications en Java.

Cette tendance implique que Java finira par disparaître. Les entreprises du monde entier continueront d'embaucher des programmeurs Java pour maintenir les bases de code héritées, mais cela ne durera pas éternellement.

Néanmoins, si vous souhaitez concentrer votre carrière sur la création de nouvelles choses plutôt que sur la maintenance de programmes existants, Java n'est peut-être pas le meilleur choix pour vous.

Langage de programmation Mai 2022
Python 1
C 2
JavaSciptName 3
C++ 4
C# 5
Visual Basic 6
Java 7
Langage d'assemblage 8
SQL 9
PHP 10

2. Java n'est pas simple

Java peut être facile à apprendre, mais ce n'est pas simple. Le langage est facile à apprendre car le code Java est simple à écrire, à organiser et à compiler. Mais ce n'est pas simple car le code écrit en Java a tendance à être plus verbeux et plus fastidieux à écrire.

Vous devez également le compiler, ce qui rend Java beaucoup moins pratique que des langages comme Python. Donc, si vous êtes un novice qui apprend à coder pour la première fois, Java n'est pas un bon langage pour commencer.

Si vous êtes un professionnel qui souhaite créer un code simple et élégant et le déployer rapidement, Java n'est pas non plus le choix idéal.

3. Getters et Setters

Les getters et les setters sont presque obligatoires dans l'utilisation d'un langage et de nombreux frameworks encouragent leur utilisation. Cependant, les getters et les setters de Java peuvent être inutilement verbeux.

Gérer du code agrémenté de getters et setters Java est infernal et compliqué. L'absence de solution significative au problème des getters et des setters n'est que la pointe de l'iceberg.

publicclasseVéhicule{
privé Chaîne couleur;

// Obtention
public Chaîne getColor(){
retour couleur;
}

// Passeur
publicannulersetColor(Chaîne c){
ce.couleur = c;
}
}

4. Pas de glaçage syntaxique

Vous travaillez sur une collection. Vous voulez le premier article. Que fais-tu? Bien sûr, vous appelez la méthode au lieu d'utiliser le commun [] opérateur. Tout cela parce que vous ne pouvez pas surcharger les opérateurs.

Pour pratiquement chaque opération, vous devez utiliser un nom de méthode verbeux même si un opérateur à un seul caractère ferait l'affaire.

Java prend en charge le concept; le langage vous permet de concaténer des chaînes avec le + opérateur, par exemple. Cela ne vous permet tout simplement pas, le programmeur, de faire la même chose.

5. Déclarer les exceptions qu'une méthode peut lancer

Java vous oblige à déclarer les exceptions qu'une méthode peut lever. Cela semble utile, n'est-ce pas? En utilisant une méthode donnée, vous savez à quoi vous attendre.

Le problème est que le code est un organisme vivant, et il arrive que la méthode que vous utilisez commence à lancer plus d'exceptions. Que se passera-t-il alors? Eh bien, votre code vient d'arrêter de compiler.

Vous devez gérer la situation ou ajouter une exception à la liste des lancers. Supposons que l'API que vous utilisez ne change pas. Il existe une chose telle que RuntimeException en Java. Si votre méthode peut lever cette exception ou l'un de ses descendants, vous devez la déclarer.

Les exceptions de Java peuvent entraîner de nombreux problèmes de maintenance du code.

// Programme Java qui montre l'utilisation de throw
classeLancerExcep
{
statiqueannuler amusant()
{
essayer
{
lancernouveau NullPointerException("démo");
}
attraper (NullPointerException e)
{
System.out.println("Pris à l'intérieur de fun().");
lancer e; // relance de l'exception
}
}

public statiqueannuler principal(Chaîne arguments[])
{
essayer
{
amusant();
}
attraper (NullPointerException e)
{
System.out.println("Pris dans le principal.");
}
}
}

6. IDE compliqués

Les programmeurs Java utilisent souvent un IDE comme Eclipse ou IntelliJ. Ces IDE sont puissants, mais ils sont complexes à interagir, en particulier pour un développeur débutant ou intermédiaire. Vous devrez faire beaucoup d'efforts pour apprendre votre IDE de fond en comble pour qu'il soit plus productif et moins douloureux pour vous.

7. L'indépendance de la plate-forme est moins importante en 2022

Le fait que Java soit très indépendant de la plate-forme importe sans doute moins aujourd'hui qu'il y a 10 ou 20 ans.

La raison en est que nous vivons dans un monde défini par logiciel. Aujourd'hui, les machines virtuelles, les conteneurs et les services cloud facilitent l'exécution d'une application où que vous soyez, sans vous soucier de l'environnement sous-jacent.

En d'autres termes, vous n'avez pas besoin de modifier votre code pour que votre application fonctionne là où vous en avez besoin. Vous pouvez changer l'environnement d'hébergement à la place.

Cela ne veut pas dire que la portabilité des applications n'a plus d'importance. Ce n'est tout simplement plus aussi critique qu'avant, ce qui rend Java un peu moins important par extension.

8. Dactylographie statique

Java effectue une vérification de type au moment de la compilation. Cela signifie que vous devez déclarer le type de chaque variable au moment de la compilation. C'est la même chose avec des langages comme C et C++, mais d'autres langages, tels que Scala et Haskell, offrent une certaine forme d'inférence de type.

Avec le typage statique, les variables ne sont généralement pas autorisées à changer de type. Cela rend la syntaxe Java un peu compliquée, en particulier lors de l'écriture de code pour un gros projet.

De nombreux programmeurs préfèrent programmation dynamique où la vérification de type se produit au moment de l'exécution. Cela signifie que le type d'une variable peut changer au cours de sa durée de vie.

Apprendre de nouveaux langages de programmation

Ce n'est pas que Java ne soit bon à rien, mais sa syntaxe est maladroite et peu propice à la lecture de code. La gestion des dépendances de Java permet les abus et conduit à des bogues difficiles à détecter.

La technologie ne cesse d'évoluer et, en tant que développeur, il est toujours utile d'être à jour avec les langages de programmation émergents. Ce qui est à la mode aujourd'hui pourrait bientôt être l'actualité d'hier.