PDA

View Full Version : [Vari] Errori e brutte abitudini da autodidatti


Y3PP4
23-09-2009, 19:49
Sera,
premetto che ho cercato nel forum con le keywords "errori autodidatta" ma non ho avuto alcun risultato: ho quindi deciso di aprire questo thread.

Dato che più volte nei post si parla di una necessaria formazione per la programmazione, in cui si abbandonano e si evita gli errori e le "brutte" abitudini da autodidatti, mi viene spontaneo chiedere: ma quali sono questi errori e queste abitudini che commette solo un autodidatta?

Se Tizio compra un libro di programmazione C e se lo studio, non gli manca niente che non abbia anche Caio, che ha frequentato l'Università. L'unica differenza che mi viene in mente e che Caio è stato istruito oltre che sui libri sulle evoluzioni delle varie soluzioni, permettendogli di adottarne di più efficaci e abbandonare quelle dei "vecchi" paradigmi di programmazione...

Comunque più che la differenza tra Tizio e Caio mi interesserebbe discutere di quali sono questi errori, dimenticanze e abitudini che l'Uni permette di evitare, nella pratica.
Sia per cultura personale, che per scambiare quattro parole in compagnia.

Buona serata a tutti.

PGI-Bis
23-09-2009, 20:22
Io vedo nella questione - assolutamente legittima - un errore di fondo: ritenere che l'università insegni a "fare".

L'università non insegna a fare: all'università ti insegnano un metodo di ricerca della conoscenza.

E' questo che sta alla fine del percorso di studi. Vale la pena ricordare che la laurea è la forma più alta di istruzione raggiungibile.

Non c'è un livello più alto. Non c'è una scuola in cui trovi qualcuno che ti insegna di più. La storia dell'insegnamento finisce lì.

Ragazzi miei, il tubo col papiro ve lo danno perchè da allora in poi siete ritenuti adatti a cercare da soli la conoscenza nella materia in cui vi siete laureati. Come fate? Col metodo che vi hanno insegnato all'università.

C'è un'intera branca della conoscenza umana che sia chiama "metodologia". Non è mica lì per far numero!

Ma io scherzosamente mi domando: è possibile che non sappiate neanche che cavolo ci siete andati a fare all'università? :D

Roba da matte risate!!!

Y3PP4
23-09-2009, 20:43
Io vedo nella questione - assolutamente legittima - un errore di fondo: ritenere che l'università insegni a "fare".Ma infatti, molti credono di uscire dall'università già istruiti solo seguendo il corso di studio. Io, per carità, non ho ancora iniziato e sarò al primo anno, ma non mi aspetto -e non ho pianificato- di seguire solo i corsi di studio, ma di continuare come autodidatta. Un metodo di studio, negli anni a venire, me lo sono modellato. Alla fine delle superiori si è rivelato molto efficace dandomi grandi soddisfazioni relativamente al tempo impegato per studiare.


L'università non insegna a fare: all'università ti insegnano un metodo di ricerca della conoscenza. Questa dovresti inserirla nella definizione di università su wikipedia :D


E' questo che sta alla fine del percorso di studi. Vale la pena ricordare che la laurea è la forma più alta di istruzione raggiungibile. Il più alto non è il Dottorato di Ricerca (che viene dopo i vari master)? :p Magari sbaglio.

Ma io scherzosamente mi domando: è possibile che non sappiate neanche che cavolo ci siete andati a fare all'università? :D

Roba da matte risate!!!
xD rido solo perchè non ho iniziato, e non ho mai visto l'andare a scuola, generalmente parlando, come l'apprendere un metodo di studio -che davo per scontato da parte di uno studente-. Ma forse dovrei piangere!?!

Comunque sia chiaro, rimango dell'idea che le generalizzazioni sugli autodidatti non le digerisco proprio, come quella del prof di qualcuno che preferisce uno studente che non sappia programmare a uno autodidatta.
Questa è una mia personale opinione.

Grazie per la risposta,
buona serata!

shinya
23-09-2009, 20:45
Quoto PGI-Bis, e aggiungo che la fantomatica credenza che l'università sia il luogo che racchiuda e dispensi quelle che tu chiami "buone abitudini" è un mito non meno irreale della guerra tra Zeus e i Titani.

+Benito+
23-09-2009, 20:49
Io vedo nella questione - assolutamente legittima - un errore di fondo: ritenere che l'università insegni a "fare".

L'università non insegna a fare: all'università ti insegnano un metodo di ricerca della conoscenza.

E' questo che sta alla fine del percorso di studi. Vale la pena ricordare che la laurea è la forma più alta di istruzione raggiungibile.

Non c'è un livello più alto. Non c'è una scuola in cui trovi qualcuno che ti insegna di più. La storia dell'insegnamento finisce lì.

Ragazzi miei, il tubo col papiro ve lo danno perchè da allora in poi siete ritenuti adatti a cercare da soli la conoscenza nella materia in cui vi siete laureati. Come fate? Col metodo che vi hanno insegnato all'università.

C'è un'intera branca della conoscenza umana che sia chiama "metodologia". Non è mica lì per far numero!

Ma io scherzosamente mi domando: è possibile che non sappiate neanche che cavolo ci siete andati a fare all'università? :D

Roba da matte risate!!!


Purtroppo questa è la causa dell'orrenda condizione delle università italiane.
E lo dico con rammarico. Le università dovrebbero essere luoghi dove si CREA conoscenza, non dove si TRASMETTE.
La differenza è abissale e richiede talmente tante cose a partire dalleinfrastrutture, dalla gerarchia, dalla libertà, agli spazi, alla selezione, al collegamento con la realtà industriale e scientifica, che ormai non recupereremo più e andrà tutto sempre più in vacca. Le università non qualificano più, sono fatte per far passare cani e porci.
Non è sufficiente che diano il metodo, quello è il minimo sindacale, dovrebbero permettere lo sviluppo di quello stesso metodo agli allievi ed ai maestri, che se tutto funzionasse come dovrebbe diverrebbero spesso allievi dei loro stessi allievi. Invece no, si insegna a fare cose fatte da altri, ed è il male dell'università.

Y3PP4
23-09-2009, 21:22
Quoto PGI-Bis, e aggiungo che la fantomatica credenza che l'università sia il luogo che racchiuda e dispensi quelle che tu chiami "buone abitudini" è un mito non meno irreale della guerra tra Zeus e i Titani.

No no, aspetta. Non sono io che le chiamo buone abitudini o cattive abitudini, essendo sempre stato autodidatta, non avendo quindi un mezzo di paragone.

Dato che più volte nei post salta fuori questa cosa de "L'università ti qualifica, l'autodidatta è spazzatura" ho deciso di aprire questo thread per discutere se realmente è cosi o meno. Io sono contro l'idea che chi segua la sola uni è migliore di un autodidatta.

Ad onor del vero, credo che chi è autodidatta e segue l'università non può che trovarne giovamento, nonchè facilità ad inserirsi nel lavoro, anche se impropriamente le aziende pensano "titolo di studio" = "sa fare".
Anche se poi ti assumono come stagista per diversi mesi o, peggio, anni.

Se poi l'azienda si chiama Google, il diploma non è altro che un mezzo di valutazione: se hai preso 100 e lode, hai fatto una tesi brillante o un dottorato da dio, entri nell'organico :)

Comunque questo ne giustifica la dimensione e la qualità. Ma non andiamo OT :p

Le università dovrebbero essere luoghi dove si CREA conoscenza, non dove si TRASMETTE.Questa te la quoto in pieno, magari fosse così dappertutto.

Buona serata.

Ikon O'Cluster
23-09-2009, 22:04
Tanto per non parlare di università e andare in OT. Cerco di farmi venire in mente qualche esempio:

1) L'autodidatta tende a non commentare il codice. Ad esempio perchè quel codice lo leggerà solo lui, quindi sottovaluta l'importanza del commento e prende l'abitudine di commentare molto poco.

2) L'autodidatta non segue delle regole di scrittura del codice. Spesso quando si lavora in gruppo è utile attenersi a delle regole. Ad esempio scrivere così:

void fun() {

if(x) {
fun1();
} else {
fun2();
}

}

e non così:

void fun()
{
if(x) fun1();
else fun2();
}

Altrimenti poi troppe mani scriverebbero codice formattato diversamente. Allo stesso modo l'autodidatta tende a non seguire regole all'interno del suo stesso codice.

3) L'autodidatta non si confronta: avere un termine di paragone che non sia un libro è utile per capire.

4) Spesso la parola di una persona vale 30000 pagine di libro. Ad esempio il mio prof di fondamenti di inf. 1 diceva sempre 3 frasi parlando di passaggio di argomenti puntatore o riferimento in C++:

- “se una funzione può tornare un riferimento/puntatore deve tornare un riferimento/puntatore”
- “laddove un argomento formale può essere un riferimento/puntatore ad oggetto costante deve essere un riferimento/puntatore ad oggetto costante”

Molti autodidatti si staranno ancora chiedendo il perchè di questo.

5) Analogamente ad 1 l'autodidatta non legge spesso codice di altri se non quello del libro. Spesso non è abituato a leggere nemmeno il suo. Leggendo il libro si incontra solo codice ben fatto. Ciò non fa nascere nell'autodidatta la coscienza di DOVER scrivere codice leggibile. L'autodidatta quindi, tende a credere di aver imparato a programmare bene se riesce a fare magheggi: pur di risparmiare un assegnamento e altre 2 righe di codice scrive delle cose illeggibili che spesso si traducono in bachi difficilmente individuabili.

6) L'autodidatta se non capisce una cosa se ne strafrega e cerca una alternativa a lui più consona incurante dell'inefficienza della soluzione. A quel punto adotta per abitudine sempre quella soluzione. Chi deve fare un esame torna a casa senza libretto firmato finchè non ha imparato.

7) L'autodidatta spesso spreca il tempo: si intoppa su cose semplici perchè nessuno lo segue. In molti di questi casi basterebbe una frase di qualcuno che ti spiega tutto quello che sul libro non trovi.

8) L'autodidatta non affina il proprio metodo di studio che spesso diventa lacunoso e inefficiente a causa del fatto che non deve rendere conto a nessuno di quello che sa o non sa.

9) L'autodidatta non ha un titolo di studio malgrado abbia perso lo stesso tempo di un laureato dietro a quella disciplina. Questo non lo avvantaggia di certo.

10) Molti autodidatti imparano un po' per passione ed un po' per gioco... il loro motto è "nessuno morirà se faccio qualche boiata pazzesca" questo è devastante! Programmare con superficialità è il giusto modo per perdere di vista concetti fondamentali soprattutto quando si parla di apprendere e applicare in maniera efficace gli strumenti della OOP (ad esempio la modularità va a farsi friggere, il polimorfismo genera bug introvabili, ecc...).

Mi sono sforzato per trovarne 10... solo perchè ormai è passato un po' di tempo. Se mi avessi fatto questa domanda 4-5 anni fa sicuramente ti avrei detto tutti i difetti della mia preparazione da autodidatta, che ho eliminato (probabilmente solo parzialmente) con molta fatica.

PGI-Bis
23-09-2009, 22:17
Purtroppo questa è la causa dell'orrenda condizione delle università italiane.

Se la creazione della conoscenza è intesa come funzione dell'università nei confronti degli studenti allora non concordo nel modo più assoluto.

Nel rapporto che uno studente ha con l'università dire che l'università deve "creare conoscenza" non significa nulla.

Sì è lì per essere istruiti: qualcuno di trasmette qualcosa. Il qualcosa è il metodo.

Non è una questione opinabile o incerta: è l'esatto e unico scopo dell'istruzione universitaria.

Poi l'università assolve anche altri compiti , non è solo un grado di istruzione. Ad esempio è un centro di produzione della conoscenza. I dottorati di ricerca citati da Y3PP4 servono esattamente a questo.

Ma non è una funzione dell'università per gli studenti: serve alla società nel suo complesso. In tanto gli studenti devono partecipare al processo di creazione di conoscenza in quando questa partecipazione sia funzionale all'acquisizione del metodo con cui quella conoscenza si crea.

Se così non fosse, se il rapporto con gli studenti fosse veramente quello di fargli creare conoscenza - ammettendo che la frase abbia un significato - allora lo studente sarebbe necessariamente destinato a restare nell'università finchè non rimanga nulla che possa essere conosciuto.

PGI-Bis
23-09-2009, 22:19
Ad esempio il mio prof di fondamenti di inf. 1 diceva sempre 3 frasi parlando di passaggio di argomenti puntatore o riferimento in C++:

- “se una funzione può tornare un riferimento/puntatore deve tornare un riferimento/puntatore”

Il tuo professore avrebbe dovuto tornare un scuola elementare.

Ikon O'Cluster
23-09-2009, 22:40
Dai pignolo... tornare/ritornare/restituire... intende il risultato della return!!! Si capisce... Mi sa che tu sei autodidatta vero??? Hai capito quello che ha detto e non quello che voleva dire... :D ;) scherzo eh

Quei due enunciati sono sacrosanti!

PGI-Bis
23-09-2009, 22:53
Io ho un autodidatta. Però mi riconosco solo dalla 4 e verso la 9. Di fianco alla 10 gli ritengo addirittura una filosofia di vita.

PGI-Bis
23-09-2009, 23:35
Facezie a parte, i problemi che vedo nell'autodidattica sono due.

Il primo è l'assenza di costrizioni. Croce e delizia. Non sei costretto a studiare cose che non ti interessano: affronti solo i problemi che ti stuzzicano.

E' problematico perchè ad esempio uno potrebbe non avere interesse per i sistemi operativi e non affrontarli eppure, al di là dell'importanza che hanno come programmi, nei sistemi operativi si affrontano specifiche questioni di design che hanno una forte influenza sul metodo informatico.

A seconda di quello che all'autodidatta piace o non piace possono quindi emergere specifiche carenze di base, che sono quelle che ti tagliano le gambe.

Il secondo problema è l'assenza del confronto con chi ne sa sicuramente più di te. E' psicologicamente utile avere qualcuno che ti dice "hai detto una caxxata" o "sì, è così" quando quel qualcuno è professore universitario. Per ragioni di ordinamento. Forse non tutti sanno che - modalità settimana enigmistica - col "sì" o il "no" di un professore ad un esame si può andare fino al consiglio di stato.

Io credo che sia questa la fondamentale differenza dell'autodidatta. Io non ho mai dovuto dimostrare di avere ragione di fronte a qualcuno istituzionalmente deputato a chiedermi conto di ciò che so.

E' una carenza che potrebbe avere effetti importanti. Potrebbe ad esempio portare ad accettare acriticamente soluzioni proposte dallo stegone di turno.

Dico in generale. Nel mio caso specifico la questione è inapplicabile perchè io ho un ego misurabile in unità astronomiche http://www.musclemag.com/bb/images/smilies/banana.gif.

_Claudio
23-09-2009, 23:42
È chiaro che possiamo solo fare ragionamenti "sulla carta" e generali, perchè è ovvio che esistono autodidatti anni luce avanti a laureati col massimo dei voti.

Secondo me la questione di fondo che differenzia gli uni dagli altri è la totale mancanza di capacità di modellare e avere un concetto mentale astratto di quello che si sta facendo, tutto quello che sa un autodidatta è il codice che ha davanti e che manda avanti a tentoni, senza preoccuparsi troppo delle ottimizzazioni, di creare codice manutenibile e sagomare il più possibile i requisiti.

Poi è basilare che un laureato in ambito informatico che non sa mettere giù due righe di codice è utile quanto la polvere sotto al letto, e non bisogna nascondersi dietro al dito che: l'università non insegna a programmare. Lo strumento di realizzazione di ciò che si progetta con le teorie apprese è la programmazione e bisogna conoscerla più che bene.

Ikon O'Cluster
24-09-2009, 00:26
Io non ho mai dovuto dimostrare di avere ragione di fronte a qualcuno istituzionalmente deputato a chiedermi conto di ciò che so.

E' una carenza che potrebbe avere effetti importanti. Potrebbe ad esempio portare ad accettare acriticamente soluzioni proposte dallo stegone di turno.

Il fatto che uno segua i consigli dei professori, senza spitito critico, può bastare per far sì che dopo si ritrovi il cervello tarato, credendo un pò a tutti gli "stregoni". Ma alla fine anche l'autodidatta senza una visione critica rischia di tararsi il cervello in base al libro che studia! Credendo a tutte le "stregonerie" che legge o pensa di aver capito leggendo. Questa tua non mi sembra un'argomentazione valida, visto che per entrambi può avvenire la stessa cosa e che comunque è puramente soggettiva.

PGI-Bis
24-09-2009, 00:38
E' possibile, è possibile. Forse è una questione troppo "sentimentale".

Tommo
24-09-2009, 01:44
Chiunque si "tara" il cervello con qualsiasi cosa se non ha spirito critico e voglia di approfondire, non c'è niente da fare.

Io sono un autodidatta "duro&puro": sempre fatto quello che mi piaceva, non ho mai ascoltato ne un professore ne letto un libro (cosa che lascia sgomenti i più)...
tuttavia ho sempre cercato di fare le cose per bene ed al primo esame vero e proprio di programmazione mi son trovato a campare di rendita senza aprire libro.
Faccio questo esempio immodesto per dire che la qualità dello studio di una persona dipende dalla persona stessa, le università possono dare un metodo SBAGLIATO spesso e volentieri, quanto un autodidatta svogliato e superficiale.

Come quando parlo con informatici fatti & finiti che più che programmatori sono Java Users, e non saprebbero dirmi a che serve SVN, e che la cosa più figa che hanno fatto son alberi binari di char.

Antidoti ai problemi di Ikon'o'Cluster:
1) Lavorare in team con altri autodidatti.
2) Idem, il codice elegante serve a capirsi meglio... e come capirlo meglio di sane litigate su chi scrive più bello :asd:
3) Ancora, un team. E seguire forum come questo. Oppure usare e studiare diversi software complessi fatti notoriamente bene, capendo il perchè delle scelte architetturali fatte... il che dà un vantaggio nel "real world" che qualunque studioso teorico si sogna ad anni dalla laurea.
Di certo vanno evitati come la peste libri guide ed esempi pronti.
4) Difficile in effetti trovare una fonte di "auctoritas" su internet, ma se si frequenta i posti giusti si possono incontrare. A patto di saperle riconoscere.
5) Vedere il punto 3, basta cercare di capire come e perchè software affermati e rodati fanno certe scelte...
6) Non ci sono particolari soluzioni, ma la storia del libretto è patetica: sappiamo tutti che si può studiare per passare gli esami senza capire una mazza, e gli esempi si sprecano.
Inoltre l'autodidatta è spinto dalla curiosità, il che lo incita a trovare soluzioni sempre nuove.
Io devo legarmi le mani, perchè ogni volta che vedo una bruttura mi viene di rifare daccapo tutto il modulo qualunque esso sia :asd:
7) Nulla da eccepire, purtroppo.
8) Peccato che se quel qualcuno chiede il conto di conoscenze obsolete e inutili, l'autodidatta potrebbe per combinazione trovarsi a conoscere cose più avanzate/utili ;)
9) Sad but true. Ma si scade nel "pezzo di carta", come preparazione è un non-punto.
10) EH?

Quindi in conclusione, stupido è chi lo stupido fa (cit.)

banryu79
24-09-2009, 08:56
Io devo legarmi le mani, perchè ogni volta che vedo una bruttura mi viene di rifare daccapo tutto il modulo qualunque esso sia :asd:

Anche io soffro della stessa "malattia" :mano:

shinya
24-09-2009, 09:50
Anche io soffro della stessa "malattia" :mano:
Anal retentive od Obsessive-compulsive disorder? :D

RaouL_BennetH
24-09-2009, 09:52
Come autodidatta mi sento ovviamente chiamato in causa.

La cosa che noto su me stesso è che spesso perdo troppo tempo a cercare di 'creare' una soluzione e non a 'trovarne' una.

Mi spiego meglio:

Di certo all'università, o più in generale durante un percorso didattico informatico, se gli algoritmi vengono insegnati una ragione ci sarà...

Una soluzione ad un problema credo che il 99% delle volte sia già stata abbondantemente tradotta nel relativo algoritmo.

Ma, se questa conoscenza non la possiedo, tendo inevitabilmente ad impiegare un tempo 't' a creare la mia soluzione a quel problema.

Mi spiego così il fatto che spesso i 3d aperti dagli autodidatti, me compreso, sono tutti più o meno simili, ovvero:

Si cerca solo la soluzione al problema, ma non il modo migliore di risolvere il problema (che magari è un problema noto e stranoto tipo un ordinamento).

Per quanto riguarda la scrittura del codice invece:

Personalmente non credo di essere malaccio; Sono ossessionato dallo scrivere codice che si spieghi anche in assenza di molti commenti. Non lo faccio pensando ad un eventuale team.. lo faccio perchè io stesso poi avrei difficoltà a rileggere ciò che ho scritto già il giorno dopo.

banryu79
24-09-2009, 10:06
Anal retentive od Obsessive-compulsive disorder? :D
Più ossessiva compulsiva che anale direi :asd:

Sarebbe anale se avessi un capo che, a lavoro quasi finito e sotto consegna, si vedesse scompigliare il codice nel più nobile tentativo "di portare ordine la dove il Caos regna sovrano": inculata sicura e poi non lo rifai più :asd:

+Benito+
24-09-2009, 10:11
Se la creazione della conoscenza è intesa come funzione dell'università nei confronti degli studenti allora non concordo nel modo più assoluto.

Nel rapporto che uno studente ha con l'università dire che l'università deve "creare conoscenza" non significa nulla.

Sì è lì per essere istruiti: qualcuno di trasmette qualcosa. Il qualcosa è il metodo.

Non è una questione opinabile o incerta: è l'esatto e unico scopo dell'istruzione universitaria.

Poi l'università assolve anche altri compiti , non è solo un grado di istruzione. Ad esempio è un centro di produzione della conoscenza. I dottorati di ricerca citati da Y3PP4 servono esattamente a questo.

Ma non è una funzione dell'università per gli studenti: serve alla società nel suo complesso. In tanto gli studenti devono partecipare al processo di creazione di conoscenza in quando questa partecipazione sia funzionale all'acquisizione del metodo con cui quella conoscenza si crea.

Se così non fosse, se il rapporto con gli studenti fosse veramente quello di fargli creare conoscenza - ammettendo che la frase abbia un significato - allora lo studente sarebbe necessariamente destinato a restare nell'università finchè non rimanga nulla che possa essere conosciuto.

quello che intendo è che un'università che si limita a darti un metodo di apprendimento, prima ancora che fornirti materiale su cui apprendere, è morta.
Quella è la scuola superiore.
L'università che funziona è una cittadella che relaziona giovani menti desiderose di migliorare il mondo con il mondo stesso, fornendo ad esse la possibilità di interagire con le situazioni reali e sottoponendo ad esse la richiesta di miglioramento del migliorabile.
In italia questa cosa è limitata a pochissime persone che vogliono rimanere nel giro dell'università, spesso in condizioni di lavoro pessime, con un organigramma della gestione del processo governato da incompetenti graduati per anzianità e conoscenze.
Io penso che molte delle cose di cui mi occupo da quando lavoro DOVREBBERO fare parte del bagaglio di conoscenze di un neolaureato, nel senso che l'affrontare le problematiche richieste dall'applicazione delle conoscenze teoriche acquisite non può essere escluso dal "programma" di un percorso universitario.
Questo comprende la valutazione della coerenza della teoria con la pratica, il constatare che talora questa coerenza è assente in parte o in tutto, e migliorare la teoria per renderla coerente con la pratica.
Chi non propone un programma che tenga conto di questo produce laureati incompetenti in quanto inabili nell'applicazione di quanto imparato (cipè praticamente tutti).
Per rendere l'idea, posso aver studiato benissimo la termodinamica e sapere usare programmi per analizzare agli elementi finiti i flussi termici attraverso materiali disomogenei. Quando poi una norma mi richiede di calcolare puntualmente i ponti termici di un edificio reale l'unica risposta corretta è: IMPOSSIBILE.
Perchè allora mi hanno insegnato una cosa inutile? Sarebbe meglio creare una cosa che altri possano apprendere in modo proficuo, cioè cambiando la teoria.
Questo non si fa quasi mai, o se lo si fa ciò avviene in lobby e associazioni come il CTI che hanno troppa influenza da parte del mercato e non sono spinte da spirito di miglioramento fine a se stesso.

Y3PP4
24-09-2009, 15:55
Il tuo professore avrebbe dovuto tornare un scuola elementare.
Ma LOL.
Facezie a parte, i problemi che vedo nell'autodidattica sono due.

Il primo è l'assenza di costrizioni. Croce e delizia. Non sei costretto a studiare cose che non ti interessano: affronti solo i problemi che ti stuzzicano.

Sante parole. Da autodidatta me ne sono accorto. Per questo cerco di fare tanti progettini che mi permettano di spaziare nella conoscenza su un dato linguaggio, in modo da scontrarmi coi miei limiti sulla conoscenza di quest'ultimo e porvi rimedio. Anche se spesso, qualora la soluzione sia una piccola parte di un dato argomenti, ancora una volta mi studio quel tanto che basta. Per fortuna non è così sempre. Ogni tanto mi studio interamente i manuali, oddio "studio". Leggo e memorizzo quanto mi serve, perchè non dovendo ripetere a memoria preferisco procedere a step. Appreso qualcosa la verifico su un esercizio. Ma non mi lamento, almeno armonizzo un po' lo studio. Questa è la delizia =).
Con Python non esiste proprio la croce. Tutto è delizia, almeno nel mio caso. Mi leggo tutta la documentazione da cima a fondo come se stessi mangiando un cucchiaino di miele. E' il mio prototipo ideale di programmazione: un solo metodo per fare le cose (non un solo modo, intendo proprio che non trovi mai funzioni che si equivalgono, ma una per ogni specifica cosa, spero di essermi spiegato). In questo modo evito tanti problemi mentali, del tipo "cosa cambia tra questo e quello, qual'è più efficente" etc etc e mi concentro sulla soluzione vera e propria.

E' problematico perchè ad esempio uno potrebbe non avere interesse per i sistemi operativi e non affrontarli eppure, al di là dell'importanza che hanno come programmi, nei sistemi operativi si affrontano specifiche questioni di design che hanno una forte influenza sul metodo informatico.Senza contare che più di non aver interesse per l'architettura degli OS, molto saltano i capitoli iniziali introduttivi della programmazione e non sanno nemmeno l'importanza che ha questa architettura sul modo di sviluppare. Più che non aver voglia di studiarli, semplicemente ignorano l'argomento.
Dico in generale. Nel mio caso specifico la questione è inapplicabile perchè io ho un ego misurabile in unità astronomiche http://www.musclemag.com/bb/images/smilies/banana.gif. :D:D:D:D:D


La cosa che noto su me stesso è che spesso perdo troppo tempo a cercare di 'creare' una soluzione e non a 'trovarne' una.
Vero vero. Anche io spesso mi son trovato in questa situazione. Anzi, ti dirò: io fino a poco tempo fà avevo la mania del "faccio tutto da zero".
Volevo realizzare un semplice sito internet. Iniziai a farlo con PHP. Poi iniziai a pormi dei problemi -inesistenti- quali il migliorare l'efficenza del tutto, qualora mi fossi dedicato a un progetto più sostanzioso. Son quindi passato a studiarmi l'architettura di apache. Avevo iniziato a pasticciare coi sorgenti di vari moduli di apache. Quindi mi spostai su Lighttpd. Dove iniziai a sviluppare un modulo per implementare Python. Dopo poco lasciai anche quello per provare a sviluppare un mio webserver C leggero e pensato proprio per far girare python. Alla fine ne sono uscito con un bagaglio di esperienza, ma non ho realizzato nulla di usabile per lo scopo prefisso, perchè quando mi prefiggevo un dato progetto, questo era sempre fuori dalle mie possibilità. Ma non mi lamento, almeno vanto di sapere come funziona un modulo apache, un modulo di lighttpd, come funzionano gli stessi webserver, cosa è una socket, differenza tra i protocolli UDP e TCP, come avviene lo scambio di dati, la gestione delle richieste, architetture multitasking-threading-plexing, ho migliorato alla lunga le mie capacità in C e ho ritrovato il senno, imparando il valore del non reinventare la ruota, usando ciò che già esiste, migliorandolo se serve, e pensando solo a ciò che devo fare.
Si cerca solo la soluzione al problema, ma non il modo migliore di risolvere il problema (che magari è un problema noto e stranoto tipo un ordinamento).Beh, io di solito, imparato ad applicare una data soluzione torno indietro per vedere di migliorarlo, più che ottimizzarlo, che mi sà tanto di piccoli hack e delle specifiche funzioni dei vari compilatori.Prima che ottimizzare un codice bisogna verificare di aver risolto il problema nel migliore dei modi -senza usare algoritmi che creano solo colli di bottiglia-.

Personalmente non credo di essere malaccio; Sono ossessionato dallo scrivere codice che si spieghi anche in assenza di molti commenti. Non lo faccio pensando ad un eventuale team.. lo faccio perchè io stesso poi avrei difficoltà a rileggere ciò che ho scritto già il giorno dopo.
Quoto. Per questo non ho mai pensato alla notazione ungara :D

Ps. ringrazio Ikon O'Cluster per aver esposto l'elenco delle cose che secondo lui non vanno proprio in un autodidatta. Nel mio caso vari punti non mi toccano, tipo quello del definire un pattern per i propri sorgenti. E i commenti del codice. Cosa, per altro, che tocca anche moltissimi programmatori ferrati che fanno i propri progetti personali o comunitari.

Buona pomeriggio a tutti.

Ikon O'Cluster
24-09-2009, 18:30
Io devo legarmi le mani, perchè ogni volta che vedo una bruttura mi viene di rifare daccapo tutto il modulo qualunque esso sia :asd:

E' un problema anche mio... reminescenze da autodidatta!