Est Java orthogonale?
Je me demandais si Java est orthogonal ou non, et si oui, quelles sont ses caractéristiques qui font qu'il est orthogonale. Comment pouvez-vous déterminer si une langue est orthogonal ou pas? Par exemple, j'ai trouvé sur certains site que le C++ n'est pas orthogonale, mais pas d'explications, pourquoi pas. Quelles sont les autres langues sont orthogonaux? Merci de m'aider, car il n'y a presque pas d'informations sur internet à propos de ce sujet.
Grâce
- Veuillez donner une explication directe ou un lien vers votre définition de orthogonale.
- L'orthogonalité est rarement (voire jamais) une valeur Booléenne ("X Est orthogonal?") mais une question (généralement comparative) de degré ("X est plus orthogonale de Y".)
- mais peut langages de programmation linéaire ainsi?
- cette question devrait-elle être étiqueté devoirs?
- Hein, et ici, je pensais orrhogonal est un terme qui signifie le jeton était comme arracher des dents.
Vous devez vous connecter pour publier un commentaire.
L'Art de la Programmation UNIX, Chapitre 4. La Modularité, L'Orthogonalité, Page 89:
Langage De Programmation Pragmatique, Chapitre 6, Page 228:
Sur Le Langage Lisp, 5.2 Orthogonalité:
Je pense qu'un orthogonale langage de programmation serait celui où chacun de ses fonctionnalités ont peu ou pas d'effets secondaires, de sorte qu'ils peuvent être utilisés sans même penser que l'utilisation d'affecter d'autres fonctions. J'emprunte ce à partir de la définition de l'orthogonal de l'API.
En Java, vous auriez à évaluer, par exemple, si il y a une combinaison de mots-clés/constructions qui pourraient influencer les uns les autres lorsque utilisés simultanément sur un même identificateur. Par exemple lors de l'application de
public
etstatic
à une méthode, ils n'interfèrent pas les uns avec les autres, de sorte que ces deux sont orthogonales (pas d'effets secondaires en plus de ce que le mot clé est destiné à faire)Que vous avez à faire qu'à toutes ses fonctionnalités à prouver l'orthogonalité. C'est une façon d'aller à ce sujet. Je ne pense pas qu'il existe une claire est ou n'est pas orthogonale dans cette affaire soit.
En utilisant le terme de orthogonale langage de programmation est inhabituel. Généralement, en sciences de l'informatique, vous êtes réellement en train de parler orthogonal d'instruction-ensembles. Cependant, si nous voulons étendre la signification de la grammaire d'une langue:
"...ce qui veut dire [la langue] est un relativement petit nombre de constructions de base et un ensemble de règles de combinaison de ces constructions. Chaque construction est associée à un type avec elle et il n'y a pas de restrictions sur ces types...." voir ALGOL
Alors on peut supposer que, si pas toutes les instructions dans la langue peuvent travailler sur tous les types de données donnera la non-orthogonalité. Toutefois, cela ne signifie pas que l'inverse est vrai, c'est-à-dire si toutes les instructions en langage fonctionne sur tous les types de données, cela ne signifie pas nécessairement que la langue est orthogonale.
Plus formellement, un orthogonale de la langue aurait justement UN moyen de faire une opération donnée. Non orthogonaux langues n'ont plus qu'un seul chemin pour atteindre le même effet.
Exemple le plus simple:
for et while sont non-orthogonales.
Orthogonalité est fonction de votre conception indépendante de la langue. Assurez-vous de certaines langues rendre plus facile pour vous d'avoir un plan orthogonal pour votre système, mais vous ne devriez pas se concentrer sur une langue spécifique à garder votre conception du système orthogonale que possible.
Orthogonalité n'est pas vraiment une fonctionnalité du langage en tant que tel, même si certaines langues ont des caractéristiques qui favorisent l'orthogonalité (telles que les annotations, construit en AOP, ..). Concernant l'orthogonalité en Java: j'ai écrit une petite étude de cas à propos de cette utilisation de log4j comme par exemple: "Orthogonalité Par Exemple" - vous pourriez trouver cela utile.
Manque d'Orthogonalité dans C:
void
Un langage de programmation est de considérer orthogonale si:
il y a un nombre relativement restreint de primitives constructions qui peuvent se combiner en un relativement petit nombre de façons de construire des données et des structures de contrôle
chaque structure juridique
Par exemple une langue avec 4 types de données primitifs (Int, Float, Double, Char) et deux
type d'opérateurs (Tableau et Pointeur) peut créer un nombre relativement important de structures de données.
Donc l'avantage d'orthogonalité est de faire un langage simple et ordinaire, car il y a moins d'exceptions.