C (linguaggio): differenze tra le versioni

Da Nonciclopedia, l'enciclopedia libidinosa.
Vai alla navigazione Vai alla ricerca
Contenuto aggiunto Contenuto cancellato
Nessun oggetto della modifica
Riga 6: Riga 6:




Il '''C''' è un [[Linguaggi di programmazione|linguaggio]], nient'altro. È come un normale RPG-7 con doppio calibro e gittata di 1000 m, autore della [[bomba atomica]] e creatore del [[Dio|Signore]].
Il '''C''' è un [[Linguaggi di programmazione|linguaggio]] derivato dal linguaggio B (ma guarda un po') creato da [[satana]] per distruggere [[Bill Gates|Dio]]. È come un normale RPG-7 con doppio calibro e gittata di 1000 m, autore della [[bomba atomica]] e creatore del [[Dio|Signore]].


== Storia ==
== Storia ==

Versione delle 16:43, 13 giu 2011

Questo utente è un nerd!
Quindi tranquillo, non sei l'unico povero Cristo che non ha capito un'acca di quello che c'è scritto qui,
mettiti il cuore in pace, hai ancora una vita sociale e non puoi capire il nerdiano.
Provvederemo a farti diventare uno di loro.
« ERROR: expected `;' before `return', the end is near. »
(Errore di GCC su una punteggiatura assente poco prima di causare l'anarchia nel mondo.)
« Segmentation fault. »
(Risultato di qualsivoglia programma scritto in C.)


Il C è un linguaggio derivato dal linguaggio B (ma guarda un po') creato da satana per distruggere Dio. È come un normale RPG-7 con doppio calibro e gittata di 1000 m, autore della bomba atomica e creatore del Signore.

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.

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...

Principali parole chiavi

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.

Caratteristiche

Il C è strettamente correlato con l'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, il basso livello, ovvero i registri, la CPU, la RAM, la ventola e pure il cordless che sta a fianco al PC, solo che con il C la gestione è stata "semplificata". Ad esempio, un codice ASM è tipicamente fatto così:

       .text
               .global _start
       _start:
               movb    $0x2, %al
               int     $0x80
               jmp     _start

In C, basta un:

       while (1)
       {
               fork();
       }

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 allocare della memoria in modo tale da poter immagazzinarci dentro del buffer. 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.

A differenza dell'ASM, che obbligava il programmatore a inserire manualmente valori nei registri usando poi add, sub, mul, die, etc, il C offre finalmente degli operatori con i quali è possibile interagire con variabili e valori letterali. 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.

Voci correlate