C++: differenze tra le versioni
Wedhro (rosica | curriculum) (rimozione template decorativi obsoleti) |
AgentBot (rosica | curriculum) m (Annullate le merdifiche di 6realize.xyz (rosica), riportata alla versione precedente di FLAK-ZOSO) Etichette: Rimosso rimpallo Rollback |
||
(11 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
__NOTOC__ |
|||
⚫ | |||
⚫ | |||
⚫ | |||
Fu inventato da [[Bjarne Stroustrup]] nel 1983, subito dopo aver ascoltato il primo album di [[Madonna]] deprimendosi per le mancanze di ''features'' di [[C (linguaggio)|C]]. |
|||
⚫ | |||
== Storia == |
== Storia == |
||
Riga 9: | Riga 13: | ||
* Fu poi la volta del glorioso [[C (linguaggio)|C]]. Non staremo qui a tediare i vostri poveri cervelli sulla sua storia, che si perde nella notte dei tempi. |
* Fu poi la volta del glorioso [[C (linguaggio)|C]]. Non staremo qui a tediare i vostri poveri cervelli sulla sua storia, che si perde nella notte dei tempi. |
||
* Ed ecco finalmente il C++, suo degno erede, con giusto qualche quisquilia in più (anzi in ''piuppiù'') come le classi, nato quando ci si accorse che scrivere programmi con dati complessi usando il C era causa di suicidi di massa. E qui la storia si confonde con la leggenda. |
* Ed ecco finalmente il C++, suo degno erede, con giusto qualche quisquilia in più (anzi in ''piuppiù'') come le classi, nato quando ci si accorse che scrivere programmi con dati complessi usando il C era causa di suicidi di massa. E qui la storia si confonde con la leggenda. |
||
== Parole chiave == |
|||
[[File:C-17 test sortie.jpg|miniatura|L'areonautica militare americana si è occupata personalmente dello standard <code>C-17</code>]] |
|||
=== <code>goto</code> === |
|||
{{Citazione|Il fatto che <code>goto</code> possa fare tutto è il motivo per il quale non lo usiamo|[https://www.goodreads.com/quotes/10424043-the-fact-that-goto-can-do-anything-is-exactly-why Bjarne Stroustrup] se ne esce con una delle sue cazzate}}<syntaxhighlight lang="c++" line="1"> |
|||
casa: |
|||
std::string nome; |
|||
std::cin >> nome; |
|||
if (nome == "Abdoul") |
|||
goto casa; |
|||
</syntaxhighlight> |
|||
=== <code>struct</code> === |
|||
<syntaxhighlight lang="c++"> |
|||
struct Nonciclopediano { |
|||
int anzianità; |
|||
std::string appunto; |
|||
}; // Il punto e virgola, non c'è alla fine delle funzioni ma alla fine degli struct sì |
|||
int main() { |
|||
Nonciclopediano pistacchio; |
|||
pistacchio.commento = "Porco schifo gli struct non possono includere funzioni!"; |
|||
} |
|||
</syntaxhighlight> |
|||
=== <code>class</code> === |
|||
Con grandi applicazioni pratiche, le classi in C++ sono famose per il solo fatto che [[C (linguaggio)|C]] non le ha. |
|||
[[File:GNU Compiler Collection logo.png|miniatura|L'unico nesso tra C++ e la comprensione umana: <code>GCC</code>]] |
|||
<syntaxhighlight lang="c" line="1"> |
|||
class Nonciclopediano { |
|||
/* Niente evidenziazione della sintassi? */ |
|||
C -> 0 |
|||
C++ -> 1 |
|||
} |
|||
</syntaxhighlight> |
|||
==Aspetti generali== |
==Aspetti generali== |
||
⚫ | |||
=== Orientamento politico === |
|||
⚫ | |||
===Sessualità=== |
===Sessualità=== |
||
Il C++ è considerato un linguaggio voyeuristico perché un oggetto amico può vedere un |
Il C++ è considerato un linguaggio voyeuristico perché un oggetto amico può vedere un ''membro'' privato di un altro. |
||
[[File:18 devC++ Salviamotutto.jpg|miniatura|L'ancora di salvezza di ogni programmatore]] |
|||
===Aspetti caratteriali=== |
===Aspetti caratteriali=== |
||
Il linguaggio è inoltre famoso per essere il più impredicibile, per questo è stato definito dai programmatori "il linguaggio stocastico", termine che risuona spesso negli uffici dei programmatori C++ allorché il compilatore restituisce qualche errore di facile e immediata comprensione, ad esempio: |
Il linguaggio è inoltre famoso per essere il più impredicibile, per questo è stato definito dai programmatori "il linguaggio stocastico", termine che risuona spesso negli uffici dei programmatori C++ allorché il compilatore restituisce qualche errore di facile e immediata comprensione, ad esempio:<syntaxhighlight lang="c++" line="1"> |
||
⚫ | |||
</syntaxhighlight> |
|||
⚫ | |||
==Principi base della programmazione in C++== |
==Principi base della programmazione in C++== |
||
Ogni programmatore che si rispetti sa che lavorare con il C++ è un'impresa non facile, ma i principi |
Ogni programmatore che si rispetti sa che lavorare con il C++ è un'impresa non facile, ma i principi per domarlo sono pochi e semplici: |
||
* Quando il gioco si fa duro, aggiungi altre parentesi graffe |
* Quando il gioco si fa duro, aggiungi altre parentesi graffe |
||
*Per ogni paio di parentesi graffe aggiungere sempre un paio di [[parentesi tonde]] |
|||
⚫ | |||
*<code>JavaScript missing semicolon</code> andrebbe tatuato su ogni culo della [[Silicon Valley]]: aggiungere sempre punti e virgola |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== Curiosità == |
== Curiosità == |
||
{{Curiosità}} |
|||
In Cantonese, C++ si pronuncia ''si gaga''. [[Adam Kadmon|Una coincidenza? Io non credo]]. |
* In Cantonese, C++ si pronuncia ''si gaga''. [[Adam Kadmon|Una coincidenza? Io non credo]]. |
||
* Nelle altre lingue, C++ si pronuncia [https://it.forvo.com/word/c%252B%252B/ così] |
|||
*C++ è più utilizzato al Nord Italia che non al Sud, questo spiega l'apposizione dell'articolo: "il C++" |
|||
== Voci correlate == |
|||
⚫ | |||
=== Linguaggi === |
|||
⚫ | |||
* [[Python]] |
|||
* [[Java (linguaggio di programmazione)|Java]] |
|||
* [[JavaScript]] |
|||
* [[PHP]] |
|||
=== Nonbooks === |
|||
* [[Nonbooks:Come mai C++ è inadatto ai bambini]] |
|||
== Interprogetto == |
|||
⚫ | |||
== Note == |
|||
[[Categoria:Motivi per odiare l'informatica]] |
[[Categoria:Motivi per odiare l'informatica]] |
||
⚫ |
Versione attuale delle 02:36, 12 ott 2022
C++ è noto come linguaggio di programmazione orientato ad oggetti, ma poi ha sbagliato strada.
Fu inventato da Bjarne Stroustrup nel 1983, subito dopo aver ascoltato il primo album di Madonna deprimendosi per le mancanze di features di C.
Da allora ha conquistato l'indiscusso primato del linguaggio più usato nei libri che nella vita reale.
Storia
L'evoluzione del C++ è stata più lunga della gravidanza di un elefante. Qui di seguito i suoi punti salienti:
- Venne per primo il patriarca della dinastia, il potentissimo BCPL. I più antichi sorgenti scritti in questo linguaggio si trovano sulla stele di Rosetta, e si dice che a inventarlo sia stato Hammurabi dopo una poderosa sbronza. Era più difficile programmare in BCPL che scalare l'Everest nudi saltellando su un piede solo.
- Suo figlio, l'ormai vetusto B, fu concepito sotto anestesia durante una notte di luna piena, quando ci si rese conto che anche i più semplici programmi in BCPL erano comunque un casino complicati e più voluminosi di Giuliano Ferrara, per cui bisognava un filino ridurli di dimensioni. Usarlo era comunque ancora più doloroso di un clistere di magma bollente.
- Fu poi la volta del glorioso C. Non staremo qui a tediare i vostri poveri cervelli sulla sua storia, che si perde nella notte dei tempi.
- Ed ecco finalmente il C++, suo degno erede, con giusto qualche quisquilia in più (anzi in piuppiù) come le classi, nato quando ci si accorse che scrivere programmi con dati complessi usando il C era causa di suicidi di massa. E qui la storia si confonde con la leggenda.
Parole chiave
goto
goto
possa fare tutto è il motivo per il quale non lo usiamo »casa:
std::string nome;
std::cin >> nome;
if (nome == "Abdoul")
goto casa;
struct
struct Nonciclopediano {
int anzianità;
std::string appunto;
}; // Il punto e virgola, non c'è alla fine delle funzioni ma alla fine degli struct sì
int main() {
Nonciclopediano pistacchio;
pistacchio.commento = "Porco schifo gli struct non possono includere funzioni!";
}
class
Con grandi applicazioni pratiche, le classi in C++ sono famose per il solo fatto che C non le ha.
class Nonciclopediano {
/* Niente evidenziazione della sintassi? */
C -> 0
C++ -> 1
}
Aspetti generali
Orientamento politico
Il linguaggio C++ è un linguaggio antimarxista perché si basa su classi. A differenza di C# non è capitalista perché non usa le proprietà private.
Sessualità
Il C++ è considerato un linguaggio voyeuristico perché un oggetto amico può vedere un membro privato di un altro.
Aspetti caratteriali
Il linguaggio è inoltre famoso per essere il più impredicibile, per questo è stato definito dai programmatori "il linguaggio stocastico", termine che risuona spesso negli uffici dei programmatori C++ allorché il compilatore restituisce qualche errore di facile e immediata comprensione, ad esempio:
long long too long for gcc
Principi base della programmazione in C++
Ogni programmatore che si rispetti sa che lavorare con il C++ è un'impresa non facile, ma i principi per domarlo sono pochi e semplici:
- Quando il gioco si fa duro, aggiungi altre parentesi graffe
- Per ogni paio di parentesi graffe aggiungere sempre un paio di parentesi tonde
JavaScript missing semicolon
andrebbe tatuato su ogni culo della Silicon Valley: aggiungere sempre punti e virgola- Esistono due modi di fare quello che ti serve: uno è incomprensibile, l'altro è sbagliato
- Se sembra funzionare, non modificarlo. Se devi modificarlo, riscrivilo da zero
- Mai deallocare i puntatori senza permesso: è meglio un memory leak di una segmentation fault
Curiosità
L'abuso della sezione «Curiosità» è consigliato dalle linee guida di Nonciclopedia.
Contribuisci a |
- In Cantonese, C++ si pronuncia si gaga. Una coincidenza? Io non credo.
- Nelle altre lingue, C++ si pronuncia così
- C++ è più utilizzato al Nord Italia che non al Sud, questo spiega l'apposizione dell'articolo: "il C++"
Voci correlate
Linguaggi
Nonbooks
Interprogetto
- Portale Informatica: accedi alle voci che trattano di informatica