netarrow (Admin)
Guru^2
Messaggi: 2502
Iscritto: 12/05/2004
|
Per tipi di dati persi intendo dire che in C, con un linkage C, i tipi di dato li puoi trattate come vuoi senza fare cast espliciti, questa caratteristica ? lose type o un nome simile quindi perde i tipi di dati e porta spesso a bug(il C ? uno dei linguaggi pi+ buggosi a runtime), in C++ i cast devono essere voluti.
Il discorso compilatore linguaggio, se io scrivo
---
#include <stdio.h>
int main(void) {
printf("%s", "Ciao\n");
return 0;
}
---
E' C o C++? se compilo a C linkage ? C senn? C++.
Al C mancano un sacco di funzionalit? aggiunte al C++: commenti su una riga, overload, controlli a compile time e non ultima la OOP.
Per quando riguarda gli stream forse mi sono espresso male, non esistono operatori, perch? non esiste l'overload, per usarli direttamente ma bisogna ricorrere a funzioni ogniuna col suo bug(format string bug, overflow & C.0).
Il mio consiglio era impara il C++ perch? ? il C con cose in pi?, molte cose in pi? e cose ormai che sono vechiume migliorate, l'unica situazione in cui si potrebbe voler fare un pezzo di codice lnkato a C mode ? quando si vuole appositamente avere quella libert? che se usata male porta a bug di ogni genere, se usata bene a un immenso potere.
Ehm... direi piuttosto questione di gusti.
|
non si pu? continuare a scegliere a gusti, bisogna scegliere linguaggi produttivi, solidi.
C++ lo si pu? vedere come C 2.0, infatti prima si doveva chiamare C con classi, ma oltre che ridontante non metteva in evidenza che era un C con qualcosa in +, tante cose in + e cose fatte meglio, quindi ++
Per quanto riguarda la didattica il fatto che senza C non impari C++ non ? vero, anzi se fai subito C++ il C lo impari in background come accennavo, poi ci sono delle regole che differiscono, ma roba semplice.
Inoltre ormai il linkage C usato totalmente per fare programmi ? in disuso. Ultima modifica effettuata da netarrow il 03/08/2005 alle 17:17 |