[Languages] Typage fort, faible et dynamique.

Fermé
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 12 mai 2003 à 14:49
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 13 mai 2003 à 13:42
Voici 2 articles intéressants qui parlent de typage dynamique, et en quoi la souplesse des langages qui supportent le typage dynamique peuvent faciliter la vie du programmeur.
Est-ce l'avenir ?
http://www.tbray.org/ongoing/When/200x/2003/05/08/FutureLanguage
http://mindview.net/WebLog/log-0025

(dont un article de Bruce Eckel, une sommité de la conception objet, et membre du comité Ansi C++).


Background:

Dans un langage fortement typé, le type des variables est déterminé à la compilation (ex: C, C++, C#, Java...)
Exemple: int a=5; string b="toto"; print a+b
déclenchera une erreur à la compilation.

Dans un langage faiblement typé, le type des variables n'est pas fixé (ex: Javascript). Le langage effectue des conversions implicites à l'exécution (horreur !)
Exemple: a=5; b="toto"; print a+b
ne déclenchera pas d'erreur à l'exécution.

Dans un langage à typage dynamique, le type d'une variable à un instant donné est fixe, mais ce type peut varier au cours de la vie du programme (ex: Python).
Exemple: a=5; b="toto"; print a+b
déclenchera une erreur à l'exécution, mais pas à la compilation.
Mais: a=5; b="toto"; a="titi"; print a+b
ne déclenchera pas d'erreur (ni à l'exécution, ni à la compilation).

3 réponses

choubaka Messages postés 39420 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 19 février 2025 2 104
13 mai 2003 à 09:43
Exemple: int a=5; string b="toto"; print a+b
déclenchera une erreur à la compilation.


salut seb, pas tout à fait d'accord avec ton premier point, en java par exemple, c'est tout à fait accepté, en C++ je sais pos, mais bon
Chouba
Dansa la choubada
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 662
13 mai 2003 à 13:42
mmm... mon exemple n'était pas assez particulier.
C'est vrai que le print va implicitement effectuer des conversions en chaîne. :-/
0
choubaka Messages postés 39420 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 19 février 2025 2 104
13 mai 2003 à 12:01
là je suis de tout coeur avec vous les jeunes 8)

Chouba
Dansa la choubada
1
Fu Xuen Messages postés 3642 Date d'inscription jeudi 24 avril 2003 Statut Contributeur Dernière intervention 11 septembre 2005 305
13 mai 2003 à 10:32
Je me permets d'ailleurs d'insister sur la qualité des livres (disponibles en ligne !) publiés par B. Eckel (en tout cas "Thinking in C++" et "Thinking in Java").

-= Fu Xuen =-
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 662
13 mai 2003 à 11:43
Oui ils sont excellents !
Il y a aussi "Thinking in Python", mais ça devrait plutôt s'appeler "Design patterns in Python".
0