PDA

View Full Version : [Generale] Imparare a PROGRAMMARE


theUser
26-12-2009, 00:24
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. ;)

theUser
27-12-2009, 11:12
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.

theUser
27-12-2009, 11:29
Se è così avanti mi sa che userò quella, ancora grazie :D
Tanto non ho molti problemi con l'inglese :D

M4rk191
27-12-2009, 18:21
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.

Tommo
28-12-2009, 16:53
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:

M4rk191
28-12-2009, 19:33
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.

Allure
28-12-2009, 19:39
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

M4rk191
29-12-2009, 13:13
E per esempio dimmi, con Java come faresti? :D

http://java.sun.com/javase/7/docs/api/

PGI-Bis
29-12-2009, 13:23
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.

PGI-Bis
29-12-2009, 13:48
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".

PGI-Bis
29-12-2009, 16:48
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.

PGI-Bis
29-12-2009, 17:19
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.

vhost87
30-12-2009, 07:59
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.

vhost87
30-12-2009, 11:20
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;)