--
You received this message because you are subscribed to the Google Groups "sug-it" group.
To post to this group, send email to sug...@googlegroups.com.
To unsubscribe from this group, send email to sug-it+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sug-it?hl=en.
Io ho iniziato settimana scorsa e devo ammettere che uno degli
esercizietti del primo assigment è stato più tosto del previsto :)
Scusate ma non riesco a capire, come avete fatto a scrivere una soluzione senza capire come funziona?
Io l'ho scritta come mi sembrava giusta, algoritmo piccolo, semplice basandomi sul caso di esempio 4 con (1,2) e un foglio di carta.
Ho lanciato i test i passavano tutti tranne quello della lista non sortata. A quel punto in qualche modo ho intuito che mancasse un'altra ricorsione ma aggiungendola dove mi sembrava sensato non ha funzionato. Allora l'ho aggiunta "a caso" nell'unico altro posto possibile e...tada': barra verde.
Lorenzo
--
You received this message because you are subscribed to the Google Groups "sug-it" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sug-it/-/pXIPM--2uuoJ.
Io sto facendo il corso prevalentemente per fare pratica con Scala e soprattutto per ottenere una maggiore familiarita' e dimestichezza con il modo di pensare e strutturare i programmi in modo "funzionale".Lo dico perche' la mia esperienza (come molti) viene da anni di Java e programmazione imperativa, quindi faccio fatica a pensare come comporre un programma intero secondo i principi "funzionali", come ad esempio sei costretto a fare in haskell.
Riguardo all'esercizio, ho trovato che la difficolta' maggiore era pensare una possibile soluzione ricorsiva al problema, che quindi era in linea con i miei obbiettivi per il corso, dunque non avevo proprio pensato a riproporre un programma scritto per un altro linguaggio.
Quindi per voi TDD vuol dire scrivere il test e poi permutare randomicamente gli statements della vostra soluzione di partenza finche il test non passa? Senza poi nemmeno preoccuparsi di capire perchè sta funzionando?
Il "blind TDD", alla jester, a volte mi ha fatto scoprire cose che non mi aspettavo, quindi non e' sempre una brutta strategia quella di "esplorare" per andare/restare in barra verde e poi capire perche'. A patto ovviamente di capirlo e di avere una suite di test molto stretta.
Ad ogni modo non sono d'accordo con quanto dici. Non riesco ad immaginare NESSUN caso in cui scrivere (spostare/cancellare/modificare) una riga di codice senza avere la totale consapevolezza del perchè lo si sta facendo ma solo nella speranza di veder apparire la tanto sospirata barra verde potrebbe essere una buona idea.
--
You received this message because you are subscribed to the Google Groups "sug-it" group.
Preferirei non continuare questa discussione, ma ti consiglio di rileggere quello che hai scritto: fa sembrare la programmazione una specie di caccia al tesoro.
Su questo: "In fondo l'idea di aver realmente ben compreso il nostro codice e' spesso solo una nostra convinzione." invece, non sono d'accordo,Se ti riferisci al fatto che non sapresti spiegarlo a parole allora posso anche concordare, ma alla fine scrivi quello che scrivi non perche' te lo detta lo spirito santo ma perche' dietro c'e' un ragionamento logico (che ogni volta che devi riaffrontare comporta molta fatica), se cosi' non e', beh, o sei fortunato o hai la parte del cervello che lavora in background particolarmente sviluppata :)
Preferirei non continuare questa discussione, ma ti consiglio di rileggere quello che hai scritto: fa sembrare la programmazione una specie di caccia al tesoro.
Come preferisci.
Ciao
In altre parole, estremizzando, una barra verde non e' piu' verde se l'ho raggiunta attraverso un procedimento "presunto razionale" piuttosto che tramite uno "pseudo casuale". Dovrebbero essere trattate entrambe con la stessa cautela.
Il fatto è che se quelle 3 righe di codice (come nel mio caso
dell'ultimo esercizio) non escono si entra in modalità DISPERAZIONE e
inizio a fare anche io come Emiliano... e generalmente vengo castigato
perché non vado da nessuna parte.
In questo caso (almeno per me) i "problemi" maggiori sono dovuti al
salto di paradigma, da imperativo a funzionale. Bisogna imparare a
pensare in maniera diversa dopo anni di foreach.
Continuo a non essere d'accordo, almeno per problemi che richiedono 3 righe di codice come quelli proposti negli esercizi (se li hai risolti con più di 3 righe c'è qualcosa che non va)
...Hem. Io forse direi che "se li hai risolti con piu di tre righe di codice il corso che stiamo facendo fa al caso tuo", suona meglio solo a me? Giusto per non demoralizzarmi :(
Comunque a me interessa imparare, mi sforzo... e dove arrivo arrivo.
Per quel che riguarda postare le soluzioni io chiederei il permesso al docente perche' non e' detto che, qualora venga riproposto il corso, non abbia gli stessi esercizi; sicuramente una cosa e' fattibile, usare gli esercizi in un meeting (magari senza voti e premi :P )
...Hem. Io forse direi che "se li hai risolti con piu di tre righe di codice il corso che stiamo facendo fa al caso tuo", suona meglio solo a me? Giusto per non demoralizzarmi :(
Ho paura che non sia così. Nel caso di quei 3 problemini penso davvero che se li hai risolti con più di 3 righe ciascuno hai sbagliato qualcosa e ti consiglio di rivederli.
Comunque a me interessa imparare, mi sforzo... e dove arrivo arrivo.
D'accordo al 100%. Aggiungere e spostare righe di codice senza sapere perchè ti sembra il modo giusto di imparare?
Per quel che riguarda postare le soluzioni io chiederei il permesso al docente perche' non e' detto che, qualora venga riproposto il corso, non abbia gli stessi esercizi; sicuramente una cosa e' fattibile, usare gli esercizi in un meeting (magari senza voti e premi :P )
Infatti ho scritto a Lorenzo "ti mando privatamente", ma non per voti, premi o arroganza. Solo perchè sono quasi sicuro che il suo modo di procedere non l'ha condotto alla "giusta" soluzione.
Premetto che non voglio fare gare, ma se è possibile dimostrarti che fermarsi un attimo a ragionare invece di provare roba a caso aiuta molto di più e soprattutto produce un risultato finale di gran lunga migliore.
Vabbe'. Probabilmente ho sbagliato il test del conteggio delle righe; comunque hai uno strano modo di "evangelizzare" il linguaggio, e se un programmatore mediocre (quale io sono) cerca di seguire un corso su un linguaggio nuovo cercando di capire un nuovo paradigma, beh, non fa male a nessuno (se non a se stesso :P )
Comunque a me interessa imparare, mi sforzo... e dove arrivo arrivo.
D'accordo al 100%. Aggiungere e spostare righe di codice senza sapere perchè ti sembra il modo giusto di imparare?
Mi spiace ma dovresti rileggere cio' che ho scritto (se ti riferivi al mio post), vedrai che la domanda retorica ti parra' inopportuna oltre che un po' "scomposta"
Premetto che non voglio fare gare, ma se è possibile dimostrarti che fermarsi un attimo a ragionare invece di provare roba a caso aiuta molto di più e soprattutto produce un risultato finale di gran lunga migliore.
Penso che la questione sia diventata un po' piu' grande di quello che e'. Tra tre giorni, alla scadenza definitiva, posto il codice e possiamo vederlo qui.
Premetto che non voglio fare gare, ma se è possibile dimostrarti che fermarsi un attimo a ragionare invece di provare roba a caso aiuta molto di più e soprattutto produce un risultato finale di gran lunga migliore.
Penso che la questione sia diventata un po' piu' grande di quello che e'. Tra tre giorni, alla scadenza definitiva, posto il codice e possiamo vederlo qui.
Hai ragione, mi sa che la discussione è sfuggita di mano. Forse abbiamo solo 2 modi diversi di approcciare i problemi, ma sono ancora dell'idea che in questi casi allontanarsi per qualche minuto dal pc e provare a ragionare con carta e penna sia l'approccio migliore.
--
Vabbe'. Probabilmente ho sbagliato il test del conteggio delle righe; comunque hai uno strano modo di "evangelizzare" il linguaggio, e se un programmatore mediocre (quale io sono) cerca di seguire un corso su un linguaggio nuovo cercando di capire un nuovo paradigma, beh, non fa male a nessuno (se non a se stesso :P )
Non ho mai detto di voler evangelizzare qualcosa (ne sono nella posizione per farlo).
Confermo, ma per me con l'esercizio. Ho risolto piu' in testa in un ora emezza di palestra che _non_ sono riuscito a capire in 4 ore sulla scrivaniadavanti a REPL e IDE..
Ah, allora ho male interpretato la frase: "Per quanto mi riguarda è il mio (ulteriore) tentativo di far conoscere e diffondere un po' Scala fra gli Javisti." del tuo primo post.
Comunque se c'e' una cosa che proprio detesto e': "Non parliamone senno' mi incazzo". Il Forum serve soprattutto a questo e piu' mi si dice di star zitto (cose che non e' avvenuta qui eh) e piu' che mi va di dire la mia.Quindi nessuna questione e' troppo grande per non essere discussa.
--
You received this message because you are subscribed to the Google Groups "sug-it" group.
Riguardo all'esercizio, ho trovato che la difficolta' maggiore era pensare una possibile soluzione ricorsiva al problema, che quindi era in linea con i miei obbiettivi per il corso, dunque non avevo proprio pensato a riproporre un programma scritto per un altro linguaggio.
Questa non l'ho capita. Visto che ancora non stiamo usando higher-order functions non potevi implementare esattamente la stesso algoritmo ricorsivo anche in Java?
Presente! Ho dovuto faticare un po' sul terzo.
Ciao
--Alberto2012/9/24 gabriele renzi <rff...@gmail.com>
eilà, come da subject, chi è che ha deciso di fare il corso tenuto da
odersky su coursera?
Io ho iniziato settimana scorsa e devo ammettere che uno degli
esercizietti del primo assigment è stato più tosto del previsto :)
--
twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: circleme.com