Les langages non-typés sont très peu nombreux. Les plus courants sont les langages machine, c'est-à-dire les ensembles de valeurs numériques correspondants aux jeux d'instructions de différentes machines. Il va sans dire que ces langages ne sont quasiment plus jamais utilisés de nos jours, si ce n'est par l'unité centrale de tout ordinateur.
Les langages assembleurs permettent d'associer des mnémoniques aux différentes opérations que le processeur central d'un ordinateur peut effectuer et peuvent être considérés comme très faiblement typés puisqu'ils admettent généralement la déclaration de constantes entières dans différentes bases, des constantes caractère ou chaîne de caractères et éventuellement des constantes en virgule flottante. Il n'est toutefois fait aucun contrôle quant à la correspondance entre le type de la constante et l'opération à effectuer.
Certains langages tels LISP ou PROLOG peuvent être considérés comme faiblement typés car, s'ils associent un type au contenu des variables qu'ils manipulent, ce type n'est pas déterminé à l'avance par le programmeur mais plutôt déterminé à l'exécution, par le contexte, lors de l'attribution d'une nouvelle valeur à une variable. Une variable peut donc changer de type au cours de l'exécution du programme; aucun contrôle n'est fait quant à la validité de l'opération.
D'autres langages dits de "haut niveau" tels que FORTRAN, BASIC peuvent être considérés comme moyennement typés car, si un type permanent est associé à chaque variable d'un programme (parfois implicitement), aucun contrôle n'est fait quant à la correspondance entre les opérations effectuées et le type des variables sur lesquelles ces opérations agissent.
La tendance des langages généraux de ces dernières années (ALGOL-1968, PASCAL-1971, MODULA 2-1980, ADA-1980) va vers des langages fortement typés. Dans ces langages toute variable utilisée dans un programme doit avoir un type associé et un contrôle est effectué lors de la compilation et lors de l'exécution pour s'assurer que toute modification de variable ou tout passage de paramètres à des procédures respecte les contraintes de typage, de façon à pouvoir détecter, au plus tôt dans le processus de mise au point d'un programme, un maximum d'erreurs qui peuvent s'y être glissées. Pour ce faire, on augmente la redondance des informations contenues dans les programmes pour pouvoir déceler les éventuelles incohérences.
Site Hosting: Bronco