Newsgroup: it.comp.lang.perl
Titolo: [OT] perl per iniziare

Perl può essere usato come linguaggio per avvicinarsi la prima volta alla 
programmazione o è + adatto es. python?



Mmh... io partirei da:
"Algoritmi + Strutture Dati = Programmi" dell'Egr. Sig. Niklaus Wirth
;-)
	- Enrico

 programmazione o è + adatto es. python?
Ti consiglierei un linguaggio rigido ,vecchio e fortemente tipato (io ti
consiglio vivamente il pascal).
Poi quando hai appreso cosa vuol dire programmare e ti sei fatto un po' di
ossa passi al perl, al python o al linguaggio che piu' ti piace.
Io all'inizio ti sconsiglio gli oggetti, almeno all'inizio.
ciao,
Nids
ps: so che verro' mangiato vivo dagli altri visitatori di questo newsgroup
perche' ho consigliato il pascal ma resto dell'idea che sia un linguaggio
molto didattico

 Io all'inizio ti sconsiglio gli oggetti, almeno all'inizio.
Pero' se uno "nasce" e "cresce" con gli oggetti mi sa che poi arrivi ad 
avere una mentalita' OO migliore.
C'e' qui in giro qualcuno che ha iniziato direttamente con linguaggi OO 
che possa confermare o smentire tale idea?
-- 
Saluti,
Giancarlo

programmazione o è + adatto es. python?
Damian Conway (sorta di nume tutelare in un gruppo come questo)
ha scritto un articolo a proposito di problematiche di questo
genere:
  "Seven Deadly Sins of Introductory Programming Language Design"
Insieme ad altri paper, lo trovi qui:
 
http://www.csse.monash.edu.au/~damian/papers/
  (sezione "Human Factors in Programming Languages" )
ciao
Stefano

non è (solo) una questione di tempo, ma soprattutto di materia grigia.
io aggiungo che secondo me è anche questione di VOGLIA di imparare.
Pertanto, per come la vedo io, per avvicinarsi alla programmazione un
linguaggio vale l'altro (tanto while, foreach, @array $string sono sempre lo
stesso...o sbaglio?)
ciao
stefano

com'era la frase?
chi sa fa
chi non sa insegna
chi non insegna Googla!
:-))))
Grazie comunque per il link che posti sempre pertinenti e interessanti
--
perl -MLWP::Simple -e "getprint(' 
http://perl.4pro.net
 ')"

ops! Domizio, sorry!
stefano

 avere una mentalita' OO migliore.
Oggetti si, oggetti no... il fatto è che se uno non capisce ancora nulla di
programmazione sembra logico che debba cominciare con concetti elementari e
poi aggiungere concetti che si basano sui concetti elementari, e così via
costruendo le sue capacità a strati, uno sull'altro, stile cipolla :-).
Il concetto degli oggetti si basa su altri concetti che devono essere
appresi ovviamente prima, altrimenti non si capirà un cappero di cosa sono
gli oggetti e come servirsene, ma non ne farei un "topic" così
fondamentale... allora perché non dire "io all'inizio ti sconsiglio di usare
le referenze", oppure "i moduli" oppure il "select" oppure lo "split"?
Io all'inizio SCONSIGLIO di usare le cose che fanno riferimento ad altre
cose che non si siano già capite :-).... e con perl questa è un po'
un'impresa difficilotta, perché con la documentazione che ha, o capisci
tutto di un botto, o continui a non capire niente per un bel po' :-), così
allo stesso tempo CONSIGLIO di usare le cose che fanno riferimento ad altre
cose che non si capiscono, in modo da cadere nella confusione più totale!
:-)
Dalla confusione nasce la comprensione! se hai tempo e sei perseverante,
PROVA, PROVA, PROVA, CHIEDI, CHIEDI, CHIEDI, e come dice Stefano... goggla
goggla goggla! :-)
ciao
PS Personalmente preferisco alternare il metodo dell'apprendimento razionale
a strati, al metodo della confusione totale. Ho notato che libri e manuali
ben scritti forniscono una buona base, ma allo stesso tempo NON leggere
libri e manuali e immergersi nel problema senza conoscerne minimamente gli
elementi, spesso mi ha stimolato di più a leggere i manuali :-)ed ha
generato nuove idee nonché una comprensione più profonda. Dipende comunque
dall'elasticità mentale di chi applica tali metodi.


stesso...o sbaglio?)
Se ti limiti alla classe di linguaggi in cui questi costrutti hanno qualche
significato, no, non ti sbagli. Il mondo perň č un pochino piů grande di
cosě.
Ciao.

a strati, al metodo della confusione totale.
Mi pare un po' riduttivo chiamare "razionale" il solo modello di
apprendimento progressivo, a passi certi ed informazione totale, a cui si
possa contrapporre solo la completa confusione. Credo che esistano altri
modelli di apprendimento, che a medesimo diritto possono chiamarsi
"razionali". In particolare, un apprendimento "a scatole nere", in cui si
accetta l'esistenza di isole di ignoto, della cui struttura interna
inizialmente non ci si cura, tentando invece di stabilirne con rigore le
relazioni reciproche esterne.
Sospetto anzi, per quanto non sia in grado di dimostrarlo, che qualunque
modello di apprendimento razionale di un soggetto complesso debba accettare,
in qualche punto del percorso, di utilizzare strutture e concetti non
pienamente compresi.
Corrispondentemente, il problema "con che cosa iniziare" diventa meno
critico. Non che allora sia tutto indifferente, ma sono senz'altro possibili
molti percorsi ugualmente validi e proficui.
Mi fermo qui, perché la lista di argomenti ovvi e banali che ho messo in
campo mi sembra già più che sufficiente.
Ciao.

 campo mi sembra già più che sufficiente.
accademico, però simpatico


 "split"?
Ma non e' che tu vedi un oggetto come un concetto che dipende da altri 
concetti solo perche' tu lo hai imparato in questo modo?
Non e' possibile che (parlo in generale perche' forse il perl non e' il 
linguaggio adatto a questo approccio) assumendo che gli oggetti 
"esistono" come entita' a se, senza vederli come un'evoluzione di 
strutture dati, funzioni etc etc, ed hanno determinati proprieta' e 
comportamenti, si puo' "crescere" con una visone OO "naturale"? 
evitando di fare la fatica di dover adeguare la propria mentalita' agli 
oggetti dope aver fatto proprio quella tradizionale.
Allo stesso modo sono convinto che se ai bambini alle elementari si 
insegnasse la geometria e l'algebra in modo diverso, come poi le vedi 
all'universita' tanto per intenderci, senza partire da basi 
"percettive" (una strisciata di gesso sulla lavagna e' una linea e un 
tavolo un piano, oppure ptrendo una moneta, ne prendo un'altra e ne ho 
2), ma subito partendo da basi logiche e matematiche (o per lo m,eno 
integrando le due cose) si svilupperebbe una cultura logico matematica 
diversa e migliore.
Ahhhhh dubbi pedagogici.... :-)
-- 
Saluti,
Giancarlo

 concetti solo perche' tu lo hai imparato in questo modo?
può darsi, ma allora tu che l'hai imparata in una altro modo illuminami di
imenso e spiegami in pratica cos'è un oggetto (in perl o in qualunque altro
linguaggio che preferisci) senza utilizzare altri concetti di
programmazione.
Immagina che io non sappia cos'è una variabile, una referenza, una sub, e
magari nemmeno uno script, e comincia subito con gli oggetti, giusto per
farmi '"crescere" con una visone OO "naturale"?' :-)))))
E non mi saltare fuori con una bella metafora, perché se in uno script
scrivo quella metafora, il compiler mi dà errore, e mi sa che non sono
"cresciuto" tanto bene :-)


 concetti di programmazione.
Innanzi tutto non so se il mio ragionamento e' valido, era solo una 
domanda, un dubbio, uno spunto, tanto per discuterne in linea teorica, 
e per discutere piu' di logica che di programmazione.
Poi io l'ho imparata in moda tradizionale e non sono un pedagogo che 
inventa metodi di insegnamento alternativi. 
-- 
Saluti,
Giancarlo



Non è che si inizia ad andare un pò OT?
Gli elementi da cui partire sono stati ampiamente forniti. Beninteso, ben
vengano post con nuove risorse (link, libri, how-to, ecc).
[ 
 Personalmente aggiungo la lista con un testo riguardante la 
 programmazione object-oriented che ritengo un must:
   "Design Patterns: Elements of Reusable Object-Oriented Software"
   (Erich Gamma, Richard Helm, ..., ed. Addison-Wesley)
]
	- Enrico

 Non è che si inizia ad andare un pò OT?
Forse si, ma sono anche cose interessanti.... 
-- 
Saluti,
Giancarlo