Newsgroup: it.comp.programmare
Titolo: Voglio la vostra opinione

Ciao,
Per il mio lavoro utilizzo Perl, ma mi sto interessando al C++.
Su un tutorial che ho trovato
(
http://programmazione.html.it/cplusplus/index.html
)
e' stato scritto:
"Uno degli svantaggi principali della programmazione procedurale e'
rappresentato dalla manutenzione del programma: spesso, per aggiungere o
modificare parti di un programma e' necessaria la rielaborazione di tutto
il programma stesso. Questo approccio richiede un enorme quantita' di
tempo e di risorse che non e' certamente un fattore trascurabile."
Siete d'accordo ?
 Raffaello

 Siete d'accordo ?
Si puo' essere d'accordo o meno sulla frequenza con cui la riscrittura
totale o meno di un programma avviene (se un programma che segue il
paradigma procedurale, e' scritto sufficientemente bene, l'impatto sulla
manutenzione non e' poi cosi' disastroso), tuttavia si puo' concordare a
livello unanime che quello "procedurale", inteso come paradigma assoluto,
rende il codice sicuramente piu' difficile da mantenere. Tieni presente,
pero', che oggigiorno non sono moltissimi quelli che programmano in stile
puramente OO. Moltissimi programmatori, pur utilizzando librerie OO
continuano a scrivere codice fondamentalmente procedurale.
--------------------------------
Inviato via 
http://usenet.libero.it



Dalle mie esperienze in Perl (con OOP e senza), IMHO e' piu' facile
modificare un programma scritto in stile "procedurale" (decente) che uno
scritto in stile OO.
Di contro, e' molto facile utilizzare moduli gia' fatti in OOP, se la loro
documentazione e' decente ...
Raffaello

 Siete d'accordo ?
Non completamente.
Se un programma è stato strutturato correttamente (io sto prg. in asm quindi
conosco bene questi problemi) non è necessario rielaborare tutto il
programma stesso.
I programmi scritti con linguaggi "non a oggetti" non sono automaticamente
"procedurali" (IMHO, termine non felicissimo), in quanto il programmatore
può dare al codice una sua organizzazione dividendolo in moduli, in oggetti
(almeno concettualmente), ecc...
Il problema è che non avrà il supporto del compilatore che gli dirà quando
ha commesso un'operazione illecita.
Kiuhnm

 tempo e di risorse che non e' certamente un fattore trascurabile."
IMHO, non è l'approccio di programmazione ma quello di progettazione che fa
la differenza. L'approccio OOP e procedurale arrivano, alla fine, allo
stesso punto: con l'OOP devi concentrarti su aspetti più vicini alla
progettazione del software, con quello procedurale devi concentrarti su
aspetti più vicini. Quindi se già investi del tempo nella progettazione, con
l'OOP dovresti parzialmente recuperarlo.
Ciao.
*** Azimuth ***

 scritto in stile OO.
A mio avviso no. A parte che "manutenere" non implica necessariamente delle
modifiche (anche se generalmente costituiscono una buona parte della
manutenzione di un sistema).
I vantaggi della OOP, a mio avviso, si scoprono soprattutto a livello
progettuale. Il grande vantaggio nella programmazione orientata agli oggetti
e' la netta riconoscibilita' tra interfaccia e implementazione. A volte,
variare l'implementazione, modificandola, correggendo bug, migliorandola, in
generale, e' fattibile senza che i programmatori "client" siano coinvolti.
Questi vantaggi vengono esaltati da ambienti "component-based" come possono
essere Delphi o C++ Builder o Kylix. Nel mio lavoro mi e' capitato spesso di
dover progettare dei framework di base, dati in pasto ad altre persone. In
ogni caso, concordo sul fatto che un programma scritto *bene* seguendo il
paradigma procedurale e' sicuramente piu' facile da manutenere di uno
scritto *male* seguendo il paradigma OO ;)


 (almeno concettualmente), ecc...
E' cio' che si e' sempre fatto, sin dall'Algol 68 o dal PL/I (che gia'
prevedevano costrutti particolari che consentissero la modularita' del
codice), solo che non vedo che cosa ci sia di infelice nel termine
"procedurale".
