Ciao ragazzi,
a scrivere è una persona che ha una storia "informatica" breve che non include la conoscenza del PHP però ho basi di Java e UML, e una conoscenza avanzata di actionscript 3.0, e dunque mi sento comunque di fare qualche considerazione.
Per quanto riguarda il percorso didattico credo ci siano diverse variabili che determinano la correttezza, efficacia ed efficienza dello stesso:
la prima è quella evidenziata da bismark ovvero la disponibilità di materiale didattico di qualità sia online che offline, e la presenza di documentazione ufficiale (e non) completa
Secondo punto riguarda origini e natura del linguaggio, ci sono linguaggi più O meno orientati agli oggetti, ovvero linguaggi che nascono oop, e linguaggi che diventano oop, linguaggi che sono diventati oop da breve tempo e linguaggi che lo sono da un tempo abbastanza lungo.
Io su questo mi sento di consigliare un linguaggio oop di nascita o quanto meno orientato agli oggetti in senso "forte" (nell'accezione giuridica del termine), questo in modo da evitare che il neofita oop si "culli" sulle conoscenze accumulate in altri paradigmi, e rimuova o non maturi, eventualmente, certe cattive abitudini concesse in altri paradigmi o certi linguaggi ibridi.
Cattive abitudini che riguardano ad esempio la famosa questione del goto, oppure la mancata gestione delle eccezioni. (thedarkita) Hai pienamente ragione sul fatto che la qualità del codice dipenda da chi lo scrive, ma questa è un'osservazione "a valle" ovvero che si colloca alla fine del processo di apprendimento, il dubbio nasce, invece, a monte di quel processo stesso: come fare in modo che il programmatore scriva quel famoso codice di qualità di cui all'inizio? Diamo per scontato il famoso postulato della razionalità dell'individuo e pigrizia al seguito? Vogliamo dargli la possibilità di trovare delle scorciatoie ai problemi? Non si corre il rischio che quelle "scorciatoie" si candidino al rango di soluzioni ordinarie?
Non è un caso che in ambiente accademico si siano diffusi determinati linguaggi piuttosto che altri: oltre la semplicità rispondono ad una esigenza, appunto, educativa del futuro programmatore, gli insegnano, attraverso l'imposizione, determinatate condotte che in condizioni di "libertà" scarterebbe d'impulso perchè faticose e frustranti nel breve periodo.
In definitiva, alla luce di quanto detto sopra, e sulla base della mia esperienza, mi sento di dire che il linguaggio (o meglio uno dei linguaggi) che si candida meglio all'"iniziazzione oop" è Java:
- è semplice
- è strutturato oltre che orientato agli oggetti e dunque garantisce un codice solido
- di conseguenza ai primi due punti è largamente diffuso in ambiente accademico (questo la dice lunga) e dunque la disponibilità di testi di alta qualità è vasta, sia in lingua italiana che in inglese (per iniziare consiglierei "Java - fondamenti di programmazione" di Deitel&Deitel, Apogeo)
Sul php purtroppo non sono in grado di giudicare, ma spero di poterlo fare presto, ho chiesto consigli su quale testo acquistare proprio su questo forum e attendo una risposta prima di fare una scelta (visti i prezzi!)
Saluti a tutti.