Newsgroup: it.comp.lang.c++
Titolo: [sondaggio] cosa NON vi piace del c++ (libreria)

come il post di sopra, ma questa volta la libreria standard e quelle
quasi-standard (nel senso che le usano in molti), come boost
ad esempio io considero interessante java, sebbene abbia qualche pecca
fastidiosa... ma considero totalmente ORRENDA la sua libreria
magari qualcuno pensa la stessa cosa del c++
è chiaro che mi aspetto commenti dettagliati e non "sì, la libreria mi
piace" o "non mi piace"... cosa vi piace? cosa NON vi piace? cosa
sostituireste? ecc. ecc.
-- 
]\/[ad]\/[age (
www.mindreamz.net
)
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo

 sostituireste? ecc. ecc.
Quello che non mi piace della libreria forse è dovuto ad una 
caratteristica del linguaggio.
Non c'è alcuna standardizzazione sui nomi, namespace, macro.
È molto meglio il modello gerarchico dei package Java.
Di conseguenza C++ va meglio per uno sviluppo personale o di piccoli 
gruppi, mentre Java funziona bene (cioè così così) anche per sviluppo 
distribuito.

Non e' molto intuitiva, specie agli inizi; inoltre certe cose per farle
nel modo "giusto" secondo la libreria bisogna scrivere tutto del codice
fastidioso (penso a cose come binder e compagnia bella). Mi rendo conto
pero' che forse era difficile fare diversamente.
_dave_

distribuito.
oohh!! finalmente!!! pensavo di essere l'unico fissato con questo
problema!!!!


 distribuito.
  Mi sembra un po' forte questa dichiarazione...
_dave_

 Č molto meglio il modello gerarchico dei package Java.
Java sara' pure piu' intuitivo pero' ogni volta che prendi un codice java e 
provi ad eseguirlo ti mancano sempre 100 package che devi andare a 
scaricare da chissa dove.
Inoltre la sintassi e' veramente lunga e noiosa:
System.out.print() al posto di printf() o cout()
Infine, come faccio a sapere che la funzione print e' in system.out ? Me lo 
sono letto da qualche manuale no? In un manuale equivalente (ma che parla 
di C++ invece che di java) ci sara' il riferimento a printf() o cout() non 
trovi?
Alla fine si tratta solo di sapere quale fn andare a chiamare. Il fatto che 
che io so che in system.out probabilmente ci saranno tutte le funzioni di 
output mi da solo un indizio sul dove andare a cercare, ma non mi dice come 
si chiama la fn che interessa a me.


il discorso, da quanto ho inteso io, era diverso... alcune librerie
utilizzano i namespace, altri no... alcune librerie utilizzano le
eccezioni, altre no... alcune utilizzano le macro, altre no, alcune
utilizzano dei #define per le costanti, altre le const, e cosě via...
per non parlare del fatto che alcune utilizzano std::string, altre
char*, altre CString, altre AnsiString, altre WxString e cosě via!!!!
P.S.: che č cout() ?? :-DD


 P.S.: che č cout() ?? :-DD
Beh pero' forse ti riferisci a librerie non standard. Se mi dici che le MFC 
per esempio usano CString, ti do perfettamente ragione...non sono affatto 
standard, pero' non sono neanche parte del C++ inteso come linguaggio.
Il C++ inoltre eredita in blocco tutte le fn del C per cui tutte le 
strtok,sprintf,strcat e via dicendo che in effetti non sono proprio pensate 
per il C++.
Pero' se usi le STL la cosa e' decisamente standardizzata no?

Pero' se usi le STL la cosa e' decisamente standardizzata no?
sì, a parte che usando solo la libreria std, ad esempio, devo
scrivermi da solo una funzione per trasformare un intero in stringa,
mentre usando le funzioni c mi basta un itoa e risolvo tutto
certo, basterebbe mettere un semplice costruttore di std::string da
intero... però non è stato fatto


intero... però non è stato fatto
non a caso, altrimenti avrebbero dovuto rendere explicit il
costruttore da const char*. 
usare uno stringstream dopotutto non è che sia una soluzione tanto
male.
sbirish.

 applicazioni utili odierne
premesso che:
1) anche a me piacerebbe avere un modo standard per creare una GUI
2) siamo d'accordissimo che lo standard spesso e volentieri "non basta"
3) mi rendo conto che e` un poco OT...
la percentuale mi sembra per lo meno un po' troppo azzardata; tanto per fare
un esempio concreto:
[anto@anto anto]$ find /usr/bin -type f | wc
   1887    1887   35911
[anto@anto anto]$ ldd `find /usr/bin -type f` | grep libX11 | wc
    397    1588   22232
come puoi vedere le applicazioni che utilizzano una GUI sono solo il 21% del
totale (limitatamente a /usr/bin, probabilmente se consideriamo anche /bin
/sbin e /usr/sbin la percentuale scende ancora).
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra

 
Non solo fastidiosa, secondo me e' una delle maggiori cause di codice 
ibrido e non aderente allo standard (io per primo scrivo codice misto 
con funzioni del C, ma sto cercando di smettere :-P).
Se pensate che molti programmatori che si trovano oggi a scrivere in 
C++, in realta' usano solo una piccola parte del C++ come un super-set 
del C...
-- 
Roal Zanazzi