2013-10-13 1 views
2

Ainsi, à travers mon expérience de programmation, j'ai rencontré deux types d'annotations de type pour les langues statiquement typées: je les appelle 'avant' et 'après'. langues C-style utilisent le formatAnnotations de type C par rapport à d'autres

int i = 5 

Bien que la plupart des langues non-c-famille utilisent le format

var c:int = 5 

Des exemples de la première catégorie serait C, C++, Java; des exemples de cette dernière catégorie seraient Scala, Haxe, Go.

Cela peut sembler à certains d'être superficiel, mais ma question est: quels sont les avantages de chaque style? Pourquoi utiliser l'un sur l'autre? Pourquoi C a-t-il adopté ce style en premier lieu?

+0

Lequel vous semblez simple? –

+0

C++: 'auto i = int {5}'. L'ordre de lecture de gauche à droite devient la norme :-) –

+2

Aucun d'eux n'a d'avantages sur l'autre. C'est juste une question de conception du langage et cela ne modifiera que les différentes sections du compilateur. C'est tout! –

Répondre

1

La machine ne s'en soucie pas - c'est juste que les personnes qui ont conçu certaines langues ont senti que certains types de syntaxe sont meilleurs ou plus facilement lisibles que les autres. Les compilateurs modernes ont habituellement plusieurs étapes de traitement, et presque toutes ces différences syntaxiques sont généralement perdues après la première étape, qui analyse le texte et les convertit ensuite en structures internes du compilateur (AST - arbre de syntaxe abstraite).

Il existe des précédents historiques, par ex. le "préfixe" vs "infixe" vs "postfix" notation (http://en.wikipedia.org/wiki/Polish_notation, http://en.wikipedia.org/wiki/Infix_notation, http://en.wikipedia.org/wiki/Reverse_Polish_notation) qui dans le contexte de l'histoire de l'ingénierie informatique ont été utilisés dans les cas de bord - par ex. la notation "infix" est généralement plus difficile à analyser et nécessite plus de mémoire que la notation postfix/RPN, donc elle n'était pas utilisée là où les ressources étaient vraiment rares (plusieurs KiB de mémoire ou moins), mais la plupart de ces raisons sont obsolètes. assez puissant. Aujourd'hui, lors de la conception d'un langage, le choix de tels détails de syntaxe est influencé par la tentative de rendre le langage similaire à un autre langage ou groupe de langues populaire pour lequel il existe déjà des programmeurs, afin d'éviter de Mars "que peu de gens vont utiliser.

tl; dr: Cela dépend de la personne qui a créé la langue et de ce qu'il est plus lisible ou «la bonne chose à faire».

Questions connexes