Newsgroup: it.comp.lang.c
Titolo: Perchè il 80% dei programmi per unix sono in C ?

Perchè sono in C?
Perchè è solo una questione di distribuzione dei sorgenti, sorgenti C++
semicompilati in C o è una scelta di velocità?
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

 semicompilati in C o è una scelta di velocità?
Penso per motivi di
-compatibilita- l'interfaccia di programmazione di Unix e' nata
assieme al C. I C++ non farebbe altro che wrappare le primitive
di sistema, introducendo complessita' di comprensione dei sorgenti.
Tu puoi fare un ottima classe che wrappa la gestione dei segnali,
ma non e' detto che un altro che deve usare la tua classe la trovi
adatta ai suoi scopi. invece i segnali sono segnali su (quasi) tutti
gli Unixes, cosi' pure i socket, i pipes ed altro ancora.
-compilabilita- Nel mondo Unix il compilatore C++ piu' diffuso e'
il gcc assieme a quelli nativi fatti da ciascun produttore.
L'implementazione del C++ sul gcc non e' mai stata perfetta.
(adesso si sono quasi arrivati).
Inoltre lo standard ha sempre introdotto cosucce nuove, che rendono
di difficile manutenzione sorgenti multipiattaforma.
Se sull piattaforma X il compilatore supporta lo standard fino a Y
e sulla piattaforma Z fino a K, l'unica strada percorribile e'
di fermarsi al minimo comune denominatore, cioe' il C.
Un compilatore C e' poi considerato parte integrante di qualunque
distribuzione ed installazione di un Unix.
Probabilmente esistono altre ragioni che per il momento mi sfuggono.


 semicompilati in C o è una scelta di velocità?
Forse perché il C è il linguaggio più adatto allo scopo?
EMG


Questa domanda mi è venuta perchè ultimamente ho dato una letta ad un
manuale per il C++ e questo dice che lavorando con il C si fà un tipo di
programmazione a più basso livello con lo svantaggio di dover
lavorare con un tipo di linguaggio più lontano dai normali processi mentali,
e di doversi occupare di svariati dettagli a livello più basso.
Quindi viene da chiedersi (per lo meno a mè) come mai per tale sistema sia
stato scelto di realizzare così tante applicazioni con questo linguaggio.
Leggendo oltre si parla del compilatore C++ come un semi compilatore che
trasforma il codice C++ in codice C, quindi ogni istruzione non è altro che
che un agglomerato di codice C adatto allo scopo, ma questo è vero anche per
le istruzioni C, ogni istruzione  in sè è un insieme di istruzioni in
assembler, dal quale ne discende il codice binario.
Allora, questa ultima evoluzione del C (il C++) dovrebbe essere
un'avvicinamento al linguaggio umano ed uno dei passi per giungere ad un
linguaggio che ci permetta di dirigere la macchina con il nostro linguaggio
? (ho sconfinato nella fantascienza).
Comunque un linguggio "naturale" con la macchina non è poi cosa tanto
fantascientifica se pensiamo di poter costruire una "libreria" nella quale
ad ogni gruppo di parole umane sia associato un codice che fà ciò che gli è
stato ordinato per es: "costruisci una matrice" => sottoprogramma che la
costruisce.
Spero di non avere offeso nessuno.

Spero di non avere offeso nessuno.
Non credo che tu l'abbia fatto.