Maison  >  Article  >  Quelle est la différence entre les langages statiques et dynamiques ?

Quelle est la différence entre les langages statiques et dynamiques ?

不言
不言original
2019-04-03 15:37:2637000parcourir

Quelle est la différence entre les langages statiques et dynamiques ?

La différence entre langage statique et langage dynamique :

Différence 1 :

Un langage statique est un langage dans lequel le type de données des variables peut être déterminé au moment de la compilation. La plupart des langages typés statiquement exigent que le type de données soit déclaré avant d'utiliser des variables. Par exemple, C/C++ est un représentant typique de ; Les langages typés statiquement et d'autres langages typés statiquement incluent C#, JAVA, etc.

Les langages dynamiques sont des langages qui déterminent les types de données au moment de l'exécution. Il n'est pas nécessaire d'effectuer une déclaration de type avant d'utiliser une variable. Habituellement, le type d'une variable est le type de la valeur à laquelle elle est affectée ; Python et Ruby sont des langages typés dynamiquement typiques, ainsi que divers autres langages de script tels que JavaScript est également un langage typé dynamiquement.

Différence 2 :

Les langages typés statiquement effectueront des vérifications de correspondance de type lors de la compilation, de sorte que les variables ne peuvent pas se voir attribuer des valeurs de types différents. Afin de résoudre ce problème, les langages orientés objet typés statiquement obtiennent généralement des effets polymorphes grâce à la technologie de transformation ascendante.

Les types variables des langages typés dynamiquement sont variables au moment de l'exécution, ce qui signifie que le polymorphisme des objets est inhérent. Le fait qu'un objet puisse effectuer une certaine opération dépend uniquement de l'existence ou non d'une méthode correspondante, et non du fait qu'il s'agisse d'un objet d'un certain type.

Différence trois :

Avantages du langage statique :

En raison de la déclaration obligatoire des types, l'EDI a une forte connaissance du code, donc dans la mise en œuvre d'une logique métier complexe, le développement de systèmes commerciaux à grande échelle et d'applications avec des cycles de vie longs, en s'appuyant sur des IDE peuvent garantir le développement du système

Étant donné que les langages statiques sont relativement fermés, les packages de développement tiers ne sont pas adaptés ; pour Le caractère invasif du code peut être minimisé ;

Avantages du langage dynamique :

Le nombre de codes écrits est inférieur, il semble plus concis et vous pouvez vous concentrer davantage sur la logique métier. Bien que ne pas faire de distinction entre les types puisse rendre le programme difficile à comprendre dans certains cas, dans l'ensemble, plus la quantité de code est petite et plus l'expression logique est concentrée, plus il est utile de lire le programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn