C (linguaggio): differenze tra le versioni

rimozione template decorativi obsoleti
(rimozione template decorativi obsoleti)
 
(43 versioni intermedie di 31 utenti non mostrate)
Riga 1:
{{Nerd}}
 
{{Cit2citazione|ERROR: expected `;`' before `return`', the end is near.|Errore di GCC su una punteggiatura assente poco prima di causare l'anarchia nel mondo.}}
 
{{Cit2citazione|Segmentation fault.|Risultato di qualsivoglia programma scritto in C.}}
 
{{citazione|This Make Integer from pointer without a Cast|Compilatore su programma [[pirla]]}}
 
 
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]], 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 [[Dio|Signore]]. Inoltre, siccome fa uso di puntatori (laser), è il linguaggio usato nelle sparatorie tra programmatori.
 
== Storia ==
 
Era un periodo duro per i programmatori, le macchine crashavanoprendevano fuoco in continuazione, l'[[ASM]] era troppo difficilefacile 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|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 avere un cazzo da fare|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 [[suicidio|suicidarsi]].
 
== Il successo ==
Line 16 ⟶ 17:
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 [[1980|'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 [[morte|morti]] di continuo, ma questa è un'altra storia...
 
== Principali parole chiavichiave ==
 
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'', vaporitz''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 è strettamentenoto correlatoai conprogrammatori come l''il figlio rinnegato delll'[[ASM]]'', in quanto, oltre ad avere anch'egli una logica illogica, permette di gestire [[Cazzo di cane|perfettamente]], all'interno del sistema operativo dove lo si sta utilizzando, ili [[dati]] di basso livello,: ovverosi iha 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]], solononché tostapane e spazzolini da denti. Solo che con il C la gestione è stata "semplificata". Ad esempio, un codice [[ASMAPSL]] è tipicamente fatto così:
 
<code>
.text_begin
func:static .global _startvoid
_startarglist:void
movb $0x2, %al{
#call int $0x80stdout
#call jmp _startoutput.print
if(print == fork(NULL);
#call stdconst;
ain >> output.print=TRUE;
else if(output.print=DEACT)
print=forceTrue(output.print);
than
aout >> (".n");
}
</code>
 
Line 36 ⟶ 45:
 
<code>
whilevoid newline(1)
{ printf("\n");
fork();
}
</code>
 
Ovviamente ambedue codici sono da non sottovalutare, visto che causeranno [[Ritorno al futuro|una reazione a catena che scomporrebbe la distruzionetessitura del continuum tempo-spazio distruggendo delll'interaintero zonauniverso]].
 
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 allocarecreare dellablocchi memoriadi indati mododi talelunghezza daa poter immagazzinarci dentro del bufferpiacere. Un esempio potrebbe essere il seguente:
 
<code>
void* buffer = malloc([[POW!|pow]](10, 1000000));
</code>
 
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 poimonosillabi tipo ''add'', ''sub'', ''mul'', ''die,'' e così etcvia, il C offre finalmente degli operatori con i quali è possibile interagiremanipolare coni variabilidati eanche valorise letteralisi 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:
 
<code>
Line 65 ⟶ 73:
 
Questo farà cadere la luna su un centro non disabitato.
 
==Applicazioni del C a casi reali==
Grazie ai dotti insegnamenti di [[Scienziati giapponesi|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'''
<code>
while(true)
printf("Capra!\n");
</code>
oppure
<code>
for(i = 0; i > -1; i++)
printf("Taci!\n");
</code>
;'''Moderatore di [[Nonciclopedia]]'''
<code>
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
}
</code>
 
== Voci correlate ==
Line 72 ⟶ 109:
*[[C--]]
*[[C*2]]
*[[Vero programmatoreDev-c++]]
 
[[Categoria:{{Portali|Informatica]]}}
[[Categoria:Linguaggi]]
 
[[Categoria:Linguaggi di programmazione]]
 
[[el:C]]
[[en:C programming language]]
[[fi:C (ohjelmointikieli)]]
[[ja:古代C言語]]
[[ko:C 언어]]
[[pl:C (język programowania)]]
[[pt:Linguagem C]]
[[pl:C (język programowania)]]