La façon dont je comprends, ce qui suit est autorisé dans PHP car c'est une langue faiblement dactylographiée.
>>> var = "Hello" >>> type(var) <type 'str'> >>> var = 5 >>> type(var) <type 'int'>
4 Réponses :
Votre exemple démontre dynamique em> dactylographie, pas faible dactylographie. Le typage dynamique signifie généralement que le type de données qu'un objet peut stocker est mutable; Toute cible peut contenir une liaison à n'importe quel type d'objet. Contraste qu'avec, disons, c #, qui est statiquement dactylographié [*]. $x = 1 + "1"; // x is 2
Je pense que vous voulez dire 2 pour ce dernier, pas '11'.
Oh je vois. Je l'avais mélangé. Si je veux une langue statistiquement typée pour le Web, je devrais probablement aller avec C # ou Java.
Eh bien, je avez I> écrit une application CGI en C ++ avant, mais je ne le recommande pas.
Confus: Si vous aimez la syntaxe Pythons, vérifiez la langue BOO pour la plate-forme CLR. Pour le JVM Scala vous donne beaucoup plus de vérification de type et moins de code verbose.
@Confused: Non. Vous ne voulez pas une langue statistique typée. Java et C # sont de grandes douleurs au cou pour travailler avec. Vous devez poser votre vraie question (comme une question distincte). Pourquoi pensez-vous que la typage statique est-elle? Que faites-vous cela fait de la typographie statique "sembler" si importante?
Oui. Ce n'est pas une typographie forte / faible, c'est-à-dire la typographie statique / dynamique. La saisie faible permet des choses telles que 5 + '5' code> à égal 10. P>
Intéressant - alors Java serait faiblement de type, du moins dans la relation de nombres et de chaînes primitives.
Il n'y a pas de définition réelle de la typographie faible ou de la frappe forte. Tout sur les conversions de type implicites et n'a rien à voir avec la typage statique / dynamique. P>
une langue typée statiquement comme Java peut être faiblement dactylographiée (pas si c'est-à-dire) et une langue dactylographiée de manière dynamique comme PHP Un langage faiblement dactylographié est plus libéral dans quels types de données peuvent être mélangés dans certaines opérations. P>
faux! Le plus gros problème PHP qu'elle a faible type Lang, car vous pouvez avoir des bugs cachés dans le code comme des variables non définies, des fonctions, etc.- Maintenir l'application Web de PHP très dure, car cette raison
@Yosef Votre commentaire semble être complètement indépendant de cette réponse (que vous avez mal à tort, c'est faux).
Un ajout la première réponse: C'est un TAD plus compliqué car dans Python, l'opérateur + est surchargé de sens, il serait à la fois d'ajouter (mathématiques) et de concaténer (coller deux cordes). Dans l'exemple PHP
$i = 1 . "1" // $i == "11"
Python est une langue dynamique de sorte qu'il est faiblement tapé dans un sens et fortement typé dans d'autres (il n'y a pas de définition unique), mais toute la question est beaucoup plus compliquée que cela. Voir wiki.python.org/moin/strongvsweaktyping
duplicaté possible de peut-on me dire quels moyens de typage et de typage faibles et qui sont meilleurs? , ainsi que est-ma-compréhension-de-types-systèmes-correct
Je pense que ce n'est pas une dupe car cela est très spécifique à Python. Ce n'est pas comme si nous ne pouvons plus demander des questions spécifiques à la langue sur le système de type, car une typing forte et faible a été expliquée dans les réponses à d'autres questions. D'une part, même si cela l'a expliqué, il serait difficile de trouver entre toutes les autres informations.