nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: impara a programmare in 10 anni

Von: gh (gh@nospam.gmail.com) [Profil]
Datum: 04.07.2009 14:01
Message-ID: <4ndu45hk3fqbt3jtn2idm20e8f47vfvcj3@4ax.com>
Newsgroup: it.lavoro.informatica
On Sat, 4 Jul 2009 03:15:17 -0700 (PDT), riccardo
<riccardo.odraccir@gmail.com> wrote:

>On Jul 4, 1:51 am, gh <g...@nospam.gmail.com> wrote:
>
>> >Sono meno d'accordo sul fatto che i libri tipo "teach yourself
xxx.."
>> >siano tutti inutili. Certo se ne abusa, ma ne ho visti anche di fatti
>> >in maniera decente e possono avere una loro utilita' come introduzione
>> >"dolce" per chi magari ha un po' troppo timore reverenziale per
un
>> >soggetto, o non e' ancora sicuro se gli interessa veramente.
>>
>> Non mi pare li critichi in quanto a qualità. Se ci fai caso, insiste
>> sul significato che il titolo di questi libri vuole comunicare: "basta
>> poco, che ce vò!" (cit.). So anch'io che ce ne sono diversi di
quelle
>> collane davvero ben fatti (ricordo titoli su C++, statistica,
>> Python...), lui punta piuttosto all'errato messaggio che lanciano.
>
>Fa sicuramente bene a criticare il messaggio che lanciano, ma credo
>che a scanso di equivoci dovrebbe anche menzionare il fatto che dei
>libri facili hanno una loro utilita'. Inoltre non mi sono piaciuti
>passaggi come:
>"If you want, put in four years at a college (or more at a graduate
>school). This will give you access to some jobs that require
>credentials, and it will give you a deeper understanding of the field,
>but if you don't enjoy school, you can (with some dedication) get
>similar experience on the job."
>Questa e' un'affermazione estremamente "diminishing" di quello che ti
>puo' dare, dal punto di vista umano, mentale e professionale
>l'esperienza universitaria (specialmente in un buon college americano,
>e parlo per esperienza personale). Ha ragione sul fatto che il college
>non sia indispensabile, ma dovrebbe sottinearne l'importanza.

Io, al contrario, adoro il fatto che un grandissimo come lui
sottolinei che la differenza la fa il singolo prima di tutto e che
l'esperienza diretta è sempre la primo posto.

Norvig sa bene che la maggioranza delle persone, laureate o meno, non
riesce poi a esprimere in capacità pratiche e produttività quello che
studia fondamentalmente perchè il "learning by doing" non viene
considerato come dovrebbe.

E' inutile far finta di niente: i passi della sua recipe

"Learn at least a half dozen programming languages",
"Program",
"Be the best programmer on some projects; be the worst on some others"
"Remember that there is a "computer" in "computer science",
etc.

mancano alla stragrande maggioranza dei programmatori, laureati e non.
E' questo che conta alla fine.

Mi meraviglia che tu non colga la "full picture" ma ti soffermi solo
sul particolare. :/

>Trovo discutibile anche questa affermazione:
>"With all that in mind, its questionable how far you can get just by
>book learning. Before my first child was born, I read all the How To
>books, and still felt like a clueless novice. 30 Months later, when my
>second child was due, did I go back to the books for a refresher? No.
>Instead, I relied on my personal experience, which turned out to be
>far more useful and reassuring to me than the thousands of pages
>written by experts. "
>
>In primis, l'educazione che puo' aver ottenuto leggendo qualche libro
>su come gestire i neonati non e' certo comparabile a quella che si
>ottiene studiando programmazione e computer science per anni.
>Inoltre, prendersi cura di un neonato e' un' attivita' leggermente
>meno teorica della programmazione...
>Di nuovo, non ha torto in generale, l'esperienza ha il suo peso
>eccome, ma il modo in cui pone la frase e' "diminishing" verso il
>"book learning" , che certo e' solo una parte della cultura di un
>'informatico, ma una parte estremamente importante.

Però forse stai facendo confusione. L'articolo tratta l'imparare a
programmare, non l'imparare a fare il computer scientist, di cui lui
tra l'altro rappresenta oggi uno dei massimi esponenti.

Tradotto ti dice: per programmare e bene fare il collegge non è
necessario e/o discriminante.
Parliamo di un primo della classe ben al di sopra di tanti suoi
insegnanti e colleghi, e io non ci leggo nulla di diminishing in
quello che dice, solo una verità di fatto. :)

Quali siano i problemi che poi si possa essere in grado di risolvere
essendo o meno un accademico è un altro paio di maniche. Ma non è il
focus dell'articolo e quindi morta qui.

>> Io una volta mi ero fatto una idea sul linguaggio con cui iniziare.
>> Più vado avanti, più questa idea cambia continuamente ;)
>>
>> Cmq, sono daccordo con Peter Norvig, almeno sul C++: è un linguaggio a
>> cui approdare, pieno zeppo di complessità, difficile dire che sia
>> l'ideale per un neofita.
>
>Credi? Prova a dare uno sguardo a questo libro:
>http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726
>E' una perla assoluta per l'insegnamento della programmazione.  E'
>vero, il C++ ha parti difficili,
>ma un libro che insegna la programmazione deve insegnare i principi
>generali,lo stile, il modo di pensare.. non deve farti diventare un
>"language lawyer". ( E Stroustrup fa molta attenzione in questo libro
>a distinguere i due concetti e a sconsigliare all'aspirante
>programmatore di concentrarsi sul diventare un "language lawyer").
>In sostanza la scelta del linguaggio e' molto libera, quello che conta
>e' che sia un linguaggio ragionevolmente "in uso" e che abbia uno
>spettro abbastanza ampio da poter illustrare diverse tecniche di
>programmazione.  C++, Java, Python, Ruby, C#.. vanno tutti benissimo.

Credo, si. Come lasciavo intendere, la didattica è cosa difficle su
cui non mi pronuncio ma il caso del C++ è conclamato e assodato da
tempo.

Del libro ho visto le parti liberamente consultabili e mi è piaciuto,
ma un libro non cambia la realtà dei fatti.

Molti nomi (Bruce Eckel, Alex Martelli, etc.) tra i grandi esperti del
C++ la pensano così. Lo stesso Stroustrup non nasconde l'ardua
difficoltà dell'impresa in http://www.research.att.com/~bs/bs_faq.html
A me pare difficile associare quello che lui stesso (2 anni in media
per impararlo, necessità di mentoring altrimenti ci si perde nella sua
complessità) e altri grandi esperti asseriscono con l'idea che sia
indolore come punto di partenza per imparare a programmare.

Non lo è by design, come il C. E' stato creato come evoluzione del C,
quindi per il programmatore esperto come target e la cosa è evidente.
Discussioni come questa
http://www.artima.com/intv/goldilocks.html
confermano il fatto che "perdersi" nel C++ è facile, ed infatti ben
venga finalmente questo suo nuovo libro (anche se a dire il vero
diverse perle erano già presenti da una vita: Lippman, Koening,...) in
aiuto, se è proprio necessario che un qualche neofita di
programmazione lo impari per primo.

Ma tutti i libri del mondo non renderanno un linguaggio di basso
livello meglio digeribile o più produttivo di un vhll.

L'esperienza ci ha insegnato che non è produttivo usare il C++ come
primo approccio alla programmazione; fortunatamente per noi, con il
passare del tempo questa idea si è ben consolidata.

Al solito, tutto si riconduce sempre allo stesso, grande errore di
fondo: non usare lo strumento giusto al momento giusto :)

[ Auf dieses Posting antworten ]

Antworten