最初からUnicodeサポートを使用して設計されたプログラミング言語はどれですか?
質問
広く使用されているプログラミング言語は、Unicodeをサポートしてゼロから設計されたものですか?
多くのプログラミング言語が後のバージョンで後付けとしてUnicodeサポートを追加しましたが、最初からUnicodeサポートを使用してリリースされた広く使用されている言語はどれですか?
解決
Javaはおそらく、Unicodeを完全にサポートした最初の人気言語です。
他のヒント
基本的に、.NET言語はすべて、 C#や VB.NET などのUnicode言語です。
Python 3には、すべてのテキストのUnicode 。
つまり、 Python はUnicodeの基礎設計ではありませんが、Python 3 は設計されました。
これが他の言語でどの程度進むのかわかりませんが、C#の楽しいところは、 runtime ( string
クラスなど)だけではないことです注意-ただし、ソースではユニコードが完全にサポートされています:
using משליט = System.Object;
using תוצאה = System.Int32;
public class שלום : משליט {
public תוצאה בית() {
int אלף = 0;
for (int λ = 0; λ < 20; λ++) אלף+=λ;
return אלף;
}
}
Googleの Goプログラミング言語はUnicodeをサポートし、UTF-8で動作します。
最初からプログラミング言語で将来のUnicodeサポートを設計することは本当に困難です。
Javaは、言語仕様に組み込まれた言語の1つです。ただし、Java のUnicodeサポートは異なりますJava SDKのv5 およびv6から。これは主に、言語が最初に設計されたときに、言語仕様が対応したUnicodeのバージョンによるものです。 Javaは、メジャーリリースごとにUnicode標準の変更を追跡しようとします。
主にUnicode自体が65536文字(Javaのv1.0はUnicode 1.1をサポートし、Java v1.4はUnicode 3.0をサポート)で、16ビットストレージスペースと互換性があるため、JLSの初期実装はUnicodeサポートを要求できました文字単位で。それはUnicode 3.1で変更されました。これは進化する標準であり、通常は各リリースでより多くの文字が追加されます。 3.1以降で追加された文字は、補足文字と呼ばれていました。補助文字のサポートは、Java 5で JSR-204 を介して追加されました。 Java 5および6はUnicode 4.0をサポートしています。
したがって、異なるプログラミング言語がUnicodeサポートを異なる方法で実装していても驚かないでください。
一方、PHP(!!)とRubyには、開始時にUnicodeサポートが組み込まれていませんでした。
PS:Unicodeのv5.1のサポートは、 Java 7 で行われます。 a>。
Javaおよび.NET言語は、他のコメンターが指摘しているように、Javaの文字列はUCSまたはUTF-8ではなくUTF-16です。 (当時、それは賢明なアイデアのようでした。今では明らかにUTF-8かUCSのどちらかが優れているでしょう。)そして、Python 3は実際にはPython 1.xおよび2.xとは異なる、互換性のない言語です。
1992年頃のPlan9言語はおそらくこれを最初に行ったものです。C、 rc
、Alef、 mk
、ACIDなどの方言はすべてUnicodeでした-有効。彼らは、ASCIIではないものはすべて識別文字であるという非常に単純なアプローチを取りました。 1993年以降の論文をご覧ください。 (これはUTF-8が発明されたプロジェクトです。つまり、すべてのプログラムでバイナリ対テキストを配管することなく、かなり互換性のある方法でこれを行うことができました。)
非ASCII識別子をサポートする他の言語には、現在のPHPが含まれます。
Perl&nbsp; 6 は、完全にUnicodeを最初からサポートしています。
( Rakudo&nbsp; Perl&nbsp; 6コンパイラが最初の実装です)
概要
Unicode演算子
文字列、正規表現、および文法はすべて、合成表現がないコードポイントの組み合わせ(合成表現の人工コードポイントがその場で生成される)でさえ、グラフェンに基づいて動作します。
未知のエンコーディング「utf8-c8」のデータを処理するための特別なエンコーディングが存在します:これは可能な場合はutf-8を想定していますが、エンコードできないシーケンスの人工的なコードポイントを作成し、必要に応じてラウンドトリップできるようにします。
言語が最初に設計されたときに言語に含まれていた機能が、必ずしも最良とは限りません。
言語は時間の経過とともに変化し、多くの場合、追加の機能で肥大化しましたが、最初に含まれていた機能を常に最新に保つ必要はありません。
したがって、最近Unicodeを追加した言語を必ずしも割引いてはいけないという考えを捨てました。彼らは、すでに成熟した開発ツールにUnicodeを追加し、初めてそれを正しく実行する機会を得られるという利点があります。
そのことを念頭に置いて、あなたの答えの1つとして、Delphiがここに含まれるようにします。 Embarcaderoは、Delphi 2009バージョンにUnicodeを追加し、強力な素晴らしい仕事をしました。私が10年間使用していたDelphi 4からのアップグレードを最終的に促すのに十分でした。
JavaはUnicode文字セットの文字を使用します。
javaおよび.net言語