Newsgroup: it.comp.lang.c++
Titolo: Accelerated C++ (nessun riferimento al libro)

Premesso che sono un pigro di prima categoria e che i libri di solito li
leggo iniziando dall'ultima pagina
(come avrete notato anche qualche thread inizio a leggerlo dall'ultimo post,
e poi si vedono le risposte).
Mi chiedevo la seguente cosa:
e' bene insegnare il C++ iniziando con le manfrine dei cicli, delle
dichiarazioni di variabili o direttamente
con dei programmi che sfruttano le caratteristiche del C++?
Faccio un esempio, di solito si fa alle prime lezioni il programmino che
stampa i numeri da N fino a 0 (penso che
tutti imaggineranno il ciclo for etc etc ) se invece ad un novello si
dicesse:
#include <stdio.h>
#include <iostream>
template <int N>
class ricors : public ricors <N-1>
{
    public:
        void virtual action() const {
            std::cout << N << std::endl;
            ricors<N-1>::action();
        }
};
template <>
class ricors<0>
{
    public:
        void virtual action() const {
            std::cout << 0 << std::endl;
        }
};
void foo(ricors<0>& t) { t.action(); }
int main(){
    ricors<10> myRic;
    myRic.action();
    //another
    foo(myRic);
}
pensate sia troppo, diciamo alla 2 lezione introdurre concetti come
template, template specializzati, e dynamic binding?
in un colpo solo ? A me non sarebbe dispiaciuto quando iniziai un libro
scritto in questo modo.
Se c'e' qualche novello in ascolto potrebbe dire la sua.
Ciao
Gaetano.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 template, template specializzati, e dynamic binding?
Quando (e se) in futuro si torverà a dover lavorare in gruppo con altri 
programmatori C++ che noteranno questo costrutto invece di un semplice ciclo 
for, secondo me (parlo per esperienza) verrà FULMINATO!
***Be easy and readable*** è un must quando più persone devono lavorare sugli 
stessi sorgenti!
-- 
Luc.


La maggior parte dei "programmatori C++" che io ho visto in giro al lavoro
un costrutto del genere se lo sognano. Voglio solo dire che si arriva a
concepire
una cosa del genere solo dopo qualche anno (io almeno ci ho messo tanto),
quando secondo me potrebbe essere fatto subito.
Mica ho detto che non si dovesse insegnare anche il ciclo for!!!


 ha scritto nel messaggio
news:0a3701c14b14$95da10d0$1aadd6c2@gmendola...

L'importante e` chiarire che sono due soluzioni diverse:
la tua richiede che N sia noto at compile time, l'equivalente
void action(int N){
  // implementazione lasciata al lettore come esrcizio
}
puo` essere usata anche con N inserito at run-time. L'importante
e` spiegare quando e come la tua soluzione e` efficiente. Quando ?
e ... come ? ( inline? , virtual?, wrapper non inline? )
ciao
Massimo

Io sono un novello, e a dire il vero, anche se lo ritengo un costrutto che
ancora non capisco fino in fondo e che quindi non uscirebbe dalle mie
tasche, avrei voluto cominciare imparando da tali 'esoticismi'.Venendo dalla
programmazione C, forse la strada per imparare il C++ è proprio quella di
provare a imparare un linguaggio nuovo, piuttosto che un linguaggio visto
come una estensione del C.
Saluti

.....
certo verissimo ......
che li mandiamo a fare i bambini alle elementari ?
poi le medie sono superflue...
e non parliamo di licei o istituti tecnici...
subito all'università si risparmierebbe tempo e denaro :)))


Io proporrei invece di iniziare a studiare il C++ facendosi un precorso di
Visual Basic.


 Visual Basic.
vb è più bello di C++
gne gne gne gne gne
:)))

 template, template specializzati, e dynamic binding?
Molto dipende dal livello degli studenti. Se parli con persone che hanno 10 anni
alle spalle di programmazione in C, direi che la cosa va bene.
Se parli con studenti di terza superiore che non hanno la minima idea di cosa
sia un probramma, credo che falliresti. Al primo approccio ci vogliono parecchie
lezioni solo per far capire cosa e' una variabile!
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Visual Basic.
Io ho iniziato da vb :-(
-- 
Marco Barisione (ICQ 84277092)
Su it.news.gruppi si sta discutendo della creazione di it.comp.lang
dove si parlerà dei linguaggi senza un proprio newsgroup e dei
confronti fra i diversi linguaggi.
Se sei interessato unisciti alla discussione.

Se c'e' qualche novello in ascolto potrebbe dire la sua.
Come ha già detto Andrea Ferro dipende dall'esperienza, se io avessi
iniziato a studiare il c++ così mi sarei ucciso.
Si potrebbe magari fare prima un capitolo introduttivo con le cose
basilari e poi iniziare con le cose più difficili, un approccio simile
mi sembra sia usato dalla documentazione di Ruby. Il libro sarebbe
comunque diretto verso lettori con già qualche conoscenza di
programmazione.


 ha scritto nel messaggio
news:0a3701c14b14$95da10d0$1aadd6c2@gmendola...

Ciao, ho quotato il tutto perchč era impossibile fare un estratto. Io sono
un novello, il C++ ancora non l'ho iniziato, ma sto facendo C e VB.
Ti  posso dire che iniziare cosě sarebbe il modo peggiore, secondo me,
secondo la mia modesta opinione, di insegnare e/o di apprendere.
Te lo dico io, da novello appunto. Un inizio del genere mi farebbe sparare
in testa!

 in testa!
Ovviamente ti verrebbe spiegato tutto punto per punto, mica sta cosa buttata
li
e poi devi imparare da solo!!!


 e poi devi imparare da solo!!!
Beh, diciamo che non so come sia impostato il C++ come linguaggio, la sua
filosofia cioč.
Tuttavia io sono sempre dell'idea di cominciare dalle basi. I linguaggi di
programmazione sono come i linguaggi umani, li devi apprendere partendo
dalle basi.
Ad.es. se io inziassi un corso di inglese partendo dalla seg. frase "The
carbone nanotubes have to be assembled using nanomachines; by the time
quantum mechanics has been formulated that's one of the most important usage
we can make of it!" ti sembrerebbe normale? Ovviamente spiegherei per filo e
per segno tutta la grammatica della frase, ma le basi?

 e poi devi imparare da solo!!!
Ciao, intervengo anche io "dal basso" della mia esperienza di studente in
ingegneria informatica, che ha gia' affrontato l'insegnamento del C++.
per il codice, ok se vuoi provaci, pero' mentre lo spieghi (insieme a tutto
il resto), ogni tanto guarda le facce che faranno i tuoi studenti!! o__O
e ascolta di nascosto cio' che diranno all'uscita della lezione! (non
spaventarti pero'...)
purtroppo (per fortuna?) le cose oltre che essere spiegate (magari in
maniera eccelsa, non metto in dubbio)
vanno anche capite e metabolizzate! e cacciare tutto insieme li in mezzo
spiegando *dopo* ogni singolo pezzo
e' IMHO mooolto peggio che spiegare una cosa per volta e poi mettere tutto
insieme, magari nelle ultime lezioni.
tra l'altro hai messo dentro di tutto di piu', mischiato template e
ricorsione, ecc ecc... ogni cosa sarebbe valido argomento per tutorial a se
stanti, secondo me si rischia di trattare il tutto con superficialita',
tralasciando magari aspetti importanti.
oltre a questo,IMHO bisogna vedere a che punto sono i tuoi studenti;
forse devi porti le seguenti domande, prima di decidere:
1) devi insegnarli a programmare da zero? strutture cicli ecc...?
2) hanno gia' basi di programmazione strutturata e devi insegnarli a
programmare oltre che in C++ come
linguaggio, anche mediante OOP come paradigma?
3) hanno gia' familiarita' con la sintassi C?
4) gestione della memoria, puntatori, riferimenti, puntatori a funzione?
cmq i template sono l'ultima cosa che toccherei, prima direi di dare solide
basi di OOP e tutto quello che ci sta intorno.
questo per quello che ho potuto vedere io nel mio corso di studi. spero di
esserti stato d'aiuto!
--
Ciao by Allanon

 we can make of it!" ti sembrerebbe normale?
Perche' no?
Ti ricordi come hai imparato la tua madre-lingua ? Non penso che tua madre
ti abbia fatto due manfrine con la grammatica della lingua italiana!!!


 ti abbia fatto due manfrine con la grammatica della lingua italiana!!!
Gaetano, ma la tua prima frase e' stata "Mamma" o quando i tuoi ti sillabavano
"Ma-m-ma" e "Pa-pà" gli hai risposto "Pur desiderando ardentemente compiacervi,
cari genitori, vorrei evitare di ripetere pedissequamente i vostri balbetti
poichè la la cosa mi farebbe sentire affatto imbecille", spedendo quindi i tuoi
genitori a verificare sul dizionario il vero significato del termine "affatto"?



Premesso che ho iniziato a parlare a 4 anni suonati, non ricordo quale sia
stata la
prima "parola".
I bambini dicono di solito "Mamma" o "Papa" solo per un problema meccanico,
non sanno ancora articolare i suoni. Non l'ho detta quella frase li ma forse
la
pensanvo e non potevo dirla. Quello che volevo dire e' che i bambini
imparano a parlare
sentendo gli altri che gli stanno intorno che fanno discorsi completi, che
poi
riescano a dire solo qualche parola all'inizio come ho detto prima
questo e' solo un problema "meccanico". Ci sono bambini che dopo i primi
giorni
di allenamento nel "coordinare" i suoni che emettono formulano delle frasi
perfette
dal punto di vista sia sintattico che semantico senza che per cio' abbiano
dovuto
iniziare a studiare dall'alfabeto.


 ti abbia fatto due manfrine con la grammatica della lingua italiana!!!
Ciao, scusa se ti rispondo solo ora. I bambini hanno una capacità INNATA di
apprendimento. Sembra che il linguaggio sia innato negli esseri umani. Ma il
linguaggio umano, non un qualsivoglia linguaggio di programmazione.