Domanda

Quali linguaggi di programmazione ampiamente utilizzati sono stati progettati da zero con il supporto Unicode?

Molti linguaggi di programmazione hanno aggiunto il supporto Unicode come ripensamento nelle versioni successive, ma quali linguaggi ampiamente utilizzati sono stati rilasciati con il supporto Unicode dal primo giorno?

È stato utile?

Soluzione

Java è stato probabilmente il primo linguaggio popolare ad avere un supporto Unicode approfondito.

Altri suggerimenti

Fondamentalmente tutti i linguaggi .NET sono linguaggi Unicode, come C # e VB.NET .

Ci sono stati molti cambiamenti in Python 3, tra cui il passaggio a Unicode per tutto il testo .

Quindi Python non è stato progettato per Unicode, ma lo era Python 3 .

Non so fino a che punto questo va in altre lingue, ma una cosa divertente di C # è che non è solo il runtime (la classe stringa ecc.) consapevole - ma unicode è pienamente supportato nella fonte:

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

Il Go language di programmazione di Google supporta Unicode e funziona con UTF-8.

È davvero difficile progettare il supporto Unicode per il futuro, in un linguaggio di programmazione fin dall'inizio.

Java è uno dei linguaggi che lo hanno progettato nelle specifiche del linguaggio. Tuttavia, il supporto Unicode nella v1.0 di Java è diverso da v5 e v6 di Java SDK. Ciò è dovuto principalmente alla versione di Unicode a cui rispondevano le specifiche del linguaggio, quando il linguaggio era stato originariamente progettato. Java tenta di tenere traccia delle modifiche allo standard Unicode con ogni versione principale.

Le prime implementazioni di JLS potevano rivendicare il supporto Unicode, principalmente perché Unicode stesso supportava 65536 caratteri (v1.0 di Java supportato Unicode 1.1 e Java v1.4 supportato Unicode 3.0) che era compatibile con lo spazio di archiviazione a 16 bit dai personaggi. Ciò è cambiato con Unicode 3.1 - è uno standard in evoluzione, di solito con più caratteri aggiunti in ogni versione. I caratteri aggiunti successivamente nella 3.1 sono stati chiamati caratteri supplementari . Il supporto per i caratteri supplementari è stato aggiunto in Java 5 tramite JSR-204 ; Java 5 e 6 supportano Unicode 4.0.

Pertanto, non stupitevi se linguaggi di programmazione diversi implementano il supporto Unicode in modo diverso.

D'altra parte, PHP (!!) e Ruby non avevano il supporto Unicode integrato durante l'avvio.

PS: il supporto per la versione 5.1 di Unicode deve essere fornito in Java 7 .

Java e i linguaggi .NET, come hanno sottolineato altri commentatori, sebbene le stringhe di Java siano UTF-16 anziché UCS o UTF-8. (All'epoca, sembrava un'idea sensata! Ora chiaramente UTF-8 o UCS sarebbero stati migliori.) E Python 3 è davvero un linguaggio diverso e incompatibile da Python 1.xe 2.x, quindi si qualifica anche.

Le lingue Plan9 intorno al 1992 furono probabilmente le prime a farlo: il loro dialetto di C, rc , Alef, mk , ACID e così via, erano tutti Unicode -abilitato. Hanno adottato l'approccio molto semplice secondo cui tutto ciò che non era ASCII era un carattere identificativo. Guarda il loro dal 1993 in poi l'argomento. (Questo è il progetto in cui è stato inventato UTF-8, il che significava che potevano farlo in un modo abbastanza compatibile, in particolare senza collegare il binario al testo attraverso tutti i loro programmi.)

Altre lingue che supportano identificatori non ASCII includono PHP corrente.

Perl & nbsp; 6 ha un supporto Unicode completo da zero.
(Con il Rakudo & nbsp; Perl & nbsp; 6 compilatore essendo la prima implementazione)

Panoramica generale

Operatori Unicode

Stringhe, espressioni regolari e grammatiche operano tutte in base ai grafemi, anche per quelle combinazioni di punti di codice per le quali non esiste una rappresentazione composta (per questi casi viene generato al volo un punto di codice artificiale di rappresentazione composta).

Esiste una codifica speciale per gestire i dati di codifica sconosciuta "utf8-c8": questo assume utf-8 quando possibile, ma crea punti di codice artificiali per sequenze non codificabili, consentendo loro di effettuare il roundtrip se necessario.

A volte, una funzionalità inclusa in una lingua quando è stata progettata per la prima volta non è sempre la migliore.

Le lingue sono cambiate nel tempo e molte sono diventate gonfie di funzionalità extra, pur non essendo necessariamente aggiornate con le funzionalità che includeva per la prima volta.

Quindi lancio l'idea che non dovresti necessariamente scontare le lingue che hanno recentemente aggiunto Unicode. Avranno il vantaggio di aggiungere Unicode a uno strumento di sviluppo già maturo e di avere la possibilità di farlo bene la prima volta.

Con questo in mente, voglio assicurarmi che Delphi sia incluso qui, come una delle tue risposte. Embarcadero ha aggiunto Unicode nella sua versione Delphi 2009 e ha fatto un ottimo lavoro. È stato sufficiente per spingermi finalmente a passare da Delphi 4 che utilizzo da 10 anni.

Java utilizza caratteri dal set di caratteri Unicode.

lingue java e .net

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top