[Pluto-help] programmazione

Marco Cova giardini a libero.it
Lun 15 Apr 2002 20:31:19 CEST


Antonio Cuni wrote:
> 
> Il 08:54, sabato 13 aprile 2002, Germano Rizzo ha scritto:
> >       In effetti no; personalmente (non iniziamo una flame war, per favore,
> > questo è un mio parere personale e ci tengo a sottolinearlo)

Belle belle le flame war sui linguaggi di programmazione!
Ci investirò i miei 2 eurocent :-)

Più facile il C o il C++? 
Propongo il seguente metodo di misura: (da leggersi in tono
ingegneristico[1]) si confronti la lunghezza in pagine del libro di
riferimento standard di ciascuno dei linguaggi in confronto. Il
linguaggio che è descritto dal libro col minor numero di pagine (dopo
eventuali normalizzazioni atte a eliminare differenze determinate dai
particolari tipi di pagina, impaginazione, dimensioni del font usati)
risulta essere il più facile.
Se si confronta B&K con Stroustroup, ovviamente ne segue che il C è più
facile. 
E questo è logico: perlomeno in C hai meno cose da ricordare.
Ma è anche giusto: se poi Antonio mi dice che lui riesce a capire più
facilmente un programma in C++ in cui si fa largo uso di eredità
multipla, template e altre succose amenità di un programma C, beh, sta
facendo onore alla sua signature :-) [2]

Utilizzare il C o il C++?
Ovviamente, dipende da quello che ci si deve fare. Scrivere
un'interfaccia grafica in C è abbastanza una pena (sì, anche con le GTK,
che infatti tentano disperatamente di emulare un modello di
programmazione ad oggetti :-)), mentre in C++ può essere un processo
molto più "pulito" ed elegante. Questo "dipende" mi sembrava fosse
sfuggito o non essere abbastanza chiaro nei precedenti post. O, in altre
parole, non esiste il linguaggio giusto. Ci sono dei linguaggi più
adatti a fare certe cose di altri.

Iniziare col C o il C++?
Aggiungo solo alle cose già dette: è molto facile trovare in giro dei
buoni programmi e relativamente facili da capire scritti in C (tutti i
tools standard di Unix, per esempio), invece tipicamente i buoni
programmi in C++ sono piuttosto complessi (Mozilla, OpenOffice). Ergo,
se si parte col C, si hanno un sacco di programmi da studiare che non ti
richiedono settimane di meditazione per capire l'interconnessione tra le
diverse parti. E questo può essere utile per rendere meno ripida la
curva di apprendimento...

Insomma, meglio il C o il C++?
Be', per parafrasare Linus, in tempi in cui gli uomini sono uomini, gli
uomini si scrivono i device driver di cui hanno bisogno da soli. E non
mi sembra di vedere alcun device driver scritto in C++ nei kernel che
scarico da kernel.org :-)

Altri random eurocent seguono...
> 
> concordo in toto su questa frase
> 
> > trovo però
> > che il C sia più a "basso livello" del C++, e permetta una granularità
> > che nel C++ non c'è.
> 
> qui pero` non e` questione di pareri personali: e` semplicemente falso.
> Mostrami un esempio di programma che puoi realizzare in C ma non in C++ (o
> che in C riesci a realizzare piu` facilmente che in C++).
main() {}
è un programma legale in C ma non valido in C++ (che poi ogni
compilatore al mondo te lo compili è un altro discorso)[3]

> 
> > Secondo me si prova più "piacere" a programmare in
> > C, e vedere che quello che programmi fa "presa diretta" sul sistema, che
> > in un linguaggio più ad alto livello.
> 
> opinioni personali dicevamo. Io personalmente preferisco un linguaggio che mi
> consenta di fare meno errori possibile e di completare il lavoro piu`
> velocemente.
E come ti consente di fare meno errori del C? Hai tutte le cose
"pericolose" del C (puntatori, gestione della memoria, switch con
falling through automatico, etc), più un sacco di altre robe?
E poi, ehi, quello sembra uno degli spot della Sun pro Java! ;-)

Greetings,
Marco

[1] nessuno se la prenda: faccio ingegneria :-)
[2] > Antonio Cuni, 19 anni, studente
> Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
> C Language: 3.79, higher than 92% of all previous test takers.
> Guida C/C++ di Programmazione.it: http://cpp.programmazione.it
[3] "In this, standard C++ differs from earlier versions of C and C++
that allowed the first two examples by considering int to be the type
when none were specified", Stroustroup, The C++ programming language,
3rd edition, page 80
Hint: main restituisce int




More information about the pluto-help mailing list