Nell'articolo riservato alla comparazione dei vari sistemi operativi, oggi parleremo delle classi di oggetti di Microsoft per la creazione di programmi in Windows, chiamati MFC Microsoft Fundation Classes.
Chi sta seguendo il nostro corso di Object Oriented Programming (OOP) nella sezione di articoli di Amiga E, sa già a grandi linee cosa sia una classe. Per chiarezza e precisione diremo che una classe è un Oggetto, un elemento chiuso e ben definito contenente i dati e le funzioni necessarie per eseguire determinate applicazioni. In questa sede non ci dilungheremo troppo a spiegare cosa sia una classe ed un oggetto, nè spiegeremo fondamenti di programmazione a oggetti, cosa per la quale vi rimandiamo alla sezione dedicata ad Amiga E a partire dal secondo numero della rivista.
Microsoft è stata costretta a creare delle classi di oggetti per Windows a causa della troppo elevata difficoltà di programmazione del sistema operativo. Per spiegarmi meglio, non c'è nessun programmatore su Windows che sia riuscito a fare qualcosa su questo sistema operativo senza dover passare per forza attraverso le classi di Microsoft.
Le classi, se ben progettate, possono essere un validissimo strumento per la creazione rapida e sicura di applicazioni. Il problema principale, per quanto riguarda le classi di Microsoft, è che queste non sono sicure... e la stessa Microsoft ce lo dimostra.
Che ci crediate o no, Word 6 alla sua chiusura, non libera l' 8% delle risorse del sistema: le lascia semplicemente allocate e non saranno disponibili se non dopo essere usciti da Windows ed essere rientrati. Questo significa che, su di una macchina con poca RAM, sarà sufficiente aprire e chiudere Word per tre o quattro volte, per far apparire messaggi di sistema per la poca memoria disponibile. E Word è scritto da Microsoft. E Word è il programma di word processing più usato sotto Windows.
Ma il problema vero e proprio non risiede in Word, bensì nelle classi che esso usa, e che sono le classi che tutti i programmatori su Windows sono costretti ad usare. La classe per la gestione delle finestre, per esempio, non libera dai 512 ai 1024 bytes ogni volta che la finestra viene chiusa (praticamente anche quando spostate una finestra, rischiate di perdere 1K).
Questo problema delle classi, si verifica a causa della mancanza di validi strumenti di sviluppo per il programmatore. Su Amiga esistono tools come Enforcer e Mungwall che permettono di controllare, in ogni stadio dello sviluppo di un programma, il suo corretto funzionamento. Quando un programma passa "incolume" questi tools, vorrà dire che non nuocerà in alcun modo alla stabilità del sistema e che restituirà TUTTE le risorse che sono state allocate.
L'incompletezza e la trascuratezza con le quali sono state scritte le classi di Microsoft, lasciando esse stesse allocate delle risorse di sistema anche dopo la loro reale necessità, minano inevitablimente la qualità finale dei prodotti creati dagli sviluppatori sotto Windows, che si vedono danneggiati da delle colpe che, tutto sommato, non dovrebbero essere loro... e non possono farci nulla.
Benvenuti in Windows. E comprate un po' più di RAM...
Scritto da: Fabio Rotondo e-mail: fsoft@intercom.it C.so Vercelli 9 28100 Novara ITALY tel: (ITA) - (0)321 459676