Языки Java и .NET, как отмечали другие комментаторы, хотя строки Java - это UTF-16, а не UCS или UTF-8. (В то время это казалось разумной идеей! Теперь очевидно, что лучше либо UTF-8, либо UCS.) И Python 3 действительно отличается от несовместимых языков с Python 1.x и 2.x, поэтому он также подходит.
Языки Plan9 примерно в 1992 году были, вероятно, первыми, кто сделал это: их диалект C, rc
, Alef, mk
, ACID и т. Д., Были все с поддержкой Unicode. Они выбрали очень простой подход, согласно которому все, что не было ASCII, было идентифицирующим символом. См. Их статью 1993 года на эту тему. (Это проект, в котором был изобретен UTF-8, что означало, что они могли сделать это довольно совместимым способом, в частности, без использования двоичного текста и текста через все их программы.)
Другие языки, которые поддерживают не ASCII-идентификаторы, включают текущий PHP.