Che tipo di applicazioni sono costruite usando C [chiuso]

0

Ho studiato la programmazione C circa dieci anni fa, mentre in Uni, tuttavia vorrei riprenderlo. Sto guardando lo sviluppo di applicazioni sicure che utilizzano la crittografia. C sarebbe la lingua giusta da usare? Quali tipi di applicazioni vengono sviluppate utilizzando C?

    
posta Felix Titiati 12.01.2015 - 09:41
fonte

2 risposte

3

C al giorno d'oggi è usato principalmente in situazioni in cui è richiesto un linguaggio veloce compilato che non sia eccessivamente complicato (classi non richieste). Questo include:

  • Driver hardware
  • Pixel shader (variante di C, Cg )
  • In generale, i programmi in cui la velocità è fondamentale

Conoscere C bene è fondamentale per sapere come i linguaggi di programmazione funzionano con il sistema operativo, ed è letteralmente impossibile sapere come programmare bene il C e non avere una conoscenza approfondita di come funzionano tali cose sotto. C ++ è quasi veloce come C, e in effetti molte delle stesse applicazioni di C vedranno il C ++ usato per avere tutti i vantaggi del C ++ e molto poco rallentamento come conseguenza. (pixel shader è un'eccezione).

Spesso i programmi scritti in altri linguaggi si riferiscono a librerie scritte in C per operazioni intensive della CPU e generalmente una grande azienda di software avrà almeno un programmatore C per tale lavoro.

Detto questo, penso che dovresti anche imparare un linguaggio di livello superiore per controbilanciare se vuoi essere un programmatore a tutto tondo. È possibile utilizzare C per la crittografia, sebbene la maggior parte delle lingue supporti la crittografia e tale supporto è già generalmente scritto in C o C ++. In generale, scrivendo l'intera applciazione in C, rischi di reinventare molte cose che esistono già nelle lingue esistenti, quindi ti incoraggio ad usarlo solo per modificare parti del tuo programma altrimenti lente.

Spero che risponda alla tua domanda.

    
risposta data 12.01.2015 - 10:00
fonte
1

C può essere selezionato come linguaggio di sviluppo per qualsiasi numero di motivi:

Ecosistema

C è il linguaggio di sviluppo di scelta su alcuni sistemi operativi, in particolare le piattaforme Unix e le loro varianti.

Integrazione di basso livello

Se hai bisogno di assemblare in linea l'assemblatore per qualsiasi motivo, C sarebbe una scelta naturale.

Cross-platform

C può essere usato per scrivere codice indipendente dalla piattaforma sebbene questo sia stato in gran parte superato da Java in questo senso.

Velocità raw

A mio parere, non esiste ancora un linguaggio di alto livello in termini di velocità, quindi se la prestazione è essenziale, C sarebbe una scelta naturale.

Se la tua domanda è sufficientemente complessa, avrai ovviamente bisogno di lezioni. C ++ potrebbe sembrare la scelta più ovvia, ma esiste un numero crescente di varianti C che forniscono funzionalità OO. L'obiettivo-C è il principale che viene in mente ma ce ne sono molti altri (vedi qui ).

    
risposta data 12.01.2015 - 12:05
fonte

Leggi altre domande sui tag