Objet de première classe
En informatique, un objet de première classe (ou valeur de première classe, ou entité de première classe) dans le contexte d'un langage de programmation particulier est une entité qui peut être utilisée sans restriction[réf. nécessaire]. Selon le langage, cela peut impliquer :
- être expressible comme une valeur anonyme littérale ;
- être affecté à des variables ou des structures de données ;
- avoir une identité intrinsèque ;
- être comparable pour l'égalité ou l'identité avec d'autres entités ;
- pouvoir être passé comme paramètre à une procédure ou une fonction ;
- pouvoir être renvoyé par une procédure ou une fonction ;
- pouvoir être constructible lors de l'exécution.
Par exemple, en C, il n'est pas possible de créer de nouvelles fonctions à l'exécution alors que d'autres sortes d'entités peuvent l'être. Donc, en C, les fonctions ne sont pas des objets de première classe[réf. nécessaire]. Elles sont donc quelquefois appelées objets de seconde classe car elles peuvent être manipulées de la plupart des manières décrites ci-dessus. Elles peuvent l'être grâce à des pointeurs de fonctions[réf. nécessaire]. De manière similaire, les chaînes de caractères ne sont pas des entités de première classe en FORTRAN 66 car elles ne peuvent pas être assignées à des variables alors que les nombres peuvent l'être[réf. nécessaire].