[Languages] Typage fort, faible et dynamique.

sebsauvage Messages postés 33415 Statut Modérateur -  
sebsauvage Messages postés 33415 Statut Modérateur -
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 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 106
 
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 33415 Statut Modérateur 15 667
 
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 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 106
 
là je suis de tout coeur avec vous les jeunes 8)

Chouba
Dansa la choubada
1
Fu Xuen Messages postés 3651 Statut Contributeur 305
 
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 33415 Statut Modérateur 15 667
 
Oui ils sont excellents !
Il y a aussi "Thinking in Python", mais ça devrait plutôt s'appeler "Design patterns in Python".
0