Newsgroup: it.comp.lang.c++
Titolo: C++ Classes Repository?

Scusate, ma per il C++ non esiste una specie di repository di classi già
pronte, come esiste per altri linguaggi?
Se ne esistono diversi, quali sono i migliori?
Inoltre, anche se sono un tantino OT, sapreste dirmi come si imposta il
wordwrap ("a capo automatico") in DevC++? Non lo trovo da nessuna parte!
:-)
Grazie.
Francesco

 Se ne esistono diversi, quali sono i migliori?
Dipende sempre da quello che vuoi fare.
Molti ti consiglieranno le stl, ma io le ritengo ormai obsolete.
Puoi provare ad usare qt4, che oltre alle classi per la gui, ora 
fornisce il necessario per strutture dati, network e thread.

 Molti ti consiglieranno le stl, ma io le ritengo ormai obsolete.
STL E' una libreria sviluppata da A. Stepanov e altri in HP e SGI ed e'
stata integrata nella libreria standard del C++ nella quasi totalita'.
L'idea che algoritmi e strutture dati diventino "obsoleti" e'
quantomeno curiosa.
Ciao,
Nicola

 quantomeno curiosa.
Gia'... mi stavo appunto chiedendo perche' le ritieni obsolete.
Sarei curioso di sapere le motivazioni di questo parere.
Premetto che non conosco QT...
  bye & Thanks
	av.

Andrea Venturoli ha scritto:

Rincaro la dose... mi piacerebbe saperlo anch'io.
Non uso neanch'io le QT.

 Rincaro la dose... mi piacerebbe saperlo anch'io.
Probabilmente ragiona nell'ottica dei cosiddetti linguaggi RAD (C#, 
Java) che forniscono di base un framework notevole per sviluppare 
applicazioni di diverso tipo.
STL "coprirebbero" solo la parte algoritmi, strutture dati & generics 
(giusto per capirci).
C++ è tutt'altra cosa, anche per ragioni storiche.
Peraltro l'uso di un framework all-in-one alla qt4 (o vcl) è utilissimo 
per sviluppare software in c++ con i tempi odierni (abbastanza folli) ;-)

Salvatore Di Fazio ha scritto:

Rispondo ad entrambi:
le qt forniscono un framework per la creazione di applicazioni e librerie
multipiattaforma (si ok, non tutte, ma le principali si) che permettono uno
sviluppo rapido anche quando si devono usare threads, socket ed elementi grafici.
Le stl aprono scenari infiniti sulla creazione di strutture dati e algoritmi
legati ad esse, ma hanno una complessità ed una curva di apprendimento non
indifferenti.
Inoltre, definirle librerie complete per lo sviluppo (come cercava Francesco nel
suo post) vuol dire chiedere ad un programmatore di sviluppare con tecnologie di
10 anni fa.
Poi ognuno la pensa come vuole.

 10 anni fa.
Già, mi hai convinto. Il mio binary search su contenitore ad accesso
casuale di elementi ordinati, che uso praticamente da quando sono nato,
quasi quasi lo butto via, e uso una *moderna* scansione lineare.
L'importante non è essere produrre sistemi efficienti, ma scrivere cose
*moderne*.
Cosa centra una libreria algoritmica con una libreria sostanzialmente
grafica non riesco a capirlo, ma sarà che sono vecchio.

 suo post)
Non mi sembra fosse questa la domanda di Francesco; comunque non avrei 
risposto [solo] con le STL.
 > vuol dire chiedere ad un programmatore di sviluppare con tecnologie di
 > 10 anni fa.
Non vedo come l'eta' possa essere un deterrente, quando una tecnologia 
comunque funziona bene.
Consolati che probabilmente altri strumenti (il linguaggio C++ fra 
tutti) sono anche piu' vecchi.
  bye
	av.

 sviluppare con tecnologie di 10 anni fa.
C++ è nato nel 1983. Tecnicamente staremmo sviluppando con un oggetto di
24 anni. Ok, contiamo lo standard: è giovane, ha soltanto 8 anni. Pensa
il C (classe 72). E posso andare anche più indietro... 
Forse non conta quanto è vecchia la tecnologia... forse conta quanto è
buona.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 buona.
Quello che dici è giustissimo... non solo per la tecnologia... anche per 
le buone idee (che diventano poi algoritmi) non contanto quanto tempo 
hanno ma conta solo la loro "bontà".
Gli algoritmi addirittura sono stati inventati parecchi anni prima dei 
primi calcolatori propriamente detti, me ne vengono in mente giusto alcuni:
Merge sort - 1945
Quick sort - 1962
L'algoritmo di Knuth-Morris-Pratt - 1975
Algoritmo di Dijkstra (non lo so... oh che figura... ma penso abbia + di 
dieci anni).
I vari algoritmi di compressione dei dati -- Huffman (anni'60) fino ai 
LZ77 (1977 appunto) e successivi... LZW (1984) sono ancora utilizzati 
oggi così come sono o con qualche variante.
Quindi la validità (oggi e domani) delle strutture dati e degli 
algoritmi messi a disposizione dalla STL è assolutamente fuori discussione.
Forse un giorno lontano non useremo più il C++ ma ci sarà sempre bisogno 
di una STL anche se si chiamerà in un altro modo e sarà scritta in un 
differente linguaggio.

 differente linguaggio.
Diciamo che sarà strutturata diversamente. STL è pensata in un certo
modo perchè è scritta in C++. Altre librerie standard sono molto diverse
(e generalmente quelle di linguaggi più semplici -- a meno che non siano
ingessati come Java -- sono anche più facili).
