J'avais pas envie de faire une liste mais puisque deux personnes insistent :
Pous les griefs syntaxiques et génie logiciel :
- syntaxe souvent lourde (noms longs, points virgules, redondance de l'écriture) ;
- pas de moyen simples de faire des blocs débug ou des assertions ;
- héritages ancestraux (case, break).
Pour les griefs plus spécifiques :
- tout n'est pas objet (types primitifs, tableaux) ;
- héritage simple (non, le sous-typage multiple ne suffit pas dans tous les cas) ;
- les attributs statiques ne sont pas des attributs de classes ;
- distinction entre méthodes et attributs (pas homogène, oblige à creer des accesseurs) ;
- protections instables (cas complexes de protection difficiles à prévoir, surtout que la norme change parfois et que la JVM ne suit pas toujours la norme) ;
- types de retour invariants (étrange non ?) ;
- les tableaux ne se comportent pas comme des classes (contravariants vs invariants) ;
- pas de généricité (ok, ça va arriver un jour).
Pour finir sur les trucs optionnels :
- pas de covariance (enfin si dans les tableaux) ;
- pas de réflexivité (seulement de l'introspection) ;
- pas de fonctions lambda :) ;
- pas de contrats.
Bon, bien sûr je sens qu'il va y avoir des gens pour raler sur ma liste (c'est normal) mais j'espère juste qu'il n'y aura pas trop de monde pour déformer/inventer mes propos.
N'oubliez par que Java c'est entre autre :
- un language ;
- une bibliothèque énorme ;
- une machine virtuelle ;
- un modèle de sécurité.
Je ne parle que du premier point et je troive domage que pour avoir les 3 points suivants on soit obligé de se farcir un lagage comme Java.
[^] # Re: Java et Linux
Posté par MrTout . En réponse au journal Java et Linux. Évalué à 6.
Pous les griefs syntaxiques et génie logiciel :
- syntaxe souvent lourde (noms longs, points virgules, redondance de l'écriture) ;
- pas de moyen simples de faire des blocs débug ou des assertions ;
- héritages ancestraux (case, break).
Pour les griefs plus spécifiques :
- tout n'est pas objet (types primitifs, tableaux) ;
- héritage simple (non, le sous-typage multiple ne suffit pas dans tous les cas) ;
- les attributs statiques ne sont pas des attributs de classes ;
- distinction entre méthodes et attributs (pas homogène, oblige à creer des accesseurs) ;
- protections instables (cas complexes de protection difficiles à prévoir, surtout que la norme change parfois et que la JVM ne suit pas toujours la norme) ;
- types de retour invariants (étrange non ?) ;
- les tableaux ne se comportent pas comme des classes (contravariants vs invariants) ;
- pas de généricité (ok, ça va arriver un jour).
Pour finir sur les trucs optionnels :
- pas de covariance (enfin si dans les tableaux) ;
- pas de réflexivité (seulement de l'introspection) ;
- pas de fonctions lambda :) ;
- pas de contrats.
Bon, bien sûr je sens qu'il va y avoir des gens pour raler sur ma liste (c'est normal) mais j'espère juste qu'il n'y aura pas trop de monde pour déformer/inventer mes propos.
N'oubliez par que Java c'est entre autre :
- un language ;
- une bibliothèque énorme ;
- une machine virtuelle ;
- un modèle de sécurité.
Je ne parle que du premier point et je troive domage que pour avoir les 3 points suivants on soit obligé de se farcir un lagage comme Java.