Question

Quels langages de programmation largement utilisés ont été conçus avec le support Unicode?

De nombreux langages de programmation ont ajouté la prise en charge Unicode dans les versions ultérieures, mais quels langages largement utilisés ont été publiés avec la prise en charge Unicode dès le premier jour?

Était-ce utile?

La solution

Java a probablement été le premier langage populaire à prendre en charge la technologie Unicode.

Autres conseils

Fondamentalement, tous les langages .NET sont des langages Unicode, tels que C # et VB.NET .

Python 3 a subi de nombreux changements radicaux, notamment le passage à Unicode pour tout le texte .

Ainsi, Python n'a pas été conçu pour Unicode, mais Python 3 l'a été.

Je ne sais pas jusqu'où cela peut aller dans d'autres langues, mais un aspect amusant de C # est que non seulement la exécution (la chaîne , etc.) unicode conscient - mais l'unicode est entièrement pris en charge dans le code source:

using משליט = System.Object;
using תוצאה = System.Int32;
public class שלום : משליט  {
    public תוצאה בית() {
        int אלף = 0;
        for (int λ = 0; λ < 20; λ++) אלף+=λ;
        return אלף;
    }
}

Le langage de programmation Go de Google prend en charge Unicode et fonctionne avec UTF-8.

Il est vraiment difficile de concevoir la prise en charge d'Unicode pour le futur, dans un langage de programmation dès le début.

Java est l’un des langages qui l’a conçu dans sa spécification. Toutefois, la prise en charge de Unicode dans la version 1.0 de Java est différente. à partir de la v5 et de la v6 du SDK Java. Cela est principalement dû à la version d'Unicode à laquelle la spécification de langue a pris en compte, lorsque la langue a été conçue à l'origine. Java tente de suivre les modifications du standard Unicode avec chaque version majeure.

Les premières implémentations de JLS pouvaient demander le support Unicode, principalement parce qu'Unicode lui-même supportait 65 536 caractères (v1.0 d'Unicode 1.1 supporté par Java et Unicode 3.0 supporté par Java v1.4) compatible avec l'espace de stockage 16 bits pris up par des personnages. Cela a changé avec Unicode 3.1 - c'est un standard en évolution, généralement avec plus de caractères ajoutés dans chaque version. Les caractères ajoutés plus tard dans la version 3.1 s'appellent caractères supplémentaires . La prise en charge des caractères supplémentaires a été ajoutée à Java 5 via JSR-204 ; Java 5 et 6 prennent en charge l’Unicode 4.0.

Par conséquent, ne soyez pas surpris si différents langages de programmation implémentent différemment la prise en charge de Unicode.

D'autre part, PHP (!!) et Ruby ne disposaient pas d'un support Unicode intégré lors de leur création.

PS: la version 5.1 de Unicode doit être prise en charge dans Java 7 .

Java et les langages .NET, comme l'ont souligné d'autres commentateurs, bien que les chaînes de caractères Java soient UTF-16 plutôt que UCS ou UTF-8. (À l'époque, cela paraissait être une idée raisonnable! Maintenant, il est préférable d'utiliser UTF-8 ou UCS.) Et Python 3 est vraiment un langage différent et incompatible de Python 1.x et 2.x, donc il remplit également les conditions requises.

Les langues de Plan9 vers 1992 ont probablement été les premières à le faire: leur dialecte C, rc , Alef, mk , ACID, etc., étaient tous Unicode. -activée. Ils ont adopté une approche très simple: tout ce qui n'était pas ASCII était un caractère identificateur. Voir leur article de 1993 sur le sujet. (C’est le projet où UTF-8 a été inventé, ce qui signifie qu’ils pourraient le faire de manière assez compatible, en particulier sans passer au binaire par rapport au texte dans tous leurs programmes.)

Les autres langages prenant en charge les identifiants non-ASCII incluent PHP actuel.

Perl & nbsp; 6 dispose d'une prise en charge complète de l'unicode.
(Le compilateur Rakudo & nbsp; 6 de Perl & 6 étant la première implémentation)

Présentation générale

opérateurs Unicode

Les chaînes, les expressions rationnelles et les grammaires fonctionnent tous sur la base de graphèmes, même pour les combinaisons de points de code pour lesquelles il n’existe aucune représentation composée (un code composé de représentation composée est généré à la volée pour ces cas).

Un codage spécial existe pour gérer les données de codage inconnu "utf8-c8": cela suppose utf-8 lorsque cela est possible, mais crée des points de code artificiels pour les séquences non codables, leur permettant ainsi de faire un aller-retour si nécessaire.

Parfois, une fonctionnalité incluse dans une langue lors de sa conception n’était pas toujours la meilleure.

Les langues ont évolué au fil du temps et nombre d'entre elles sont devenues surchargées de fonctionnalités supplémentaires, sans pour autant rester à jour avec les fonctionnalités initialement incluses.

Je viens donc de dire que vous ne devriez pas nécessairement négliger les langages qui ont récemment ajouté Unicode. Ils auront l’avantage d’ajouter Unicode à un outil de développement déjà mature et d’avoir la chance de le faire correctement du premier coup.

Dans cet esprit, je veux m'assurer que Delphi est inclus ici, en tant que l'une de vos réponses. Embarcadero a ajouté Unicode dans sa version de Delphi 2009 et a effectué un travail remarquable. C’était suffisant pour finalement me proposer de passer de Delphi 4 à une mise à niveau que j’utilisais depuis 10 ans.

Java utilise des caractères du jeu de caractères Unicode.

langues java et .net

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top