Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
quando diciamo C ANSI intendiamo codice C che segue alla lettera lo standard ANSI, dove il codice può essere compilato senza modifiche o istruzioni condizionali di preprocessore, su tutti i sistemi operativi che lo supportano.
Quello che chiede il nostro utente NON si può fare in C ANSI proprio perchè le socket sono funzioni del sistema operativo, di conseguenza non portabili e che quindi non seguono lo standard ANSI.
infatti... ma per lo stesso ragionamento anche in Vb6 (e in nessun altro linguaggio) allora non si possono implementare socket.. il linguaggio non le implementa direttamente ma utilizza un'interfaccia fornita dal SO.
è così per tutti i linguaggi: in nessuno di essi TECNICAMENTE si può implementare una socket, ma attraverso i linguaggi si può accedere all'interfaccia che le gestisce e quindi si ricorre a funzioni di libreria a system call.
io dico solo che dire che CON GLI STRUMENTI messi a disposizione da ANSI C è possibile implementare non solo un socket ma qualsiasi cosa sia umanamente concepibile.
infatti... ma per lo stesso ragionamento anche in Vb6 (e in nessun altro linguaggio) allora non si possono implementare socket.. il linguaggio non le implementa direttamente ma utilizza un'interfaccia fornita dal SO.
Permettimi una pignoleria... VB6 non è un linguaggio standard, ma una implementazione non standard del linguaggio BASIC.
Per me le discussioni su un linguaggio standard riguardano solo gli argomenti relativi alla sintassi di tale linguaggio.
Altrimenti sarebbe come voler discutere di ragioneria su un forum sulla lingua italiana argomentando che i libri di ragioneria sono scritti in italiano.
Permettimi una pignoleria... VB6 non è un linguaggio standard, ma una implementazione non standard del linguaggio BASIC.
-che sia standard o no, anche nela prima implementazione di Unix in C erano stati implementati dei socket...
inoltre, dato che ci sono fior fior di teoremi che dicono che "tutti i linguaggi di programmazione sono Turing-completi" nn è il caso di disquisire sul fatto che con questo si fa e con l'altro no.
Testo quotato
Per me le discussioni su un linguaggio standard riguardano solo gli argomenti relativi alla sintassi di tale linguaggio.
- sono d'accordo. ciò significa che la frase "in C nn si possono implementare socket" è sbagliata sia semanticamente che contestualmente.
io credo che sia da pazzi dire che in ANSI C nn si può fare...
le implementazioni di qualsiasi cosa wi fi, di tcp/ip in cosa sono fatte, secondo te?? in java, magari?
il c è l'unico linguaggio di medio livello pensato per gestire la macchina a bassissimo livello... nn per niente è nato per la programmazione di sistemi operativi! per esempio nella mia uni c'è un progetto per cui è stato modificato il kernel di una versione di linux per portatili in modo che possa interfacciarsi con diversi access point wifi contemporaneamente... e il kernel si scrive in assembly e c... o forse cobol e c#??
quoto e condivido.
Più volte si sono sottolineate vere presunte mancanze o lacune del Linguaggio C, ma sono solo fandonie. Tutto è fattibile a patto di avere la giusta libreria, e mi pare sia una ipotesi sottointesa in questo contensto, che poi vada da specificarsi nelle risposte quale si deve usare è ovvio. Riguardo ad un sistema concepito con linguaggi non Assembly-C è forse possibile solo per alcuni, ma per il kernel e molte altre parti core non credo proprio.
L'unico problema posto alla realizzazione di un programma in C è la difficolta di concezione e realizzazione, limitazioni del programmatore, non del linguaggio.