Quote:
Originariamente inviato da k0nt3
perchè l'oggetto è un concetto complesso!
|
niente affatto è banalmente semplice.
La programmazione orientata agli oggetti non è stata inventata banalmente per risolvere problemi complessi con soluzioni + facili, è stata inventata ma è + giusto dire "mutuata", perchè si avvicina maggiormente al nostro modo di ragionare.
Anzi è la trasposizione esatta di come funziona il nostro cervello, come ragioniamo:
- il mondo è un universo composto da oggetti ( ed è vero, perchè noi siamo circondati da oggetti, dalle particelle + piccole della materia, alle costruzioni come ponti, grattacieli che sono il risultato dell'assemblamento di tanti oggetti)
- gli oggetti, noi compresi, relazionano tra di loro scambiandosi dei messaggi ( nella vita reale usiamo i mezzi e le forme che preferiamo, nella programmazione si utilizza l'invocazione di metodi, ma il concetto è perfettamente identico)
E tutto questo è il frutto di discussioni durate decenni dai problemi che in realtà si sono posti per primi i filosofi greci, le idee, le relazioni che sussistono tra di esse, se alcuni concetti sono innati oppure no, se sono esterni o interni a noi...per certi versi trovo sia affascinante che nella realizzazione di una finestrella con un bottone in realtà si sia passati attraverso queste problematiche e queste fasi della storia dell'uomo
Quote:
non può essere trattato in prima istanza! fai conto che uno che inizia non sa nemmeno cosa sia un for o una variabile..
|
tanto meglio...meno ne sà e + facilmente può comprendere il paradigma OO
Quote:
e poi la programmazione OO contiene concetti di programmazione procedurale! è un'estensione che permette di costruire cose più complesse e vederle in maniera più semplice..
|
dato che l'obiettivo è quello di costruire cose + complicate e + funzionali perchè non partire direttamente dagli strumenti che ti permettono di farlo nel modo + semplice possibile?
Quote:
ma ci vuole già una base sotto, non si parte con gli oggetti dal nulla!
|
?
Perchè no?
Secondo me c'è un grosso errore/fraintendimento di fondo e cioè quello di considerare gli aspetti tecnici della OOP prima ancora dei fondamenti e dei ragionamenti che stanno dietro questa filosofia.
L'aspetto + importante e + difficile è proprio quello di capire la metodologia. ( che non ha nulla a che vedere con i cicli for e le varie iterazioni)
Gli aspetti tecnici sono secondari, esistono i datasheet, esistono mille risorse soprattutto al giorno d'oggi nella rete, ma se non si riesce a capire che cosa sta dietro l'utilizzo di una classe, la comunicazione tra i vari oggetti e via discorrendo, tutto il discorso viene a cadere.
Potrò fare magari qlc applicazione che funziona ma non avrò REALMENTE imparato a programmare.
Quote:
per python non me la sentirei di consigliarlo per iniziare.. ha un comportamento molto diverso dai linguaggi più comuni! e tra l'altro non ha una sintassi così bella da guardare quindi ci puoi fare programmi di dimensioni limitate sennò non si capisce più nulla IMHO
|
La sintassi di Python è secondo me una delle qualità migliori di questo linguaggio: estremamente pulito ed elegante ma assai versatile e potente con la possibilità di utilizzarlo sia come interpretato che compilato ( usando i vari JIT compiler che girano) con prestazioni migliori per es. di un linguaggio analogo come Java.
Non è così diffuso come la creatura della Sun ma lo scopo che si prefigge l'utente che ha chiesto delucidazioni è imparare.
E per farlo è necessario scegliere lo strumento che gli consenta di imparare al meglio ovvero quella di acquisire certe capacità di analisi e di problem solving che sn trasparenti al linguaggio utilizzato ed alla piattaforma utilizzata.
E Python può essere una delle scelte + azzeccate secondo me...