PDA

Visualizza la versione completa : forma mentis: come acquisirla?come mettere insieme le conoscenze?problema grave.


d_traveler
07-06-2009, 23:37
salve a tutti. sono un ragazzo di quasi 22 anni e studio programmazione da poco più di un anno. conosco molto bene python, sto quasi finendo java e mentre mi dedico anche a studiare qualcosa più specifica per il web, tipo js.ma il punto non è questo. il problema è che fino ad ora non ho scritto niente di complesso o rilevante, solo una rubrichetta basilare proprio, un programmino che calcola il codice fiscale e qualche altra cosina usando alcune delle librerie standard di python.
il mio problema è, che anche se ho le conoscenze, non riesco a metterle assieme. provo a scrivere un qualcosa, ma subito mi dico che è troppo difficile e non ce la faccio.
ad esempio volevo provare a scrivere un risolutore di sudoku e poi ne ho trovato uno fatto in python. nonostante il programma usasse semplicemente i costrutti base (if, for, list comprehension ecc) non riesco a comprenderlo appieno e oltretutto quando ho provato a scriverlo io, dopo due righe di codice mi sono bloccato. altre volte capisco i codici che leggo, ma io non saprei sceriverli. è una sensazione bruttissima, voi avete consigli?grazie per la pazienza.

Ippo343
08-06-2009, 00:17
Prova a prendere un codice funzionante, pensare ad una piccola miglioria che puoi fare e aggiungerla. Se il programma che modifichi è semplice, io trovo di solito più facile apportare piccole modifiche ad un programma già fatto. Poi man mano aumenti la portata delle modifiche finchè non lo scrivi per intero ;)

d_traveler
08-06-2009, 00:33
Originariamente inviato da Ippo343
Prova a prendere un codice funzionante, pensare ad una piccola miglioria che puoi fare e aggiungerla. Se il programma che modifichi è semplice, io trovo di solito più facile apportare piccole modifiche ad un programma già fatto. Poi man mano aumenti la portata delle modifiche finchè non lo scrivi per intero ;)

questo l'ho già fatto, il fatto è che individualmente non so procedere e mi blocco.

Stoicenko
08-06-2009, 09:24
Il punto è che ti manca la pratica.. conoscere i costrutti di un linguaggio non significa essere esperi o conoscere il linguaggio perchè, come hai visto, dal sapere al fare c'è di mezzo il mare (più un oceano direi)

L'unica cosa che puoi fare è esercitarti..
Il fatto che ti blocchi è perchè credi di sapere e quando scrivi e non vai avanti ti abbatti..

Un esempio.. hai fatto una rubrica no? come l'hai fatta? usi database? prova ad ampliarla magari, aggiungici componenti, soprattutto cosa fatte da te.. flla diventare una "rubricona"

d_traveler
08-06-2009, 12:00
Originariamente inviato da Stoicenko
Il punto è che ti manca la pratica.. conoscere i costrutti di un linguaggio non significa essere esperi o conoscere il linguaggio perchè, come hai visto, dal sapere al fare c'è di mezzo il mare (più un oceano direi)

L'unica cosa che puoi fare è esercitarti..
Il fatto che ti blocchi è perchè credi di sapere e quando scrivi e non vai avanti ti abbatti..

Un esempio.. hai fatto una rubrica no? come l'hai fatta? usi database? prova ad ampliarla magari, aggiungici componenti, soprattutto cosa fatte da te.. flla diventare una "rubricona"

Mi abbatto è vero, ma mi abbatto anche se vedo qualcosa che gli altri fanno con facilità e io no.
ad esempio il sudoku, girando per la rete vedo che moltissimi utenti, anche 12/13 enni lo hanno fatto, chi in java, chi in python, chi in c#, ma lo hanno fatto. io invece mi siedo, inizio a scrivere qualcosa... e poi blocco totale.

Stoicenko
08-06-2009, 12:11
bè finchè ragioni così non andrai da nessuna parte.. lascia stare gli altri

ognuno è diverso a prescindere, fai i tuoi esercizi, continua a programmare.. poi vedrai che le cose cambiano

io 2 anni fa conoscevo sono un po' di c++ e java, ora dopo 2 anni di insistenza programmi sistemi video e sistemi di registrazione oltre che di codifica video in c++ e c#

testa bassa e programmare, informarsi e leggere valangate di documentazione tecnica (in INGLESE)

YuYevon
08-06-2009, 12:26
Originariamente inviato da d_traveler
Mi abbatto è vero, ma mi abbatto anche se vedo qualcosa che gli altri fanno con facilità e io no.
ad esempio il sudoku, girando per la rete vedo che moltissimi utenti, anche 12/13 enni lo hanno fatto, chi in java, chi in python, chi in c#, ma lo hanno fatto. io invece mi siedo, inizio a scrivere qualcosa... e poi blocco totale.

Non ti fissare sul sudoku... non è facile da realizzare, si tratta di scrivere un algoritmo con una tecnica di backtracking che non è certamente facile, quindi se non ci riesci non hai da abbatterti! Il fatto che dei ragazzini di 12/13 anni lo abbiano fatto secondo te è credibile? Certo, io conosco diversi ragazzi giovanissimi (anche di 14-15 anni, ma mai 12!) molto capaci, ben più di me anche (non ce ci voglia molto del resto...) ma l'età è un fatto relativo: se tu hai quasi 22 anni e studi la programmazione da "poco più di un anno" è normale che perfino un ragazzino di 15 anni che magari studia da un paio d'anni almeno risulta più esperto di te...

Per quanto riguarda la forma mentis, non ti saprei dare un consiglio da "maestro" perché io stesso sono uno studente che ha circa un anno e mezzo di esperienza con la programmazione (o poco più), quindi anche io sono alla ricerca della forma mentis. Mi trovo abbastanza d'accordo con quello che diceva Stoicenko: bisogna esercitarsi, e con costanza anche.

Tuttavia temo che sia vero anche un altro aspetto, e su questo non ci si pu fare assolutamente nulla perché il passato non si può modificare: il modo migliore per imparare a fare qualcosa (di qualunque cosa si tratti) è esercitarsi fin da quando si è "piccoli"... non sono certamente uno psicologo, ma ho come l'impressione che se si cresce coltivando una passione, un interesse, un hobby o quello che è, la mente si forma molto meglio di quando si cerca di apprendere da "grandi". Ecco quindi che un ragazzino di 15 anni con due anni di esperienza può risultare paradossalmente più bravo di un "vecchio" di 21 (come me) o 22 (come te) con pari esperienza.

C'è anche da considerare che quando si è parecchio giovani non si hanno altri cavoli per la testa, a differenza di uno che ragazzino non lo è più... a 14 anni, se un novello nerd si mette in testa di imparare a programmare probabilmente non farà altro dalla mattina alla sera/notte (se non dedicare magari un po' di tempo alla scuola...), e quindi è ovvio che due anni di studio suoi equivalgono a 6 anni miei, visto che io oltre alla programmazione (da studente universitario) devo studiare e apprendere una caterva di altre cose, e probabilmente lo stesso ragazzino queste cose se le sogna la notte...

Questi sono i miei due centesimi, ovviamente.

EDIT:



testa bassa e programmare


Su questo sono ancora più d'accordo :)

d_traveler
08-06-2009, 12:31
Originariamente inviato da Stoicenko
bè finchè ragioni così non andrai da nessuna parte.. lascia stare gli altri

ognuno è diverso a prescindere, fai i tuoi esercizi, continua a programmare.. poi vedrai che le cose cambiano

io 2 anni fa conoscevo sono un po' di c++ e java, ora dopo 2 anni di insistenza programmi sistemi video e sistemi di registrazione oltre che di codifica video in c++ e c#

testa bassa e programmare, informarsi e leggere valangate di documentazione tecnica (in INGLESE)

Il problema è: cosa scrivere? io non lo so davvero, qualunque cosa mi passa per la testa mi sembra troppo difficile.


Non ti fissare sul sudoku... non è facile da realizzare, si tratta di scrivere un algoritmo con una tecnica di backtracking che non è certamente facile, quindi se non ci riesci non hai da abbatterti! Il fatto che dei ragazzini di 12/13 anni lo abbiano fatto secondo te è credibile? Certo, io conosco diversi ragazzi giovanissimi (anche di 14-15 anni, ma mai 12!) molto capaci, ben più di me anche (non ce ci voglia molto del resto...) ma l'età è un fatto relativo: se tu hai quasi 22 anni e studi la programmazione da "poco più di un anno" è normale che perfino un ragazzino di 15 anni che magari studia da un paio d'anni almeno risulta più esperto di te... Per quanto riguarda la forma mentis, non ti saprei dare un consiglio da "maestro" perché io stesso sono uno studente che ha circa un anno e mezzo di esperienza con la programmazione (o poco più), quindi anche io sono alla ricerca della forma mentis. Mi trovo abbastanza d'accordo con quello che diceva Stoicenko: bisogna esercitarsi, e con costanza anche. Tuttavia temo che sia vero anche un altro aspetto, e su questo non ci si pu fare assolutamente nulla perché il passato non si può modificare: il modo migliore per imparare a fare qualcosa (di qualunque cosa si tratti) è esercitarsi fin da quando si è "piccoli"... non sono certamente uno psicologo, ma ho come l'impressione che se si cresce coltivando una passione, un interesse, un hobby o quello che è, la mente si forma molto meglio di quando si cerca di apprendere da "grandi". Ecco quindi che un ragazzino di 15 anni con due anni di esperienza può risultare paradossalmente più bravo di un "vecchio" di 21 (come me) o 22 (come te) con pari esperienza. C'è anche da considerare che quando si è parecchio giovani non si hanno altri cavoli per la testa, a differenza di uno che ragazzino non lo è più... a 14 anni, se un novello nerd si mette in testa di imparare a programmare probabilmente non farà altro dalla mattina alla sera/notte (se non dedicare magari un po' di tempo alla scuola...), e quindi è ovvio che due anni di studio suoi equivalgono a 6 anni miei, visto che io oltre alla programmazione (da studente universitario) devo studiare e apprendere una caterva di altre cose, e probabilmente lo stesso ragazzino queste cose se le sogna la notte... Questi sono i miei due centesimi, ovviamente.

Il sudoku era un esempio, ma vorrei capire il perchè. cioè io non mi reputo un ragazzo stupido, stando anche a quello che mi dicono molti sono molto intelligente, allora perchè sti problemi? forse la programmazione non è la mia vera passione ma è un'ossessione più che altro? non so.
il discorso poi dei ragazzini 15 enni credo che si appiani quando si imparano determinate cose, ma il succo del discorso non sono i 15 enni.

Stoicenko
08-06-2009, 12:45
E' possibile che non sia la tua strada.. non tutti sono mentalmente portati per una cosa..

cmq, ti ho già dato alcuni post fa un'idea.. hai una rubrica no? ampliala.. falla più funzionale passo passo..

ti tico cmq che anche quando una cosa ti sembra molto grossa e difficile non scartarla.. devi avere la forza di "intestardirti", solo così ne vieni fuori.. sennò dirai sempre "troppo difficile" (però questa è una lezione di vita.. vale per ogni cosa)

d_traveler
08-06-2009, 13:44
E' possibile che non sia la tua strada.. non tutti sono mentalmente portati per una cosa.. cmq, ti ho già dato alcuni post fa un'idea.. hai una rubrica no? ampliala.. falla più funzionale passo passo.. ti tico cmq che anche quando una cosa ti sembra molto grossa e difficile non scartarla.. devi avere la forza di "intestardirti", solo così ne vieni fuori.. sennò dirai sempre "troppo difficile" (però questa è una lezione di vita.. vale per ogni cosa)


sul difficile è vero, dovrei fare cosi, ma il bello è che neanche provo, perchè io penso che non ci riesco tanto. mi chiedo come abbiano fatto le persone che ora sanno programmare tranquillamente quando hanno iniziato. hanno studiato un linguaggio come me, hanno fatto gli esercizi del libro come me, hanno fatto qualcosina come me e poi come sono saliti di livello?

come faccio a sapere se è la mia strada?da quel che vedo sanno programmare un minimo tutti, anche chi non è nel settore informatico.gente molto grande che si fa un corso e impara a programmare.perchè io no allora?

Loading