[FLUG] Re: C vs C++

  • From: Andrea <andrea.b@xxxxxxxxx>
  • To: fanolug@xxxxxxxxxxxxx
  • Date: Mon, 01 Dec 2003 15:52:03 +0100

Mailing List del Fortunae LUG
=============================

I miei 2 :)
Primo centesimo:

Perche' i kernel di Unix, Linux, dei BSD (di Windows anche?) sono scritti in C?
Perchè il C è un linguaggio che offre molta poca _astrazione_ rispetto alla macchina fisica. I suoi costrutti sono semplicemente quelli dell'assembler con una sistassi un pò più umana. I vantaggi principali di questo approccio sono: 1) efficienza 2) stretta interazione con i dispositivi fisici. E sono anche le cose che servono in un kernel.


Secondo centesimo:


Perche', invece, le librerie per costruire GUI (vedi QT, MFC e cazzi vari) sono scritte in C++?
Perchè qui il livello d'astrazione è molto più elevato. Ad una gui non gliene può (e deve) fregar di meno con quale chip video sarà renderizzata (ci pensano i livelli sottostanti). E soprattutto perchè a scapito dell'efficienza qui si tende ad usufruire dei vantaggi che la OOP porta nel modellare e dominare la complessità di progetti complessi (riusabilità, componenti sw, ecc (anche se secondo me per vederli concretamente questi vantaggi bisogna saperci fare abbastanza)).

Cmq ricordo che anche se questa è la strada più diffusa, non è la regola. Esistono ad esempio le GTK+ (quelle di gnome & co) che sono scritte in C (non in C++, anche se esistono interfacce per usarle da C++ come da altri mille linguaggi), pur seguendo un approccio object-oriented.


Ciao Andrea


-- <simon> siamo nel futuro ragazzi

Other related posts: