Domanda

Sto cercando di divertirsi un po 'in estate. Scrivere un pezzo di codice che consente di presentare Arabo in sistemi che supportano Unicode, ma senza il supporto per le lingue orientali IT. Sto scrivendo solo la logica si spera senza codice di integrazione inizialmente.

Dovrei usare C ++ o C?

che è la lingua più facile da scrivere codice portabile e facile da integrare con Python possibilmente?


Modifica:

Sono abbastanza bravo con C / C ++ anche se mi considero più vicino a C ++. Ma sembra che è più facile scrivere C e inserirlo in ogni dove o mi sbaglio? Vorrei scrivere alcune funzioni per elaborare l'arabo Unicode String. presentando lingua araba bisogno di un certo trattamento perché quasi tutti i personaggi hanno forme diverse in contesti diversi.


Modifica:

Sembra che io andrò con C ++, giusto per renderlo più divertente.

È stato utile?

Soluzione

Vorrei utilizzare C ++, soprattutto perché offre molto di più "roba" da usare e per quanto riguarda la mia esperienza va è più portabile C. Tuttavia, non ho usato dritto compilatore C / C per 10 anni o più.


Modifica

Un commentatore in dubbio la mia esperienza con la portabilità. Il mio è limitato a Linux e Win32 in primo luogo. Ho pensato che questo sarebbe sistemi operativi sufficienti per questo esercizio.

Altri suggerimenti

Non sono d'accordo fortemente con l'affermazione che C e C ++ sono paragonabili quando la portabilità è una preoccupazione. È vero, se ti limiti a recenti Visual Studio e g ++, C ++ è "portatile". Ma le cose come spinta sono un incubo di manutenzione, se vi preoccupate per più piattaforme rispetto a quella (più vecchio di gcc / visual studio, molti altri vecchi compilatori su Unix proprietarie). In questo contesto, C è molto più portabile di C ++ nella mia esperienza. Se si guarda alla più progetti open source che utilizzano C ++ (Mozilla, un codice di Google), si limitano a un sottoinsieme molto limitato di C ++.

Ora, per la gestione di stringhe, direi che sia C e C ++ sono linguaggi molto male :) Io certamente guardare qualcosa molto più alto livello, con un buon supporto per la gestione delle stringhe Unicode.

Se è per divertimento, andare per la lingua che si desidera imparare meglio.

io scommetto che ci sono le librerie più recenti per supportare diversi pacchetti di lingua in C ++, ma forse questo è parte del divertimento, è quello di scrivere la propria versione in C.

Vorrei scrivere in C ++ e fornire un'interfaccia C per ottenere la più ampia impronta integrazione possibile. Inoltre, è possibile utilizzare SWIG di generare wrapper per molti linguaggi comuni.

È necessario robusto biblioteca sostegno. Per questo, C ++ ha opzioni più ricche. Se si utilizza un framework come QT sarà quasi banale. E 'anche molto portabile su tutti i sistemi. L'integrazione con Python è anche semplice (anche se per questo mi piace boost :: python ).

Prova a vedere i siti successivi:

"boost.org/" (vedi l'integrazione con Python)

o

"pocoproject.org/"

Entrambi i siti sembra avere la simpatia di Stroustrup, il creatore di C ++

Uno di C o C ++ dovrebbe consentire di scrivere codice portabile se si sta attenti. Per la movimentazione Unicode, è probabile che vuole anche un impianto di stringa Unicode-aware; per C, Glib può essere molto utile.

Naturalmente, si può solo scrivere in Python fin dall'inizio. Cioè ragionevolmente portatile, e probabilmente più facile.

Credo che sia meglio scrivere in C C.Because vi fornirà più modi di produrre codice ottimizzato e portabile di C ++. Se lo si fa in C, allora sarà più facile da integrare con python.

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