home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.ms-windows.programmer.tools
- Path: sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!menudo.uh.edu!lobster!nuchat!xcluud!joe
- From: joe@xcluud.sccsi.com (Joe Abernathy)
- Subject: Re: borland c++ and microsoft c/c++
- Message-ID: <BsyDBM.LL2@xcluud.sccsi.com>
- Summary: Byte speaks well of MFC in new issue
- Organization: Greater Montrose UFO Appreciation Society & Data Haven
- References: <1992Aug10.171802.18367@nntpd.lkg.dec.com> <pathak-100892175041@virtual.mitre.org> <1992Aug12.193916.17762@microsoft.com>
- Date: Fri, 14 Aug 1992 02:52:33 GMT
- Lines: 97
-
- In article <1992Aug12.193916.17762@microsoft.com> stevesi@microsoft.com (Steven Sinofsky) writes:
- >In article <pathak-100892175041@virtual.mitre.org> pathak@mitre.org (Heeren Pathak) writes:
- >>In article <1992Aug10.171802.18367@nntpd.lkg.dec.com>,
- >>feldman@toklas.enet.dec.com (Gary Feldman) wrote:
- >>>
- >>> I'm just starting to look at compilers and windows programming (for myself).
- >>> One thing that struck me was that Borland appears to have added a non-standard
- >>> C++ extension, to bind messages to member functions (the "= [WM_FIRST + mesage]"
- >>> construct). It seems like a nifty idea, but if you use it, doesn't it lock
- >>> you into buying compilers from Borland?
- >>>
- >>
- >>From what I understand, Borland's extensions are being debated by the ANSI
- >>committee and may actually become part of the standard.
- >
- >To the best of my knowledge and after checking with several representatives
- >on the ANSI XJ316 (the C++) committee, the Borland extension has not been
- >proposed, let alone debated by the XJ316 folks.
- >
-
- It's important to keep in mind, in the midst of all the compiler vendors'
- posturing in regard to ANSI C, that the important, definitive standard for
- ANSI C hasn't been released yet. The new issue of Sun Expert, if you can
- find it, has an excellent discussion on this topic, based primarily on the
- insights of John Gillmor of Cygnus, one of the near-founders of Sun
- Microsystems. John's conclusion is that the ANSI C committees need to
- take a decade off, and he offers to throw a retirement party for them
- if they'll do so (and he's serious).
-
- IMHO, the important issue for users of C on the IBM is whether the
- parts of various software tools fit together well, and at the moment,
- it's a bit more work than some of us would like for it to be.
-
- >
- >
- >Microsoft does not use a language extension, everything that is used
- >for the message routing is standard ANSI C++. MFC will compile with
- >BCC 3.1.
- >
-
- Another magazine that arrived in the day's mail, the September issue
- of Byte, contains a good, thorough review of Microsoft C 7, and gives
- a thumbs-up to Microsoft's handling of its C++ extensions to the
- Windows API. The review avoids saying if it thinks this way better
- than that of Borland, but you get the idea that that's what the
- reviewer had in mind.
-
- >>Comparing class libraries, I prefer the Borland class library. While it
- >>doesn't cover the entire Windows API, the sections it does cover contain a
- >>much higher level of abstraction the Microsoft Foundation Classes. When I
- >>looked at the MFC a month or two ago, I wasn't impressed. Most of the MFC
- >>seems to be a wrapper around Windows function calls. While this is great
- >>for those who already know Windows and are porting their code, I am
- >>doubtful that the MFC will provide the flexiblity that a well designed
- >>Object-Oriented Application Framework provides.
- >>
- >
- >OWL and MFC provide nearly identical functionality in almost every
- >area. MFC provides substantial abstraction in the areas of OLE, custom
- >controls, object persistance (that is much more automatic than OWL's).
- >OWL has 54 classes and MFC has 87, and the classes that the two have
- >in common are essentially identical, except that MFC is substantially
- >more complete. Often at first look, people consider MFC less "abstract"
- >than OWL only because it uses the same names as Windows APIs and has
- >all the functionality of Windows.
- >
-
- Perhaps. But just a couple of days ago, for instance, I went to the MFC
- looking for some date functions, and what I found was an incomplete
- date class that warned me _against_ inheriting from it and customizing
- it, as you would normally do.
-
- Getting back to the Byte review, I think they took a really nice tack on
- this issue, pointing out that it's Microsoft C Version 7, but MFC Version
- 1.00. "The initial version of a C++ class library typically suffers
- from a few oversights," wrote reviewer Othar Hansson, "and I would expect
- changes in future versions of the MFC (luckily, the source is provided
- for do-or-die modifications)."
-
- Back to my date class example, MFC actually came a lot closer to having
- the functionality that I needed than did Borland's Object Windows
- Library, but in fact, neither one got me all the way there. The key
- difference was that with Borland's greater degree of abstraction, I was
- able to inherit their basics and add my customizations much more quickly
- than with the Microsoft implementation of my code, which forced me to
- completely reinvent the class.
-
- Microsoft does have a lot to recommend it, by the way, not the least of
- which is its P-code optimizations and outstanding documentation.
-
- --------------------------------------------------------------------
-
- joe@xcluud.sccsi.com
-
-
-
-
-