[Pluto-help] programmazione

Gianluca Montecchi gianluca a pluto.linux.it
Mar 16 Apr 2002 14:32:26 CEST


Il dom, 2002-04-14 alle 13:39, Antonio Cuni ha scritto:
> 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) 
> 
> 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++).

Teoricamente nessuno, e' vero. Ci sono pero' delle ragioni per cui
alcune tipologie di programmi non e' conveniente scriverle in C++.
Un esempio sono i moduli del kernel (o in generale i Driver). Questo
perche', essendo il C++ un linguaggio piu' potente, e' molto complesso
da compilare. Questo porta ad avere nel codice compilato molte cose che
non sono state scritte esplicitamente dal programmatore e questo in
alcuni ambiti non e' desiderabile.
Nonostante chiaramente sia possibile scrivere un driver in C++ (hanno
scritto un web server in PHP e un driver in postscript volendo fare gli
esotici) e' molto piu' facile scriverlo in C perche', oltre al
linguaggio piu' semplice, lascia molto piu' controllo al programmatore
di quanto faccia il C++. E questo non per colpa del linguaggio, ma del
compilatore (ed in parte della semantica del linguaggio. Ad esempio il
fatto che il C++ crei automaticamente il costruttore e il distruttore di
una classe anche se non esplicitamente scritto, puo' portare a dei
problemi in alcuni casi.)

> > 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.
> Non potrebbe fregarmene di meno del fatto che sia a basso o ad alto livello, 
> se sia vicino alla macchina o no.

Anche la tua e' un'opinione allora. 
Pero' devi specificare l'ambito. Sicuramente il C e' piu' istruttivo di
Python, visto che il C ti fa interagire di piu' con il sistema. E questo
puo' andare bene se stai studiando o se lo fai per hobby. Il Python
d'altra parte e' piu' veloce, pero' insegna "meno" perche' e' piu'
astratto. E questo puo' andare bene per il lavoro.

In realta' non c'e' un linguaggio migliore di un altro. Ci sono solo
tanti linguaggi che si adattano meglio a certe classi di problemi. E che
linguaggio usare e' una scelta assolutamente personale, che dovrebbe
essere fatta in base alle proprio necessita'.

bye

Gianluca


-- 
We are the opensource. Existence as you know it is over. We will add
your proprietary features and technological distinctiveness to own
opensource project. Resistence is futile. Windows is closed.





More information about the pluto-help mailing list