Newsgroup: it.comp.lang.c++
Titolo: Il Sedgewick che non conosce il C++ (?)

Vorrei prendere, oltre al buon "INTRODUZIONE AGLI ALGORITMI" di
corman&company, "Algoritmi in C++" di Sedgewick Robert; ma in rete ho
trovato pareri discordanti. Chi lo sconsiglia parla di esempi di
codice "datato" o, più o meno velatamente, accusa l'autore di non
conoscere bene il C++ quanto il C.
Cosa ne pensate?
ciao.

 news:1190238762....@n39g2000hsh.googlegroups.com...

Secondo me, e' vero. Il codice C++ nel libro e' un po' brutto, ma non 
terribile. Anche se il codice e' brutto, le informazioni sugli algoritmi non 
lo sono. Se conosci abbastanza bene C++, il codice non e' difficile da 
seguire, e c'e' tanto da imparare dal libro sul argomento degli algoritmi. 

 conoscere bene il C++ quanto il C.
Beh, io sono fra quelli che ha parlato di 'codice datato'. Questo č
inerente al fatto che il libro č stato pubblicato nel 1998, quindi č
stato *scritto* con una vecchia versione di C++. Da cui la mia
conclusione che gli algoritmi C++ uno se li deve comunque riadattare.
Poi il codice C++ non lo ha scritto lui, bensě VanWik. Per certi versi
potresti veramente considerare di prendere l'edizione in C.
-- 
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.

 potresti veramente considerare di prendere l'edizione in C.
Perché? Almeno questa versione è aggiornata?
ciao.

 Perché? Almeno questa versione è aggiornata?
Io non lo ho, ma credo sia l'originale. Inoltre a livello algoritmico il
C è variato meno di C++. Mi spiego meglio: in C++ è cambiato proprio il
'modo' di progettare strutture dati in un certo senso, complice il
diffondersi di implementazioni 'corrette' dei template etc etc etc. Ma
dovresti sentire uno dei 'vecchi' (con rispetto parlando). Io C++ lo uso
appunto tipo dal 1999-2000 per cui non sono 'forte' sul vecchio.
Oltretutto nella primissima fase ero ancora parecchio influenzato da C e
non usavo a pieno il C++ (errore comune, devo dire).
Insomma, sono arrivato a usare il 'vero' C++ quando il supporto era già
presente. 


 dovresti sentire uno dei 'vecchi' (con rispetto parlando).
Uhm, non sono più così convinto... hai per caso qualche alternativa?
ciao,

 Uhm, non sono piů cosě convinto... hai per caso qualche alternativa?
1. Cormen et al. Lucido, rigoroso, pseudo codice di livello 'medio
alto'. 
2. Knuth. Un classico. Il classico. Asm astratto (motivando il perchč).
Estremamente lucido. Costoso, completissimo, ma o hai la fortuna che
trovi 'tutto quello che ti serve' in un volume, oppure diventa pesante.
Č in qualche modo 'definitivo'.
3. Sedgewick. Al di la di tutto non č affatto male. L'autore č uno con
le palle.
Da quanto ho letto di te su iclc mi pari un programmatore 'fatto' ed
esperto. Il Knuth dal punto di vista didattico vanta l'estremo carisma e
impostazione *geniale* dell'autore. Č qualcosa che va oltre
l'insegnamento degli algoritmi, IMHO. Tuttavia per 'imparare' gli
algoritmi, capire abbastanza rapidamente un dato algoritmo come funziona
etc, il Cormen fai prima. Inoltre č *un* volume, grosso, pesante e
abbastanza caro, ma uno.
IMHO potresti andare in una biblioteca universitaria. Č probabile che li
trovi entrambi, li sfogli, ti fai un idea. Idem in un posto come Hoepli.


 le palle.
Voglio prendere un libro teorico ed un altro più "pratico".
Mi sa che prendo il Sedgewick sul C e per il C++ passo direttamente ai
pattern (vedi Design pattern).
Che dici? Scusami per la rottura di scatole ;).
PS:
"Uccidete i filosofi ..." et cetera; da dove l'hai pescato?

 trovi entrambi, li sfogli, ti fai un idea. Idem in un posto come Hoepli.
TAOCP lo trovi di sicuro alla biblioteca di informatica a bari, visto che
l'ho letto di là :D
purtroppo (o meglio, per me è stata una fortuna) l'unica copia disponibile
(di ogni volume) non è mai stata richiesta da nessuno, quindi ho potuto
prenderlo e poi ridarlo ben oltre il giorno-e-mezzo che in genere è
consentito per la consultazione.
-- 
Under construction

 "Uccidete i filosofi ..." et cetera; da dove l'hai pescato?
Mia, anche se immagino che a qualcuno sia venuta in mente prima a mia
insaputa. Una soluzione pratica ed efficiente al problema dei filosofi.
Deduco che sei uno studente di informatica o qualcosa del genere.
Sbaglio? Dai libri mi pare un corso universitario, poi magari lavori e
lo fai per cultura personale.


 lo fai per cultura personale.
Tutt'e due. Comunque i buoni libri sono sempre quelli. Basta sapere
che esitono e soprattutto cosa prendere...
Ciao.


Mi hai incuriosito... se passo lo prendo (in prestito of course...).
ciao.

 edizione) il Lippman-Lajole.
if   (sai qualcos'altro di programmazione) then Stroustrup;
else Lippmann;  // non hai le basi
Josuttis; // immancabile
-- 
|   Maurizio Loreti -- 
ROT13:ybe...@cq.vasa.vg
   |  (@_
| Un. of Padova, Dept. of Physics, Padova, Italy |  //\
|     
http://www.pd.infn.it/~loreti/mlo.html
     |  V_/_

 'stile'.
if (sai gia' qualcosa di programmazione) then Stroustrup;
else Lippmann-Lajoie;  // se mancano le basi
Josuttis;       // in ogni caso -- immancabile


 Ne ho trovata una bellissima: "God Is Real Unless Declared Integer"
:)
Beh, è relativa alla tipizzazione del vecchio Fortran. Cioè suona come
una battuta, ma non la è del tutto.


 else Lippmann-Lajoie;  // se mancano le basi
IMHO anche se sai programmare Lippmann-Lajole costituisce un ottimo
testo introduttivo a C++.


 testo introduttivo a C++.
si, ma l'altro e' meglio.  IMHO (anche a te :-)



il Formula Traslation! in un'altra vita mi piacerebbe impararlo...
Grazie per i consigli.

 Certo ed è per quello che mi piace il cormen.
Io sono abbastanza dubbioso sui cosidetti 'pseudolinguaggi'. Appoggio
MIX (e MMIX) di Knuth. Posto i motivi che lui adduce per la sua scelta
di usare un asm, credo sia sensato utilizzare un asm 'simile' a vari
risc, senza entrare nei dettagli di macchina e altre cose irrilevanti.
Riguardo allo pseudolinguaggio usato nel Cormen, per dire, Python o Ruby
sarebbe stato potenzialmente di livello ancora più alto (meglio Python,
poichè in Ruby in effetti la tendenza a rendere i cicli in modo
peculiare avrebbe reso il tutto meno fruibile -- certo, si sarebbe pure
potuto usare for, ma insomma).
Cioè Python è sufficientemente di alto livello perchè il codice
'algoritmico' sia comprensibile da tutti anche senza conoscere Python. È
pure eseguibile con ottimo debugger step by step.
Per citare Knuth (anche se lui la usa in un senso 'leggermente'
diverso):
"An algorithm must be seen to be believed."
