UN langage de programmation qui n'exige pas la définition d'une variable est appelé un langage mal typé . Par exemple, Perl est un langage typé de manière flexible qui vous permet de déclarer des variables sans avoir à spécifier le type de la variable. Le variable $test , qui dans l'exemple ci-dessous peut être utilisé comme un entier ou une chaîne, est déclaré dans la première ligne.
Le langage de programmation C est un exemple de langage fortement typé , ce qui est le contraire d'un langage faiblement typé .
Fort et Programmation lâche/faiblement typée Les langages peuvent être utilisés pour catégoriser tous les langages de programmation. Chacune de ces classes présente des avantages et des inconvénients dans le domaine de la programmation et définit la rigueur du langage de programmation.
Un langage de programmation pour ordinateurs qui ne prend pas en compte le type de données d'une variable est appelé langage mal typé . Par rapport aux langages fortement typés, ce langage facilite la définition de variables avec différents types de données. Un type de données indique essentiellement au compilateur quel type de valeur et d'actions cette variable spécifique peut stocker.
Les limites fortes sur le type de données variable ne sont pas disponibles dans un langage mal typé . Le compilateur de ce type de langage exécute l'opération qui y est spécifiée quel que soit le type de données qu'il contient lors de la compilation. Le compilateur ignore les petites erreurs en fonction des types de données.
Utilisons un exemple pour clarifier notre propos. Supposons que vous construisiez une variable dans un langage peu typé, que vous l'initialisiez avec un nombre, puis que vous déclariez que vous souhaitez stocker une chaîne dans cette variable ultérieurement. Parce qu'ils ne génèrent aucune erreur lors de la compilation, les langages faiblement typés vous offrent la liberté d'échanger des valeurs.
var v1= 23; console.log(v1); /*and here, the data type of variable named v1 is changed*/ v1 ='changed'; console.log(v1);
Quelles caractéristiques définissent une langue faiblement typée ?
- Par rapport aux langages fortement typés, ces langages offrent des restrictions de typage moins rigides.
- De nombreux types de données sont implicitement transformés au cours de l'exécution d'un programme.
- Quel que soit le type de données dans lequel elles se trouvent actuellement, les variables peuvent être simplement converties en un autre type de données.
- Il n'est pas nécessaire d'identifier le type de données d'une variable lors de sa déclaration.
- Ces langages ne disposent d'aucune vérification au moment de la compilation ou de l'exécution pour détecter les violations des contraintes de type de données.
Quels sont les avantages d’un langage mal typé ?
1. Permet une certaine flexibilité
Comparés aux langages fortement typés, ces langages sont beaucoup plus flexibles. Ces langages sont choisis plutôt que les langages fortement typés pour créer des applications dynamiques en raison de leur flexibilité. Travailler sur des applications dynamiques peut s'avérer difficile pour les développeurs, car ces applications obligent les utilisateurs à prendre des décisions basées sur des faits inconnus. La raison étant qu'ils n'associent pas fermement une variable à un type de données spécifique, les langages faiblement typés rendent la gestion de cette situation assez simple.
2. Choix de programmation
La liberté de créer et de manipuler leurs propres règles de programmation est offerte par des langages faiblement typés comme PHP pour les développeurs. En revanche, les développeurs d'un programme écrit dans un langage fortement typé doivent respecter strictement les règles prédéfinies pour que le programme s'exécute.
3. Réutilisabilité du code
Une variable peut être réutilisée dans ce langage une fois déclarée chaque fois que cela est nécessaire. Selon les développeurs, une variable spécifique peut être utilisée plusieurs fois pour stocker différents types de données. Dans le cas de programmes complexes, cela est très utile pour rendre le code organisé et plus court.
4. Plus rapide et avec moins d'utilisation de la mémoire
Ces langages sont simples et fonctionnent plus rapidement que les langages fortement typés. Ces langages affichent des applications complexes à un rythme nettement plus rapide. Ils nécessitent également moins de mémoire. Les applications complexes sont rendues car ces langages permettent aux développeurs de réutiliser des variables.
5. Simple et économique
Ces langages sont faciles à apprendre et peuvent fonctionner sur n’importe quelle plateforme. Les développeurs y sont attirés en raison de sa simplicité. Ces langages, comme PHP, sont gratuits et simples à utiliser, ce qui les rend également rentables.
Quels sont les inconvénients d’un langage mal typé ?
1. Apporter des résultats inattendus
Ces langages produisent souvent des résultats surprenants. Si une chaîne est fournie à une opération conçue pour fonctionner sur un type de données entier, par exemple, le résultat sera imprévisible et aléatoire. Les développeurs doivent donc redoubler de prudence lorsqu’ils travaillent avec ce type de langages.
2. code difficile à déboguer
Il peut être assez difficile de déboguer du code dans un langage faiblement typé par rapport aux langages fortement typés. Il peut être assez difficile d'identifier la valeur stockée dans la variable qui a produit le résultat inattendu, car les variables sont allouées plusieurs fois au sein de la même application. Cependant, des règles spécifiées et un haut niveau de rigueur sont fournis par des langages fortement typés, qui simplifient la réduction des erreurs.
Quels sont quelques exemples de langage mal typé ?
- Perl
- PHP
- Javascript
- VB
Qu’est-ce qui distingue une langue faiblement typée d’une langue fortement typée ?
Langage fortement typé | Langage mal typé |
---|---|
Il est nécessaire de préciser le type de données d'une variable. | Il n'est pas nécessaire de spécifier le type de données d'une variable. |
La flexibilité de programmation n'est pas autorisée. | Cela donne une flexibilité de programmation. |
prend plus de mémoire | Prend moins de mémoire |
Cela empêche une simple conversion de type de données. | Cela simplifie la conversion des types de données. |
Il n'a aucune flexibilité. | Il a de la flexibilité. |
Par exemple. Java, c++, c, c#, python, etc. | Par exemple. Javascript, dactylographié, php, etc. |