Cela dépend de la langue.
Par exemple, dans des langages comme C et C ++, vous avez un certain nombre de types intégrés scalaires - int
, float
, double
, char
, etc. Ce sont des « primitifs » dans le sens où ils ne peuvent pas être décomposés en éléments plus simples. À partir de ces types de base, vous pouvez définir de nouveaux types - types de pointeur, types de tableau, types de structure, types d'union, etc.
Ensuite, vous avez une langue comme le Lisp de la vieille école, où tout est soit un atome, soit une liste . Là encore, selon la définition ci-dessus, un atome est "primitif" en ce sens qu'il ne peut être décomposé en quelque chose de plus simple.
modifier
En ce qui me concerne, les termes "primitif", "basique" et "intégré" sont assez interchangeables. Cependant, si vous voulez être vraiment pédant, vous pouvez distinguer les types qui sont "intégrés" (ceux explicitement fournis par la définition du langage) des types dérivés des types intégrés qui sont toujours "primitifs" ou "de base". en ce qu'ils ne peuvent pas être décomposés en éléments plus simples. Ctypedef
Cette fonctionnalité vous permet de créer de nouveaux noms de types pour les types existants. Ada vous permet de créer de nouveaux types scalaires soumis à des contraintes. Par exemple, vous pouvez dériver un type Latitude du type flottant intégré, avec la contrainte qu'il ne peut pas accepter de valeurs en dehors de la plage [-90.0, 90.0]. Il s'agit toujours d'un type primitif ou de base, dans la mesure où il ne peut pas être décomposé en composants plus simples, mais comme il est défini par l'utilisateur, il n'est pas considéré comme un type "intégré".
Encore une fois, ces concepts sont un peu flous et cela dépend vraiment du contexte. Par exemple, la notion de type "intégré" n'a pas de sens pour un langage sans typage comme BLISS.