Какие языки программирования изначально были разработаны с поддержкой Unicode?

StackOverflow https://stackoverflow.com/questions/1416215

Вопрос

Какие широко используемые языки программирования были разработаны с нуля с поддержкой Unicode?

Многие языки программирования добавили поддержку Unicode в более поздних версиях, но какие широко используемые языки были выпущены с поддержкой Unicode с первого дня?

Это было полезно?

Решение

Java был, вероятно, первым популярным языком, в котором появилась поддержка Юникода.

Другие советы

В основном все языки .NET являются языками Unicode, такими как C # и VB.NET .

В Python 3 было много серьезных изменений, в том числе переход на Юникод для всего текста .

Таким образом, Python не был предназначен для Unicode, но Python 3 был.

Я не знаю, насколько это далеко зашло в других языках, но забавно, что C # - это не только юникод runtime (класс string и т. д.) в курсе - но Юникод полностью поддерживается в источнике:

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

язык программирования Go от Google поддерживает Unicode и работает с UTF-8.

Действительно сложно с самого начала спроектировать поддержку Unicode на языке программирования в будущем.

Java — один из языков, в спецификации которого это заложено.Однако поддержка Unicode в версии Java 1.0. отличается от v5 и v6 Java SDK.В первую очередь это связано с версией Unicode, которую учитывала спецификация языка при его первоначальной разработке.Java пытается отслеживать изменения в стандарте Unicode в каждом основном выпуске.

Ранние реализации JLS могли претендовать на поддержку Unicode, прежде всего потому, что сам Unicode поддерживал 65536 символов (версия Java 1.0 поддерживала Unicode 1.1, а Java v1.4 поддерживала Unicode 3.0), что было совместимо с 16-битным пространством хранения, занимаемым символами. .Ситуация изменилась с появлением Unicode 3.1 — это развивающийся стандарт, обычно в каждом выпуске которого добавляется больше символов.Персонажи, добавленные позже в версии 3.1, назывались дополнительные персонажи.Поддержка дополнительных символов была добавлена ​​в Java 5 через ДЖСР-204;Java 5 и 6 поддерживают Unicode 4.0.

Поэтому не удивляйтесь, если разные языки программирования по-разному реализуют поддержку Unicode.

С другой стороны, PHP(!!) и Ruby не имели встроенной поддержки Unicode на момент создания.

ПС:Поддержка версии 5.1 Unicode должна быть реализована в Ява 7.

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. -Enabled. Они выбрали очень простой подход, согласно которому все, что не было ASCII, было идентифицирующим символом. См. Статью с 1993 г. предмет. (Это проект, в котором был изобретен UTF-8, что означало, что они могли сделать это довольно совместимым образом, в частности, без использования двоичного текста против текста во всех своих программах.)

Другие языки, которые поддерживают не ASCII-идентификаторы, включают текущий PHP.

Perl & nbsp; 6 полностью поддерживает юникод.
компилятором Rakudo & nbsp; Perl & nbsp; 6 - первой реализацией)

Общий обзор

операторы Юникода

Строки, регулярные выражения и грамматики все работают на основе графем, даже для тех комбинаций кодовых точек, для которых нет составного представления (для этих случаев на лету создается искусственная кодовая точка составного представления).

Существует специальная кодировка для обработки данных неизвестной кодировки "utf8-c8": это предполагает использование utf-8, когда это возможно, но создает искусственные кодовые точки для не кодируемых последовательностей, позволяя им при необходимости выполнять обход туда и обратно.

Иногда функция, которая была включена в язык при его первоначальном проектировании, не всегда является лучшей.

Языки со временем менялись, и многие стали раздутыми с дополнительными функциями, но при этом не обязательно были в курсе тех функций, которые были вначале включены.

Поэтому я просто отказываюсь от идеи, что не обязательно сбрасывать со счетов языки, которые недавно добавили Unicode. У них будет преимущество в том, что они добавят Unicode к уже зрелому инструменту разработки и получат шанс сделать это правильно с первого раза.

Имея это в виду, я хочу убедиться, что Delphi включен сюда как один из ваших ответов. Embarcadero добавил Unicode в свою версию Delphi 2009 и отлично поработал над этим. Этого было достаточно, чтобы наконец-то побудить меня перейти с Delphi 4, которым я пользовался 10 лет.

Java использует символы из набора символов Unicode.

языки Java и .net

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top