|
|
|
![]() |
|
Strumenti |
![]() |
#41 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#42 | ||
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
Volendo ben vedere anche il Java non è il linguaggio più orientato agli oggetti che sia disponibile ma al contrario del C++ è già un bene che anche il più piccolo programma che si può scrivere è un micro-oggetto. Quello che io ed immagino anche k0nt3 vogliamo dire è che anche affrontando un problema con una visione ad oggetti, la parte più "atomica" del programma sarà sempre una sequenza di istruzioni. Prendi un esempio stupidissimo, la classe Cubo; è bello vedere il Cubo come un oggetto con il quale si può interagire tuttavia i suoi metodi (diciamo, superfice, volume e non so che altro) saranno sempre delle piccole sequenze di istruzioni che altro non possono essere che procedurali. Quote:
![]() Con "programmazione in the small" mi riferisco alla parte più piccola che si può trovare all'interno di un programma (tipicamente la programmazione di un metodo), mentre con "programmazione in the large" mi riferisco ad una visione più completa di tutto il programma ossia alla parte più strettamente legata alla progettazione ed all'interazione delle componenti di un programma (oggetti nel caso della nostra discussione). |
||
![]() |
![]() |
![]() |
#43 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Ma uno che inizia a programmare oggi è in grado di comprendere il concetto di "Oggetto" ?
La cosa che mi preoccupa un po' è soprattutto la qualità della documentazione che si trova in giro. La maggior parte dei tutorial / libri sull'argomento "Programmazione in [metti il tuo linguaggio OO preferito qui]" si basa quasi sempre sulla già per scontata conoscenza del paradigma procedurale e in genere si parte proprio dalla programmazione procedurale per poi introdurre il concetto di oggetto come una estensione (Il concetto della "Struct con funzioni" che , ahimè, non muore mai) . Se si vuole far partire qualcuno con la programmazione ad oggetti a mio parere bisogna anche consigliare un testo valido che orienti la sua mentalità nella direzione giusta, sennò tanto vale farlo partire col più classico C e via (come immagino abbia fatto la maggiorparte dei partecipanti a questo thread, nel bene o nel male). Ciao
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#44 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7243
|
Quote:
iniziare con la programmazione OO quindi richiede una certa visione d'insieme (tipica visione OO) e inoltre anche tutto quello che bisognava sapere per la programmazione procedurale. troppa carne al fuoco, ma sappiamo che il mondo è vario, quindi rimango sull'IMHO * faccio sempre questa precisazione perchè ad esempio Scala è un linguaggio funzionale "in the small" e a oggetti "in the large" |
|
![]() |
![]() |
![]() |
#45 | ||
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
![]() La programmazione procedurale e quella ad oggetti sono diverse ed ovviamente la seconda richiede, nella fase FINALE, l'implementazione di routine, ma se si sceglie di seguire la strada procedurale-->oggetti si rischia di non sfruttare al massimo i vantaggi del paradigma ad oggetti (che comunque NON è la panacea propagandata da molti). Quote:
|
||
![]() |
![]() |
![]() |
#46 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
E' innegabile che agli inizi è difficile pensare che ci si metta a scrivere un programma che richieda un'operazione di progettazione tanto approfondita. Non so come hai iniziato, forse i tuoi primi progetti erano molto grandi, ma quando ero agli inizi stampavo "Hello, World!" a video ed ero felice di farlo ![]() ![]() Ultima modifica di sirus : 19-10-2007 alle 11:33. |
|
![]() |
![]() |
![]() |
#47 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7243
|
Quote:
secondo me mettere in relazione mattoncini è un argomento avanzato e richiede già una certa dimestichezza con la programmazione. in effetti qui si mette in luce uno dei più grossi equivoci nella storia dell'informatica... ho sentito gente affermare che l'uomo ragiona a oggetti e quindi programmare a oggetti non richiede trasformazioni di visuale nella nostra mente ![]() mi domando come mai qualcuno ha scoperto come funziona la nostra mente e non ha preso il nobel ![]() |
|
![]() |
![]() |
![]() |
#48 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7243
|
Quote:
![]() ps. ma ti hanno fatto usare JML? ![]() ![]() |
|
![]() |
![]() |
![]() |
#49 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#50 |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
|
![]() |
![]() |
![]() |
#51 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Se potessi tornare indietro inizierei direttamente con un buon libro (anche oggi, alla fine del 2007, non sono molti) sulla OOP, indipendentemente dal linguaggio: è un problema di mentalità, una volta scavati certi "solchi" è difficile seguire un percorso diverso. |
|
![]() |
![]() |
![]() |
#52 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7243
|
Quote:
![]() ps. eh JML un dispiacere? aspetta di sentire nominare alloy ![]() |
|
![]() |
![]() |
![]() |
#53 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7243
|
Quote:
ma finchè si sta imparando a programmare i programmi sono di una complessità praticamente irrilevante e quindi non penso che la programmazione OO dia molti benefici in questo caso (anzi forse confonde). certamente consiglio sempre di imparare la programmazione OO non appena si è raggiunta una certa dimestichezza con la programmazione procedurale. ma come dicevo prima non pretendo che questo sia un metodo applicabile in generale.. è quello che credo possa adattarsi nella maggiorparte dei casi. in tutto questo non stiamo considerando il paradigma funzionale che probabilmente è adatto a persone che vengono da una formazione più matematica, ma come il paradigma procedurale non è adatto a costruire cose di una certa complessità (dove per ora l'OOP regna incontrastata). |
|
![]() |
![]() |
![]() |
#54 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Imparare il paradigma procedurale e poi passare al paradigma ad oggetti e' la cosa peggiore, meglio il percorso inverso: ma l'obiettivo e' imparare entrambi i paradigmi e non solo quelli. L'obiettivo e' imparare piu' strumenti possibile, imparare quando usarli e soprattutto quando NON usarli. Ad esempio forzare un paradigma ad oggetti per una soluzione che non lo richiede e complicare il design e' sbagliato e va evitato.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#55 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Inutile, ad esempio, ingolfare chi impara con concetti a basso livello come la gestione della memoria che lo distraggono dall'obiettivo che deve imparare: i meccanismi per formulare la soluzione ad un problema.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#56 | ||
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Quote:
![]() |
||
![]() |
![]() |
![]() |
#57 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#58 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
Sui compilatori non posso dire nulla ma se ci riferiamo al solo compilatore e non all'intero IDE credo che effettivamente sia tutto scritto in C e lo stesso discorso vale per i sistemi di virtualizzazione. |
|
![]() |
![]() |
![]() |
#59 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Il kernel di Windows, ad esempio, ha ancora larghe parti in C per questione di compatibilita', ma la sua architettura e' totalmente "ad oggetti". Per un kernel di un OS nuovo non avrebbe alcun senso scrivere in C piuttosto che in C++. BeOS era scritto in C++ ed e' tutt'oggi forse il migliore OS che abbia mai usato. Il compiltatore C++ del VS2005 e' interamente scritto in C++ e compilato con se' stesso.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 19-10-2007 alle 12:44. |
|
![]() |
![]() |
![]() |
#60 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12103
|
Quote:
![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:26.