C (linguaggio)

Da Nonciclopedia, l'enciclopedia libera...

Computer 14
Questo articolo è stato scritto da nerd!
Quindi tranquillo, non sei l'unico povero Cristo che non ha capito un'acca di quello che c'è scritto, mettiti il cuore in pace, hai ancora una vita sociale e non puoi capire il nerdiano.

Provvederemo a farti diventare uno di loro.

Nerdissimi
Quote rosso1 ERROR: expected `;' before `return', the end is near. Quote rosso2

~ Errore di GCC su una punteggiatura assente poco prima di causare l'anarchia nel mondo.
Quote rosso1 Segmentation fault. Quote rosso2

~ Risultato di qualsivoglia programma scritto in C.
Quote rosso1 This Make Integer from pointer without a Cast Quote rosso2

~ Compilatore su programma pirla


Il C è un linguaggio, nient'altro. È comunemente usato da due categorie di persone: i nerd che trovano il Pascal troppo umano, e i programmatori di Neverball. È autore della bomba atomica e creatore del Signore.

[modifica] Storia

Era un periodo duro per i programmatori, le macchine prendevano fuoco in continuazione, l'ASM era troppo facile da usare e in poco tempo la casta degli sviluppatori stava cominciando ad estinguersi, provocando la fine della tecnologia. In un piccolo laboratorio, un certo Ken il guerriero decise di mettere a punto un linguaggio che aiutasse a provocare il crash dell'hardware, e decise di chiamarlo B. Il B, purtroppo, si rivelo un totale fallimento, in quanto fu scritto con istruzioni che diventarono presto obsolete, l'azienda andò in malora e Ken venne licenziato. Il primo passo verso la distruzione dell'universo era stato fatto. Rimase solo Brian, che all'epoca aveva già 52 anni, che decise di prendere stralci di codice del B, in modo da creare un nuovo linguaggio semplice come l'ASM Zilog Spectrum Anti-World, e potente quanto quest'ultimo. Ad aiutarlo, ci fu Dennis Ritchie, molto più giovane di un anno, che decise, grazie anche alle sue ottime conoscenze, di ideare un linguaggio con un nome più originale, il C. Dopo lune infinite di lavori ininterrotti, venne fuori un linguaggio che, una volta testato, fece esplodere i laboratori Bell. Visto che il linguaggio ottenne un gran successo data la sua efficienza, e visto che ormai i due non avevano più un cazzo da fare in quanto vecchi e poco poderosi, decisero di riscrivere da zero, grazie al C, Unix, uno strano sistema da riga di comando pieno di istruzioni inutili pronte a provocare la morte al primo minimo errore e il suicidio una volta giunti alla fine delle varie operazioni. La filosofia del C era ed è piuttosto semplice, il successo donava ricompense, il fallimento la morte. In entrambi i casi, l'aldilà attendeva lo stolto che tentava di utilizzare tale linguaggio, visto che scrivere codice in C equivale a suicidarsi.

[modifica] Il successo

Poco tempo dopo che venne creato il C e diffuso nel mondo, questi acquisì un'elevata reputazione, tanto che vennero anche pubblicati vari libri su di esso, tra cui quello scritto dagli autori stessi, ovvero C: varie tecniche di suicidio, pubblicato verso gli anni '80. Pochi anni più tardi, nel 1990, iniziò un lavoro da parte di taluni studenti con il fine di aggiustare i vari errori presenti qua e là, come ad esempio l'autodistruzione in caso di una parentesi in più, e infine venne pubblicato il C, ANSI, C. Da lì poi nacque il C++ per gli aristocratici e il C-- per gli ignobili, che causava crash e morti di continuo, ma questa è un'altra storia...

[modifica] Principali parole chiave

Il C, rispetto ad altri linguaggi, ha poche keyword, ma con un grande effetto, tra cui auto, break, case, char, const, continue, default, destroy, do, double, die, else, if, kill, return, vaporize, explode e altre cose che già mi sono rotto il cazzo a scriverle tutte, ma bisognava scriverlo per fare un favore a Wikipedia.

[modifica] Caratteristiche

Il C è noto ai programmatori come il figlio rinnegato delll'ASM, in quanto, oltre ad avere anch'egli una logica illogica, permette di gestire perfettamente, all'interno del sistema operativo dove lo si sta utilizzando, i dati di basso livello: si ha cioè potere di vita o di morte sui registri, la CPU, la RAM, la ventola e pure il cordless che sta a fianco al PC, nonché tostapane e spazzolini da denti. Solo che con il C la gestione è stata "semplificata". Ad esempio, un codice APSL è tipicamente fatto così:

       _begin
       func:static void
       arglist:void
       {
          #call stdout
          #call output.print
          if(print == NULL)
           #call stdconst;
           ain >> output.print=TRUE;
          else if(output.print=DEACT)
           print=forceTrue(output.print);
          than
           aout >> (".n");
       }

In C, basta un:

       void newline()
       { printf("\n");
       }

Ovviamente ambedue codici sono da non sottovalutare, visto che causeranno una reazione a catena che scomporrebbe la tessitura del continuum tempo-spazio distruggendo l'intero universo.

Altra cosa non poco importante del C, che l'ha reso estremamente potente, è la possibilità di sfruttare l'allocazione dinamica della memoria, ovvero il poter creare blocchi di dati di lunghezza a piacere. Un esempio potrebbe essere il seguente:

       void* buffer = malloc(pow(10, 1000000));

Ovviamente il codice è stato scritto per far comprendere come sia possibile allocare memoria senza troppa difficoltà, ma non è mai stato testato, in quanto provocherebbe in un petosecondo lo spegnimento del sole. La fuoriuscita di fumo nero dai blocchi di RAM è stata segnalata da non pochi programmatori, ma è una circostanza da considerarsi assolutamente normale.

A differenza dell'ASM, che obbligava il programmatore a inserire manualmente valori nei registri usando monosillabi tipo add, sub, mul, die e così via, il C offre finalmente degli operatori con i quali è possibile manipolare i dati anche se si possiedono meno di trenta lauree. I principali sono quelli usati per le operazioni matematiche, ma sono stati ideati anche altri operatori per semplificare alcune istruzioni. Ecco alcuni esempi:

       distanza_terra_sole++;

Questo allontanerà la terra dal sole.

       distruggi_luna = true;

Questo farà cadere la luna su un centro non disabitato.

[modifica] Applicazioni del C a casi reali

Grazie ai dotti insegnamenti di gente che non fa altro tutto il giorno, è possibile descrivere in linguaggio C alcuni simpatici casi di vita reale: non che ve ne sia granchè bisogno, ma vedere un po' di codici sparsi a cazzo fa sempre piacere. Alcuni esempi:

Vittorio Sgarbi

       while(true)
               printf("Capra!\n");

oppure

       for(i = 0; i > -1; i++)
               printf("Taci!\n");

Moderatore di Nonciclopedia

       if(utente == "niubbo")
               printf("%s", WelcomeMessage);
       else
               if(utente == "bimbominkia")
               {
                       printf("Addio.");
                       destroy(&utente);
               }
               else
               {
                       if(utente == "persona seria e tranquilla che rispetta le regole")
                               //System error! Impossibile value detected
               }

[modifica] Voci correlate

Strumenti personali
wikia

Utente:Mufufu/Diario di bordo