Newsgroup: it.comp.lang.delphi
Titolo: Templates e Delphi

Premettendo che non ho mai visto l'utilità dei template che i 
programmatori C++ sbandierano a destra e a manca, né ho mai trovato un 
problema non risolvibile senza di loro, ho trovato questo articolo sul 
WEB (o meglio, mi è stato inviato da un amico) su come implementare dei 
template in Object Pascal.
Lo posto perché potrebbe tornare utile a qualcuno.
http://www.dummzeuch.de/delphi/object_pascal_templates/english.html
Bye,
   Luca

programmatori C++ sbandierano a destra e a manca
...impara il C++ e poi ne riparliamo ;-)
-- 
Andrea Laforgia - a.laforgia(at)
libero.it
"There are three kinds of people in this world; 
 those who are good at maths and those who aren't".

 Lo posto perché potrebbe tornare utile a qualcuno.
E' interessante, ma non mi sembra molto esplicativo... Mi ricorda quei
giochini con il preprocessore che tanta gente fa programmando in C per
simulare la programmazione OO...
La domanda sorge spontanea: ma con un polimorfismo che funziona (come quello
di Delphi), ne vale davvero la pena?
Sull'utilita' dei template ho anch'io qualche dubbio (ai tempi in cui
programmavo con g++ li ho lasciati perdere, perche' erano una
sofferenza...), ma a volte servono... pensa che una delle innovazioni piu'
grandi della prossima versione di Java sara' proprio la programmazione
generica (con una parola riservata, credo sia 'generic' che funziona come il
template). Decisamente un linguaggio come il C++ senza la STL sarebbe solo
un modo per reinventare la ruota tutte le volte che devi andare in
bicicletta...
Dal punto di vista pratico, diffido molto di queste tecniche, e penso che da
quando il C++ e' stato standardizzato, si stia cercando di trasformarlo in
qualcosa di "accademico", con poca attinenza all'utilizzo pratico, e poca
attenzione alla reale implementabilita' delle caratteristiche aggiunte (io
saro' esagerato, ma secondo me bisogna che *prima* ci sia il compilatore, e
*dopo* ci saranno le specifiche, e non viceversa).

qualcosa di "accademico", con poca attinenza all'utilizzo pratico, 
Non scherziamo, per cortesia.


 
Non vedo perché dovrei, sono perfettamente felice con gli strumenti di 
sviluppo a mia disposizione... e come ho detto, non ho ancora trovato un 
problema non risolvibile con Delphi/Kylix/Pascal... semmai ne troverò 
uno e dovrò assolutamente risolverlo cercherò uno strumento diverso.
Bye,
   Luca

sviluppo a mia disposizione... 
Allora non puoi capire a che cosa servano e fino a che punto possano
essere utili i template.  Hai detto: "premettendo che non ho mai visto
l'utilità dei template";  è chiaro che non sai a cosa possono servire,
se non conosci il C++.  Impara il C++ ed avrai modo di capire se i
template possano o meno realmente servire in certi linguaggi.  In C++,
la presenza della programmazione generica è una marcia in più.


 Non scherziamo, per cortesia.
Secondo me la diffusione del C (e del C++) dipende *anche* dal fatto che
tantissimi compiti sono svolti dalle librerie, e quindi le parole riservate
sono pochissime. Aggiungendo concetti che la maggior parte degli utenti non
usa, e quindi aggiungendo parole riservate, il linguaggio perde il suo
fascino. Al momento non esiste un compilatore che capisca il 100% dei
costrutti validi del linguaggio standard, e questo secondo me non e' un
bene...
L'argomento dei template, comunque, e' uno di quelli su cui e' difficile
trovare 2 persone che la pensino allo stesso modo. Prima di scatenare una
discussione infinita, dal momento che ho espresso il mio parere, non ho
nulla da aggiungere.

bene...
Esistono molti compilatori che si avvicinano allo standard
praticamente al 100% (vedi il KAI C++ o il gcc).


 praticamente al 100% (vedi il KAI C++ o il gcc).
Ti posso dare ragione su tutti gli altri punti (io lavoro "nel piccolo", e
la manutenzione costa meno della progettazione, su questa scala), ma questo
secondo me e' abbastanza rilevante, ed e' una cosa che dicevo gia' nel primo
messaggio: se posso studiare una cosa ma non applicarla alla pratica (se non
"aggirando" in qualche modo i problemi noti), allora per me questo rientra
nella definizione di "accademico".

nella definizione di "accademico".
La tua definizione di "accademico" è troppo larga.  Ma, in ogni caso,
se questa definizione indicasse un linguaggio non adatto alla maggior
parte dei programmatori, che con esso combinerebbero soltanto casini,
allora ben venga che sia accademico.  Ti ripeto che il C++ ti consente
di applicare tutto ciò che studi nella pratica con i moderni
compilatori.
