Dactylographie faible
Dans le de l'informatique, la dactylographie faible est une propriété attribuée au type les systèmes de quelques langages de programmation que c'est l'opposé de la dactylographie forte , et par conséquent la dactylographie faible limite a autant de différentes significations comme le fait la dactylographie forte (voir la dactylographie forte pour une liste et une discussion détaillée).
Une des définitions plus communes déclare que que les langages de programmation faible-dactylographiés sont ceux qui soutiennent la conversion de types implicite (presque toutes les langues soutiennent au moins un conversion de types implicite), le polymorphisme ad hoc (également connu sous le nom de surchargeant ) ou tous les deux. Ces règles moins restrictives d'utilisation peuvent donner l'impression que l'adhérence stricte aux règles de dactylographie est moins importante que dans les langues strongly-typed et par conséquent que le type système est " ; weaker" ;. Cependant, de telles langues ont habituellement des restrictions à ce que les programmeurs peuvent faire avec les valeurs d'un type donné ; ainsi il est possible que une langue faible-dactylographiée soit le type sûr de . D'ailleurs, faible-dactylographié des langues peut être le statiquement dactylographié, dans ce cas la surcharge est résolue statiquement et opérations de conversion de types sont insérés par le compilateur, ou dynamiquement dactylographié, dans ce cas tout est resolved au temps d'exécution.
L'avantage réclamé de la dactylographie faible est qu'il exige moins d'effort de la part du programmeur que la dactylographie forte , parce que le compilateur ou l'interprète exécute implicitement certains genres de conversions. Cependant, on a réclamé l'inconvénient est celui crochet faiblement dactylographié de systèmes de programmation peu d'erreurs à au moment de la compilation et certaines de ces derniers pourraient restent toujours après que l'essai ait été accompli. Deux langues utilisées généralement qui soutiennent beaucoup de genres de conversion implicite sont le C et le C++ , et lui est parfois réclamées que ce sont faiblement des langages opérant sur des objets de types déterminés. Cependant, d'autres arguent du fait que ces langues imposent assez de restrictions sur la façon dont les opérandes des différents types peuvent être mélangés, que les deux devraient être considéré comme des langages opérant sur des objets de types déterminés fortement.
C++ impose plus de restrictions à la manipulation des types énumérés que C :
animal d'enum {CAT=0, DOG=2, PIG=3} ; animal a = CAT ; /* le mot-clé d'enum ici est facultatif dans C++ * animal b = 1 ; /* ceci est une erreur dans C++ *
.
| Random links: | Machine de SECD | Chanson de l'Australie | d'USS Niagara (SP-263) | McCrae, Victoria | Jayne Modean | El_mecanografiar_débil |