3933Fermer3935
NilLe 17/09/2018 à 15:18
Kevin Kofler (./3933) :
Ma définition de "puissant" est une que tu n'as pas citée: la richesse en fonctionnalités du langage. Par exemple, le C++ permet la surcharge d'opérateurs, le Java ne la permet pas. Du coup, si on essaie par exemple de faire de l'arithmétique d'intervalles en Java (ce qu'on fait couramment dans l'équipe dans laquelle je travaille), le code devient vite totalement imbitable dès qu'on a une formule non-triviale. En C++, on peut utiliser la notation habituelle.
Sauf que, dans la majorité des cas, la surcharge d'opérateurs est plus un risque qu'un atout. C'est bien qu'un langage le permette s'il y a des besoins ; ce serait (très) dangereux que ce soit une norme vu ce que ça peut impliquer comme dangers pour la sécurité du code, surtout sur de gros projets ou lorsqu'il y a de la mutualisation de fichiers.
C'est aussi pour ça qu'il y a des langages très spécialisés, avec des possibilités d'interfaces/d'inclusions entre eux, que ce soit nativement ou pas.