Newsgroup: it.comp.lang.c++
Titolo: API Windows 32/95/98

Io da anni programmo in C++ utilizzando le API, senza ricorrere alle MFC o
altro,
c'è qualcuno che puo' confortare la mia tesi sulla migliore duttilita' delle
API nella
programmazione o magari convincermi ad utilizzare le MFC dato che non ho
trovato ancora un buon motivo per farlo.
Tutto esclusivamente per amore di discussione........
Saluti al NG Roberto

Tutto esclusivamente per amore di discussione........
Certo!  Questo e` il tipo di discussione che, anche se alla
fine ognuno resta della sua opinione, puo` comunque
essere interessante e fruttuoso.
Alex


Dato che disponevo fino a poco tempo fa del Borland C++ 4.0,  ho sempre utilizzato OWL, ma
credo che cio` che sto per dire possa andare bene ugualmente.
La mia esperienza (non molta) mi dice che le API nude e crude mi lasciano grande liberta`,
tuttavia l'uso di una libreria object oriented si e` rivelata quasi sempre enormemente
vantaggiosa:
1) Sono sollevato dal dover gestire direttamente le varie HANDLE, ad esempio se desidero
   avere il DC  una finestra, non ho bisogno di procurarmi prima la sua handle e
   poi chiamare la API... semplicemente costruisco un DC passando al costruttore della
   classe l'oggetto finestra. Lo stesso vale ogni qual volta devo inviare un messaggio 
   alla finestra, semplicemente chiamo il corretto metodo dell'oggetto.
   Mi potresti dire che devo comunque procurarmi l'oggetto finestra cui sono interessato,
   tuttavia anche utilizzando le API devi avere da qualche parte nel tuo programma
   un qualcosa che rappresenti la tua finestra e tramite esso ottenere la handle....
   A che serve quindi preoccuparsi di simili dettagli quando ne puoi fare a meno?
2) Un altro vantaggio e` la coerenza tra OWL e il C++, OWL e` object oriented (non mi
    sembra pero` che lo stesso si possa dire per MFC) e nei miei programmi tutto e`
    sempre stato racchiuso in una qualche classe, riducendo la funzione OWLMain
    (equivalente a WinMain) a qualcosa tipo " return MyApplication.Run()".
    Se utilizzi solo le API o ti costruisci da solo tutte le classi che rappresentano
    oggetti della GUI (finestre, dispositivi di contesto, bottoni...) o rinunci
    ad un progetto veramente OO.
3) Nei rari casi in cui qualcosa non poteva essere fatta tramite OWL, mi e` stato
    sempre possibile farla tramite le API senza dover rinunciare alla libreria di
    classi, ogni classe che rappresenta un oggetto della GUI mi fornisce un
    metodo per ottenerne la handle.
In conclusione, la liberta` concessati dalle nude e crude API e` grande, ma che
vantaggio ha utilizzare un cannone per uccidere una zanzara....
Tra l'altro uccidere una zanzara con un cannone, mi sembra assai difficile!!!!!!!!

Tutto esclusivamente per amore di discussione........
IDEM
---
Valter Minute
min...@fortech.it
 (the reply address of this message is invalid)
---
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ
0
if you want, I can send you the (free) C++ source code.

filosofia di programmazione in MFC e al passaggio da API a MFC (indolore!) e
Fra i punti di partenza puoi prendere in considerazione 
www.codeguru.com
,
anche se e` piu` sul pragmatico che sul filosofico, il sito della Stingray
(
http://www.stingray.com/products/default.asp
), ecc, ma secondo me 
questo e` un tema trattato meglio nei libri (gia` citato quello di Prosise, 
aggiungo quelli di Wingo e Shepherd che troverai nominati sul sito Stingray).
Alex


Il libro e' proprio quello che tu citi, e concordo con la tua opinione,
tanta
bella carta sprecata.
Comunque seguiro' il tuo consiglio riguardo gli altri libri. Ciao Roberto