[Linuxtrent] Re: Richiesta aiuto C++

  • From: Mario <alexmario@xxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 23 Jan 2003 15:53:06 +0100

Quoting Emanuele Olivetti <olivetti@xxxxxx>:
> L'intuito forse non e' lo stesso per tutti. Il paradigma Object
> Oriented si e' affermato perche' permette allo sviluppatore di gestire
> la complessita' dello sviluppo di un software in tempi piu' ridotti. E
> il codice prodotto risulta essere molto piu' facilemnte
> manutenibile. Diciamo che si puo' fare qualunque cosa con qualunque
> linguaggio, ma di solito si cerca di rendersi la vita facile. Tu no?
>

Direi che l'OO si sia affermato in quanto è un ottimo sistema di
progettazione, in quanto permette la realizzazione separata dei singoli 
moduli e quidi uno sviluppo parallelo.
Inoltre ha il pregio che la modifica di uno dei moduli richiede la 
regressione dell'unico modulo più un veloce test globale, ma si evita
di avere grossi impatti sul sistema.
L'OO va bene per grossi sistemi, per software complessi e per 
interfacce grafiche.
Poi, vorrei ricordarti che non occorre avere un linguaggio OO per 
programmare a Oggetti, lo si può fare anche in C, volendo, proprio
perchè si tratta di un approccio di proggettazione.
Certo utilizzare un linguaggio predisposto consente di avere un
po' di facilities implementative.

In quanto alla manutenzione direi che vale il discorso di limitazione
dei danni, nel senso che si divide il problema per renterlo più semplice.

Per i tempi di sviluppo... vale solo se si hanno più risorse disponibili
e che queste siano preparate sul linguaggio.


> Riguardo alla tua affermazione secondo cui un linguaggio fortemente
> orientato agli oggetti e' piu' complicato da utilizzare di uno meno OO, 
> ma sei sicuro?

Sì.
Per utilizzare Java occorre, oltre a studiare il linguaggio in se
studiarsi bene anche alcune librerie di base con una curva di apprendimento 
maggiore di quella del C.

> Prova a sviluppare un'applicazione anche di poche migliaia di righe
> in C, C++ e Java. Pensi di metterci un attimo in C, un po' piu' di tempo
> in C++ e un mucchio di tempo in Java? Molto probabilmente quando avrai
> finito con Java (o Python) starai ancora cercando di capire perche'
> la funzione di concatenazione di stringhe che ti sei riscritto per la
> ventesima volta ti genera un core oppure come mai il distruttore della
> tua prima classe viene invocato una volta piu' del dovuto...
>

Credo che l'ordine di grandezza fra C, C++ e Java sia pressochè lo stesso.
Un sensibile miglioramento lo hai utilizzando linguaggi di più alto livello come
Perl, Python e Tcl...
Questo secondo il mio parere, ma anche secondo un articolo postato tempo fa dal
buon Ianezz.
 
> Poi quando tutte le implementazioni funzioneranno C e C++ andranno come
> schegge, mentre Java sara' probabilmente una chiavica (Python no 8-))).
> Non si puo' avere tutto.
> 
> Ciao,
> 
Ed allora dovrai cominciare a fare performance.... e dopo essere 
quasi impazzito, riscriverai tutto in Python perchè non hai più il tempo per
farlo in C++. :)





-- 
Ciao,
  Mario.


----------------------------------------------------
This mail has been sent using Alpikom webmail system
http://www.alpikom.it

-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: