Newsgroup: it.comp.programmare.win32
Titolo: MFC o non MFC

Non e' un problema reale, ma solo una questione filosofica.
MFC e' ovviamente meglio per applicazioni RAD.
Ma se devo scrivere un programma grande, e ho a disposizione piu' tempo,
cosa e' meglio ?
Ho provato entrambe le soluzioni (usare MFC e non usarlo).
MFC ha alcune caratteristiche non documentate, e' troppo orientato a
Document/View, ed e' piu' complesso del necessario, per essere compatibile
con le versioni precedenti.
Ma non usare MFC e' molto complicato, non sono riuscito ad usare i controlli
ActiveX, e fare altre cose COM.
Quale sara' il futuro per MFC ? Sara' aggiornato per essere sincronizzato
con le nuove caratteristiche dell' API e COM ?
Per esempio MFC contiene DAO, ODBC, ma non ADO (che e' la tecnologia piu'
recente).
Ho visto che il C-Builder supporta OWL, MFC e VCL, tre librerie windows
conocorrenti di uso generale.
Cosa c'e' che non va se faccio un'altra libreria (per VC6) dello stesso tipo
(magari meno potente e con piu' bachi) ?
Dove posso trovare un semplice esempio per creare ed usare controlli ActiveX
senza MFC (o altre librerie analoghe) ?

Ciao,
    indubbiamente un framework aiuta in progetti di grosse dimensioni (poi
influenzano i gusti, il budget, il tempo e tante altre cose tra cui le
"imposizioni" di commerciali + o - competenti ;-p) certo è che MFC NON è +
adatta per uno sviluppo RAD. MFC non ha nulla a che vedere con il Rapid
Application Development inteso come programmazione per componenti. Sotto
questo punto di vista trovo la VCL di gran lunga superiore (devo anche
ammettere che la WFC di Visual J++ 6 è pensata MOLTO bene e secondo me
centra in pieno tutti i punti del caso, peccato sembri destinata a morire).
Per COM la soluzione è una (se hai bisogno anche di server poi!): ATL.
A presto :-)
Marco Abis
http://www.programmazione.it
 Il sito Italiano di riferimento per lo
sviluppatore
ab...@programmazione.it

 senza MFC (o altre librerie analoghe) ?
Fra i "Samples" che la MS distribuisce mi pare ci siano i sorgenti
completi di un ambiente-giocattolo che "sa" ospitare controlli A/X.
Un contenitore A/X deve fare una marea e mezzo di cose, e sarebbe
meglio che ne facesse altre 5.2 maree anche se a rigore esse sono
facoltative, quindi costituisce un ottimo esempio di quello che NON
dovrebbe essere rifatto da capo ogni volta, naturalmente.
Personalmente, se dovessi scrivere "da zero" una applicazione cui
e` richiesto di ospitare controlli Active/X, credo che procederei come
segue...:
1. mi farei, come "finestra della mia applicazione", una istanza
    di Internet Explorer con le opportune "personalizzazioni"
2. le pomperei dentro la mia interfaccia utente in termini di HTML
    Dinamico, scripting, e/o interazione diretta da C++ con il DOM
    e/o con le altre interfacce COM dell'Explorer...
Naturalmente, qualcuno potrebbe considerare questo "barare", ma
difficilmente si potra` sostenere che Explorer e` una "libreria
analoga" a MFC, no?-)  E in questo modo (vedi sopra...) ottengo
tanti vantaggi, come la capacita` di ospitare anche _documenti_
Active (che non e` proprio la stessa cosa che ospitare _controlli_
Active/X...).
Alex

sistema operativo.
O qualcuno che ci studia da molto tempo...
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

 -----------------------------------------------
8
www.nonsononessuno.com/8


Una cosa che lessi su un libro della Microsft Press qualche tempo fa e che mi
colpi molto fu l'affermazione "Se ti programmi la tua libreria dovrai passare un
sacco di tempo a spiegare a chi lavora con te come funziona, se utilizzi MFC
puoi andartene tranquillo in vacanza alle Bahamas e stare tranquillo che
svilupperanno quello che gli hai chiesto". Credo che nonostante le chiare
tendenze propagandistiche ci sia della verità in quell'affermazione. Se ti
costruisci un tuo framework che abbia le stesse potenzialità delle MFC, chi vede
i tuoi programmi sarà costretto a studiare tutto il tuo framework per capirci
qualcosa. Se utilizzi l'MFC ti puoi aspettare che un altro programmatore lo
conosca già e si possa concentrare esclusivamente sul tuo programma. Per questo
credo che sia meglio utilizzare l'MFC invece di un framework personale, se
questo non ti da delle prestazioni in più.
Per quanto riguarda l'utilizzo o no di un framework dipende dalla grandezza del
programma, da quante persone ci lavorano, da come ti trovi meglio a programmare.
Se non ti serve, non lo usare.
Ciao Fbf.

solo del presente, ma anche dell'andamento futuro dei fatti.
[.....]
Infatti, Borland o Inprise con il Builder sta' seguendo questa strada.
Bye.

presente, ma anche per il futuro.
Che mi dici dei tanti prodotti sviluppati ad esempio con BUILDER o
DELPHI e che usano la VCL? O di OpenGL?
Non sono certo stati fatti da chi produce s.o., OpenGL poi gira 
praticamente su tutti i piu` diffusi s.o.
Non credere che un prodotto per essere valido debba essere prodotto
necessariamente da certe aziende, altrimenti io sarei autorizzato a
credere che i tuoi prodotti non valgono niente solo perche` in giro ci 
sono altri che fanno la stessa cosa. Ovviamente le cose non stanno
cosi` e i parametri in gioco sono molti e molto diversi. Ad esempio
Linux si sta diffondendo sempre di piu` e molto piu` velocemente
di quanto si creda, e cio` senza alcuna campagna pubblicitaria.


questo non ti da delle prestazioni in più.
Infatti questa e` l'unica verita`. Non si usa un certo tool solo perche`
ci piace, ma perche` offre certi vantaggi, nel caso in esame la grande
diffusione di mfc ha anche il vantaggio (comunque di per se` secondario)
che trovi piu` facilmente chi gia` le conosce.


 Infatti, Borland o Inprise con il Builder sta' seguendo questa strada.
Infatti questo conferma quello che ho detto sopra. Se poi ci sono 100 M di $
che aiutano... alla fine scopriamo
che le VCL sono fatte da MS.
8

conto proprio OWL su Linux.
Notizia ghiotta... c'e` gia` qualcosa di pronto? Sarei capace di 
aderire al progetto solo per avere OWL su linux!!!!!
Che sia la volta buona per OWL 2 la vendetta?   :)


che le VCL sono fatte da MS.
La M$ ha tutto l'interesse a cercare accordi con societa` (almeno
quelle piu` grosse) che supportino i suoi prodotti, se un domani ci
fosse solo M$ a sviluppare prodotti per windows, tutta la posizione di
mercato fin qui ottenuta andrebbe a farsi friggere. Io mi sposterei
subito su linux dove troverei molto piu` facilmente il software che piu`
si adatta alle mie esigenze. Per quanto grande e potente M$ non puo` 
fare a meno della concorrenza.


 con le versioni precedenti.
Il vero problema e` che non e` una libreria completa e non avvolge ogni singola
funzionalita` dell'OS. Che io sappia non esiste nessuna vera e propria
"interfaccia di sviluppo a oggetti di sistema per Windows", come ad esempio
capita con altri OS (tipo il BeOS).
--
Bye! Lorenzo Lutti (
http://www.geocities.com/SiliconValley/Peaks/6258/
)

Che sia la volta buona per OWL 2 la vendetta?   :)
Puo' darsi, puo' darsi....

Ciao,
    be la notizia del porting da parte di Borland/Inprise di delphi sotto
Linux significa il porting di VCL per tale ambiente (il + simile possibile a
quella per Win32 in modo da facilitare il porting di applicazioni già
scritte).
Ricordo che il progetto di Borland è di portare si Object Pascal, sia C++
sia Java sotto Linux (come ambiente di sviluppo).


 fare a meno della concorrenza.
Giusto, ma vorrei che le tue esigenze non siano solo quelle del software
gratis.
8

 e` storia...
E chi sarebbe mai stato "questo ragazzotto che si e` presentata"?
Certo non Bill Gates, ne` il suo socio Allen, che invece i primissimi
accordi li presero con l'azienducola produttrice del "MITS Altair", il
primo computer modulare basato su Intel 8080 e quello che poi
divenne il bus S100, e lo fecero proponendo di vendere la loro
versione del linguaggio Basic (che in realta` non avevano ancora
scritto, ma questa e` un'altra storia), altro che 'IBM' e 'cercava
lavoro'.  I primi contatti fra Microsoft e IBM vennero solo anni
dopo, quando all'inizio degli anni '80 l'IBM cercava fornitori di
linguaggi (e sistemi operativi, per cui pensava alla Digital Researcg)
per il futuro "IBM PC"; a quel punto, la Microsoft era gia` l'azienda
leader del (nascente) settore "linguaggi per PC" -- non guasto`,
inoltre, il dettaglio che l'allora presidente della IBM, e la madre
del "ragazzotto", si conoscessero bene in quanto entrambi direttori
della enorme charity chiamata "United Fund" (non so da dove nasca
la leggenda che Mr Gates "si e` fatto da se", quando entrambi i
suoi genitori erano tipici esponenti dell'alta classe dirigenziale e
professionale degli USA).
Cosa c'entri questo con MFC, o con la programmazione Win32, non
so, ma non sopporto imprecisioni, inesattezze, e leggende urbane
prive di fondamento...
Alex

 Alex
8

 in questo momento non compare nessun tuo post.
Ritiro tutto ho avuto dei problemi di ordinamento con il news reader.
Scusa
8

scritte).
Si, e' giusto, ma si parlava di programmatori al di fuori di Borland,
cioe' indipendenti. Il porting di OWL e' ancora in alto mare, poiche'
tali programmatori, mi sembra di capire, usano chiaramente i
compilatori free dell'ambiente Linux. Ed in tale ambienti vi sono
delle incompatibilita' con le librerie di OWL e delle RunTime
Libraries (per non parlare del fatto che di tale libreria OWL fa' uso
di una marea di funzioni non-standard).
Bye.

 
Non sono perfetto (ma perfettibile, come tutti), ma, proprio se lo
fossi, non mancherei mai di correggere le affermazioni errate
e false che vedo fare.  Non e` questione di correggere "la gente",
ma di correggere _gli errori_ che vengono commessi.  Quanto
a "giudicare" chicchessia, certa gente si qualifica da sola, senza
che si ponga nessun particolare bisogno di fare chissa` quale
sforzo per "giudicarla".  Ad esempio, grazie a questo tuo post, e
sino a eventuale prova contraria, e` ovvio come io ti possa "giudicare";
la tua affermazione falsa prima citata, ad esempio, relativa al "non
comparire" di altri miei post, oltre a quello cui rispondi, si qualifica
ovviamente da sola.
Alex

 
Prego; scuse accettate.  Il mio post di replica al tuo precedente
e` gia` partito, basato sull'affermazione falsa di cui qui ti scusi,
e non intendo cancellarlo perche`, oltre a replicare a questa
specifica disinformazione, ho risposto anche ad altre tue varie
osservazioni polemiche.  Comunque, parte della concezione di
"perfettibilita`" (caratteristica ben diversa da "perfezione") e` che
gli errori si correggono, e la caratteristica piu` importante non e`
"non fare mai errori" (poiche` e` impossibile), bensi` "essere
sempre pronti ad ammetterli e correggerli" (che e` possibilissimo
e cruciale).  Poiche` evidenzi qui sintomi dell'ottima caratteristica
teste` accennata, questo basta, naturalmente, a cambiare la prima
impressione che potevo essermi fatta su di te sulla base del tuo
post precedente.
Alex

prive di fondamento...
Le mie "leggende urbane" non nascono certo dalla mia fantasia, ma da
articoli che a suo tempo mi capito` di leggere... se sono inesatti, mi
dispiace, ma non sono certo uno che parla senza avere un minimo di
background sull'argomento e sparando a casaccio, cosa che la tua frase
sottilmente sottointende (noto che il vizietto non l'hai perso).
Paolo


gratis.
Non mi sto ponendo in quest'ottica... sto solo dicendo che forse
ci sono vie diverse da quelle tradizionali. La storia dira` se e` cosi`
o meno.
