View Full Version : [Generale] Imparare a PROGRAMMARE
Salve a tutti. Sto imparando python con il classico howToThink. Una volta finito il libro vorrei imparare a programmare bene, quindi algoritmi e co(scusate se dico boiate ^^)...la mia domanda è: considerato che sono un principiante, mi consigliate un testo o comunque della documentazione?
cdimauro
26-12-2009, 05:49
Bravo picciotto. :)
Dopo aver finito il libro di aspetta un'occhiata alla libreria standard di Python, dove troverai una montagna di materiale su algoritmi & co. che coprono tantissimi rami della programmazione.
Ricorda che imparare la sintassi di un linguaggio e a risolvere problemi non è sufficiente, perché oggi i linguaggi si portano dietro delle librerie che è utilissimo conoscere.
Fatto questo, ne riparliamo dopo su algoritmi & co. dal punto di vista strettamente teorico. ;)
Grazie mille
http://docs.python.it/html/lib/ va bene?
cdimauro
27-12-2009, 11:16
La versione è vecchia (2.3.4). Capisco che questa è in italiano e, quindi, più comoda, ma ti consiglio di utilizzare l'ultima a disposizione (http://docs.python.org/library/) (per la 2.6.4), che tra l'altro è impaginata di gran lunga meglio.
Tanto con l'inglese ci si deve necessariamente sbattere la testa. C'è poco da fare.
Se è così avanti mi sa che userò quella, ancora grazie :D
Tanto non ho molti problemi con l'inglese :D
Bravo picciotto. :)
Dopo aver finito il libro di aspetta un'occhiata alla libreria standard di Python, dove troverai una montagna di materiale su algoritmi & co. che coprono tantissimi rami della programmazione.
Ricorda che imparare la sintassi di un linguaggio e a risolvere problemi non è sufficiente, perché oggi i linguaggi si portano dietro delle librerie che è utilissimo conoscere.
Fatto questo, ne riparliamo dopo su algoritmi & co. dal punto di vista strettamente teorico. ;)
Io avevo intenzione di imparare Python, poi ho scaricato il PDF riguardante la libreria :eek: ho lasciato perdere. Ci vogliono mesi per leggere la documentazione.
cdimauro
27-12-2009, 20:25
Prima impara il linguaggio. La libreria viene dopo.
Ryuzaki_Eru
28-12-2009, 13:47
Io avevo intenzione di imparare Python, poi ho scaricato il PDF riguardante la libreria :eek: ho lasciato perdere. Ci vogliono mesi per leggere la documentazione.
La documentazione non si legge da copertina a copertina. Basta dare un'occhiata per farsi un'idea di cosa c'è e iniziare a fare qualcosa con le varie librerie.
Io avevo intenzione di imparare Python, poi ho scaricato il PDF riguardante la libreria :eek: ho lasciato perdere. Ci vogliono mesi per leggere la documentazione.
Quindi te se vuoi imparare il tedesco ti leggi tutto il dizionario :asd:
Ryuzaki_Eru
28-12-2009, 19:20
:asd:
La libreria standard dell'ANSI C89 l'ho studiata completamente, essendo di dimnesioni ridotte. Quella del Python ti evita di scrivere molto codice, ma è veramente troppo "grande". Se voi preferite leggere la documentazione ogni volta che dovete scrivere un'applicazione, nessuno ve lo vieta.
Quindi te se vuoi imparare il tedesco ti leggi tutto il dizionario :asd:
*:D
Ryuzaki_Eru
29-12-2009, 12:47
Se voi preferite leggere la documentazione ogni volta che dovete scrivere un'applicazione, nessuno ve lo vieta.
Perchè tu pensi che conoscere la libreria significa imparare a memoria tutti i metodi, attributi, classi? Vorrei vedere cosa ricordi di tutti i metodi, classi e attributi che ci sono nella libreria *standard*.
Sinceramente basta sapere che ci sono librerie per fare x,y e z e appena ti servono sai già dove guardare.
blackgin
29-12-2009, 13:08
La libreria standard dell'ANSI C89 l'ho studiata completamente, essendo di dimnesioni ridotte. Quella del Python ti evita di scrivere molto codice, ma è veramente troppo "grande". Se voi preferite leggere la documentazione ogni volta che dovete scrivere un'applicazione, nessuno ve lo vieta.
E per esempio dimmi, con Java come faresti? :D
E per esempio dimmi, con Java come faresti? :D
http://java.sun.com/javase/7/docs/api/
Io sono dell'opinione di M4rk191. La documentazione delle API che uno intende usare va lungamente e debitamente studiata prima di usarle. Vale ancor di più per le librerie standard perchè sono poi quelle che effettivamente danno un senso di praticità generale al linguaggio che uno sceglie: io ritengo che queste debbano essere necessariamente conosciute a memoria. E' proprio lo studio e la conoscenza di queste librerie che porta via un sacco di tempo nell'imparare a programmare con un certo linguaggio anche perchè tolte queste un linguaggio, per quanto corposo sia, più di un migliaio di pagine di specifiche non le ha: è chiaro che non bastano per far qualcosa di interessante.
Ryuzaki_Eru
29-12-2009, 13:27
Si, ma dai PGI non puoi studiarti *a memoria* migliaia di librerie con i relativi metodi e classi. E' assurdo.
blackgin
29-12-2009, 13:30
http://java.sun.com/javase/7/docs/api/
Quindi presumo che tu sai tutto quello a memoria no? Se no devi andarlo a guardare ogni volta che vuoi scrivere un'app.
>>The Red<<
29-12-2009, 13:44
Prima impara il linguaggio. La libreria viene dopo.
E' buono il libro che hai in firma per iniziare a programmare?
Ryuzaki_Eru
29-12-2009, 13:46
Buono, ma se hai soldi da spendere compra "Imparare Python" di Mark Lutz.
Si, ma dai PGI non puoi studiarti *a memoria* migliaia di librerie con i relativi metodi e classi. E' assurdo.
E' assurdo nella misura in cui uno ritiena assurdo dover investire una marea di tempo nel compito di imparare a programmare. Io conosco a memoria le API delle librerie standard di Java ma non è per particolari abilità cognitive, semplicemente per un costante, lento, tedioso studio protratto negli anni.
Se non le conoscessi programmare in Java sarebbe per me un'esperienza frustrante, come infatti è stata agli inizi (e parlo più o meno del tempo in cui Annibale valicò le Alpi).
Vale per qualsiasi linguaggio. E' quando padroneggi le librerie che "esplodi" come programmatore perchè sai cosa c'è di pronto e cosa dovrai fare da te, sai come collegare i diversi pezzi del programma che scriverai (che è sempre in larga parte fatto di codice scritto da altri), sei in grado di stimare i tempi e i modi eccetera eccetera.
Senza un'ottima conoscenza della API non si va da nessuna parte.
Ryuzaki_Eru
29-12-2009, 15:58
D'accordo, ma non è una cosa che si fa in due settimane come studiare la sintassi base di un linguaggio. Sono cose, appunto, che si acquisiscono lentamente negli anni. E perchè questo? Semplice, perchè si programma e c'è la necessità di conoscere le librerie. Ma questa è una cosa totalmente diversa dal dire "mi metto a studiare la documentazione da copertina a copertina".
Io francamente me la studio sempre dall'inizio alla fine. Ho proprio sottomano l'esempio di scala, che sto studiando, e dopo essermi pappato "programming in scala" adesso mi sto leggendo le API, pagina per pagina. E' tanta roba?
http://www.scala-lang.org/docu/files/api/index.html
accidenti se lo è. Ma con un po' di tempo e con un po' di pazienza arriverò a saperle.
Poi ognuno ha i suoi metodi, per l'amor del cielo. Il mio è faticare.
Ryuzaki_Eru
29-12-2009, 17:07
Qua non parliamo di faticare o non faticare, parliamo di fare uno sforzo inutile. Dici che non c'entra nulla con l'imparare a memoria, allora dimmi: cosa ti ricordi di migliaia di classi o metodi? Io so che nella libreria ci sono metodi per fare x cose, ok. Quando dovrò fare la cosa x allora guarderò in un attimo la pagina della relativa libreria. Non mi sembra ci sia nulla di "nullafacente" in questo.
Uno è libero di decidere l'approccio che ritiene migliore. Io consiglio lo studio approfondito anche della API, prima di usarle. Personalmente ricordo ciò che studio, a prescindere dalla quantità (ma non dal tempo che ho dedicato allo studio ovviamente).
Ryuzaki_Eru
29-12-2009, 17:23
Se tu ti trovi bene a studiare a memoria le API standard ok, come giustamente dici ognuno ha i suoi metodi.
cdimauro
30-12-2009, 07:44
E' buono il libro che hai in firma per iniziare a programmare?
Se devi partire proprio da zero, al momento non so consigliarti altro.
Se invece mastichi già qualcosa di programmazione, allora è meglio comprare l'eccellente "Imparare Python".
E' assurdo nella misura in cui uno ritiena assurdo dover investire una marea di tempo nel compito di imparare a programmare. Io conosco a memoria le API delle librerie standard di Java ma non è per particolari abilità cognitive, semplicemente per un costante, lento, tedioso studio protratto negli anni.
Se non le conoscessi programmare in Java sarebbe per me un'esperienza frustrante, come infatti è stata agli inizi (e parlo più o meno del tempo in cui Annibale valicò le Alpi).
Vale per qualsiasi linguaggio. E' quando padroneggi le librerie che "esplodi" come programmatore perchè sai cosa c'è di pronto e cosa dovrai fare da te, sai come collegare i diversi pezzi del programma che scriverai (che è sempre in larga parte fatto di codice scritto da altri), sei in grado di stimare i tempi e i modi eccetera eccetera.
Senza un'ottima conoscenza della API non si va da nessuna parte.
Ma ci vogliono anni, appunto. Col tempo è chiaro che uno affina e migliora le proprie conoscenze.
Io non conosco tutta la libreria di Python: è talmente vasta e in continuo aggiornamento che difficilmente arriverò a padroneggiarla tutta.
Al momento mi basta sapere in quali aree offre dei moduli / package. Quando devo realizzare qualcosa e mi serve uno strumento, so che posso andare a spulciarmi la libreria perché troverò qualcosa, che smanettando imparerò poi a utilizzare ed entrerà a far parte del mio bagaglio culturale. E così via, col tempo e con la pratica.
Non posso pensare di staccare tutto e mettermi a studiare soltanto la libreria, perché non ho assolutamente questo tempo a mio disposizione.
Nonostante ciò, al momento l'approccio mi ha dato dei buoni risultati.
Concordo con Cesare.
Il libro che in firma l ho letto poco, purtroppo il tempo a disposizione è quello che è ma da quel che ho potuto constatare è un buon libro.
Se posso consigliare anche DiveIntoPython non è malaccio.
W il C.
Scateniamo il Flame. :D
PS. scherzo Cesare, lo sai ;)
>>The Red<<
30-12-2009, 11:10
Se devi partire proprio da zero, al momento non so consigliarti altro.
Se invece mastichi già qualcosa di programmazione, allora è meglio comprare l'eccellente "Imparare Python".
Quel libro gia l'ho comprato, ma non ci ho capito quasi nulla XD
Diciamo che parto da 0.
Quel libro gia l'ho comprato, ma non ci ho capito quasi nulla XD
Diciamo che parto da 0.
Allora prendi il libro che ha in firma Cesare... è online e gratuito.
>>The Red<<
30-12-2009, 12:11
Allora prendi il libro che ha in firma Cesare... è online e gratuito.
Link?
Ryuzaki_Eru
30-12-2009, 12:36
Concordo con Cesare.
Il libro che in firma l ho letto poco, purtroppo il tempo a disposizione è quello che è ma da quel che ho potuto constatare è un buon libro.
Fino a metà circa, poi diventa pieno di errori e anche criptico. Esperienza personale.
Se posso consigliare anche DiveIntoPython non è malaccio.
Lascia stare.
Quel libro gia l'ho comprato, ma non ci ho capito quasi nulla XD
Diciamo che parto da 0.
Strano che non ci hai capito nulla, il libro è davvero ottimo e completo. Comunque visto che dici che non ci hai capito nulla ti consiglio di leggerti (se ti impegni in 3 giorni massimo lo finisci) il Pensare da Informatico e poi buttarti sul libro Imparare Python.
Qua scarichi il Pensare da Informatico http://www.python.it/doc/Howtothink/HowToThink_ITA.pdf
>>The Red<<
03-01-2010, 19:58
Grazie;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.