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
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
- riccardo (05.07.2009 13:44)
- gh (07.07.2009 23:39)
- gh (08.07.2009 03:30)
- Valentina (08.07.2009 10:13)
- gh (08.07.2009 11:03)
- riccardo (08.07.2009 13:20)
- Valentina (08.07.2009 13:29)
- Luca Menegotto (08.07.2009 13:50)
- gh (08.07.2009 15:59)
- Luca Menegotto (08.07.2009 16:42)
- gh (08.07.2009 17:02)
- gh (08.07.2009 17:16)
- Luca Menegotto (08.07.2009 17:49)
- gh (08.07.2009 18:41)
- Luca Menegotto (08.07.2009 18:50)
- gh (08.07.2009 19:43)
- Hermooz (08.07.2009 18:16)
- gh (08.07.2009 15:15)
- gh (08.07.2009 16:35)
- gh (08.07.2009 16:40)
- riccardo (08.07.2009 17:17)
- me (08.07.2009 17:29)
- riccardo (08.07.2009 17:50)
- gh (08.07.2009 19:47)
- me (09.07.2009 17:12)
- gh (09.07.2009 17:34)
- riccardo (09.07.2009 23:51)
- me (08.07.2009 21:49)
- riccardo (09.07.2009 00:19)
- me (09.07.2009 16:44)
- riccardo (09.07.2009 23:49)
- me (10.07.2009 09:57)
- riccardo (10.07.2009 12:30)
- Luca Menegotto (08.07.2009 17:56)
- me (08.07.2009 18:44)
- gh (08.07.2009 19:55)
- Luca Menegotto (08.07.2009 21:01)
- Marco (08.07.2009 21:15)
- Luca Menegotto (08.07.2009 21:22)
- Freddy Krueger (08.07.2009 21:28)
- Luca Menegotto (08.07.2009 21:38)
- Freddy Krueger (08.07.2009 21:41)
- Luca Menegotto (08.07.2009 21:48)
- gh (08.07.2009 22:23)
- Luca Menegotto (08.07.2009 22:39)
- gh (08.07.2009 23:18)
- me (08.07.2009 23:58)
- riccardo (09.07.2009 00:02)
- gh (08.07.2009 18:25)
- gh (08.07.2009 03:36)
- Wolferin (05.07.2009 14:25)
- Luc (06.07.2009 12:14)
- gh (08.07.2009 03:12)
- Wolferin (08.07.2009 19:09)
- gh (08.07.2009 20:08)
- Wolferin (08.07.2009 21:52)
- gh (08.07.2009 22:38)
- Cammello (09.07.2009 15:50)
- Wolferin (10.07.2009 00:07)
- Cammello (10.07.2009 00:45)
- System Failure (10.07.2009 00:57)
- Wolferin (10.07.2009 09:40)
- Net_Byt (11.07.2009 17:03)
- gh (10.07.2009 01:52)
- Wolferin (10.07.2009 09:52)
- gh (10.07.2009 10:38)
- Wolferin (10.07.2009 09:48)
- gh (10.07.2009 10:23)
- Wolferin (10.07.2009 14:33)
- gh (10.07.2009 14:47)
- Cammello (15.07.2009 09:46)
- riccardo (08.07.2009 23:58)
