En programmation informatique, un identificateur ou identifiant est un mot choisi par le programmeur et qui, tel une étiquette, désigne une donnée du programme : variable, constante, procédure, type Un identifiant et sa valeur forment une sorte de symbole, comparables à ceux des mathématiques, à la différence qu'en programmation courante la valeur peut changer au cours du temps.
On peut distinguer les langages de programmation suivant les règles d'écriture des identifiants, et notamment les jeux de caractères autorisés : ASCII uniquement, jeux de caractères locaux, ou Unicode.
Unicode définit dans une de ses annexes, une base pour spécifier les identificateurs, tout en permettant à chaque langage de fonctionner sur des variantes de cette base.
Les langages Ada, Java, Microsoft .NET, Perl 5.16, Perl 6, StarOffice Basic sont compatibles avec des identificateurs Unicode.
Les langages Clisp, Delphi devraient/pourraient être compatibles avec des identificateurs Unicode.
ocaml-ulex
Pour le langage C, la norme ISO/IEC 9899:1999 définit dans son annexe normative D les caractères autorisés dans les identificateurs, en reprenant la norme ISO/IEC TR 10176:1998. Sont notamment permis des ensembles de caractères latins, grecs, cyrilliques, tibétains, et CJK. de chiffres, en plus de la plage ASCII, ainsi que certains caractères spéciaux sont également autorisés.
Le langage Python ambitionne de pouvoir supporter des identificateurs dans des langues autres que la seule langue anglaise avec le PEP 3131 .
Les développeurs ont parfois besoin d’exprimer les concepts qu’ils utilisent avec des mots et des symboles qui leur sont familiers, en particulier pour les non anglophones.
Par ailleurs, avec l’usage croissant d’Internet, l’usage d’Unicode se répand. En programmation, il est présent :
dans les chaînes de caractères des langages, en particulier Java et .NET représentent par défaut toutes les chaînes en Unicode ;
dans les systèmes d’exploitations, en particulier dans Microsoft Windows.
Les langages s’interfaçant avec Java et .