|
No need to argued for MFC or WTL. Only those who do project alone will use WTL, in team development, I have yet to see any team using WTL at large. Support is very important, if WTL is fully support by MS, I am sure the counter will boost right away.
It is not surprise to see MFC top the list, consider Stingray and Dundas MFC products, who says MFC cannot rules?
For those who think MFC sucks, it is just their short sighted and of course, their lacks of technical skills.
|
|
|
|
|
why dont Microsoft tell us what to learn...ie.MFC or WTL..etc.....and leave the final choice for us...??... ..so we dont waste our times on learning..
|
|
|
|
|
Nothing wrong with MFC, just that you don't learn much; that is only MFC.
|
|
|
|
|
MFC is complete wrong, just that you don't learn much; that is only !MFC.
|
|
|
|
|
I've heard both sides on the performance of the STL....
What do YOU think? and what is your EXPERIENCE?
|
|
|
|
|
Glad to see wxWindows got some votes.
I like it for a few reasons:
1. It gives your code at least *some* hope of platform independence. It doesn't exclude platform-specific stuff... there are various wrapper clases for Windows-specific things, for instance. Of course, they won't work when you run it on a Mac...
2. I like the way it handles messages. You never have to remember what parameters a message takes. Mouse events take a wxMouseEvent object. Keyboard events take a wxKeyEvent object. I much prefer this to the MFC approach, which is to rely on ClassWizard and pray that it supports the message handler you want.
3. It's open-source. It has a more liberal license than the GPL, so you can statically link your stuff to it and not have to open-source your whole app. I have had to make one change to it (for better support of far-east multi-byte character sets), and it's nice to know I can do that.
Just my opinion. wxWindows does still have a few quirks here and there, but it's constantly improving.
|
|
|
|
|
argh, I hate when I forget to log on before I post...
"Time spent with cats is never wasted." - Colette
|
|
|
|
|
No, I am not saying that it is close to perfect. But I can do almost everything I need (GUI and ActiveX control programming) with it. Why should I learn a new way to do the same thing whenever Microsoft comes up with a new library? However, I am sad that Microsoft itself is not using MFC a lot.
Those who hate MFC are probably like Michael, never spent a lot of time with it. Otherwise you may find that CSocket is not broken as many have claimed, you just need to learn how to use it.
Please keep in mind that the libraries you love today (ATL, WTL, etc.) won't be so hot tomorrow.
|
|
|
|
|
ha ha ha. And you think there will be an MFC8 do you? I have been using MFC since 1994, but WTL shows how a modern C++ framework should work. I'll wager that any future C++ framework from MS will be more like WTL than MFC...
If you are writing ActiveX controls then take the time to look at ATL - you won't regret it.
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
I'll wager that any future C++ framework from MS will be more like WTL than MFC...
You seem to forget that WTL wasn't formally supported by MS. The new framework from MS is already here, and it aint WTL (hint: Managed, Garbage Collection, ...)
|
|
|
|
|
Who cares about support? It's just a bunch of C++ header files! People bang on and on about how they can't use WTL unless it is "supported" by MS. What is there to know? You find a bug, you fix it, you let others know via the various groups. That's it. The real reason more people don't use WTL is simple - they can't get their heads around C++ template programming.
MFC is already dead. MFC7 is a joke (and is very buggy).
As for .NET, well, I can't be the only one who thinks the jury is still out...
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
Robert Edward Caldecott wrote:
Who cares about support
If you are THAT free to choose your library, you should really look into QT for Windows
Look here[^]
I very much like it, and it is much more modern than MFC.
|
|
|
|
|
Who cares about support?
Your previous post promotes WTL because you believe it is more likely the new C++ framework from MS, now you don't care about MS support? Make up your mind, man!
MFC may be dead to you, it is still widely used where I work. I don't care much about MFC7 though.
About .NET, I think you have the same sad feeling of being abandoned by MS as I do, you just don't know it or don't want to admit it.
|
|
|
|
|
No, I don't care about MS support! Why should I? Give me one good reason why I should care. The only "support" I may need is the odd example - and I have CodeProject for that thanks! (plus numerous other resources). If you need offical MS support for WTL then you probably work for someone that thinks this is a big issue (and, sadly, some managers may take this line, which may be the case for yourself?).
How is MFC supported right now? MSDN articles and sample code - that's the bottom line - and there are plenty of good non-MS WTL resources to be found on the Net. You should take a look at WTL - you won't regret it.
As for your initial comments on ATL - well, I can't imagine developing ActiveX components in MFC - the whole reason ATL was developed (and remember that ATL IS an "official" MS product - support included) was for COM control development. Why? Because MS themselves knew that MFC wasn't the ideal framework for this sort of development - too bulky.
As for .NET, I don't feel abandoned at all - I simply won't care about .NET until all our customers are actually running a version of Windows that supports it! Over 60% of our customers are on Win9x. 10% are on Win95. Yikes! How will .NET help them?
Perhaps I am lucky enough to work for a company where my boss lets me choose the framework my apps are developed in. He trusts my judgement and the only regret I have as a developer is not moving to WTL sooner.
The bottom line is right now, if you want to write Windows apps in C++, then WTL is (in my humble opinion) the best way to go. Once you get your head around C++ templates then it all falls into place. Fear of the unknown or no offical MS support shouldn't be a reason not to check this library out.
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
ATL? Hmmm contentious issue - at least in the terms you put it. ATL is gr8 - for lightweight COM component development. MFC is great, for UI-heavy ActiveX controls - therein lies the distinction, and the need for MS to provide ATL. For writing back-end components, yeah, ATL is good. Once you need a UI, then you're adding WTL to ATL - fine, still quite compact. Still, it comes down to whether or not your actually bothered about the weigth of a component - for what I do, i'm not. Hence, i can even use .NET for my components (and hey, there's some major benefits of doing so - it's darn easy to do compared to ATL. I dig groovy things like inheriting from an external control ) - which is a big, meaty and (startup-wise) slow thing. Chances are that my clients already have the MFC library loaded, so not big shakes in using MFC.
Today's poll on here shows how popular MFC is - no big surprise. As for the future of windows programming - it's .NET as far as MS is concerned, so i'd be more inclined to invest my time there... As for support, what you say for WTL is just as true for MFC, if not more so - there's a ton of resources on the web for it PLUS official support in terms of MSDN etc.
Tim Stubbs
|
|
|
|
|
MFC is great for UI-heavy ActiveX controls? Why is it better than ATL/WTL? I've coded UI heavy ActiveX controls easily enough in ATL, using WTL classes for any GDI work, etc. I'd rather ship as small as a component as possible (with as few dependencies as possible) to my customers.
You missed the point of the WTL support argument. The problem is people see "unsupported" and it either scares them or, more likely, scares their boss. However, if more people took the time to look closer at WTL, they'd see just how neat a framework it is - and the support issue becomes less important. Of course, the more people that use it, the more support (in the form of articles, etc.) it gains.
Still, the right tools for the right job, stick with what you know, etc. etc. I'm not trying to start a "my framework is better than yours" war - but I have coded using MFC for many years, and as one MFC developer to another I would say heartily recommend WTL.
I also admit to first looking at WTL 2 years ago and was scared off because I had no C++ template experience. I bought a book on template programming and WTL (and ATL) now looks a whole lot less frightening! The template aspect puts many off I think.
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
Size of shipment isn't an issue - we ship an entire machine to our customers (plus a lot of other hardware) - so we can stick anything we like on the hard drive before it leaves the factory Pretty nice situation huh?
We don't even have to support Win9x anymore. OR NT. And we'll cut 2k support in a year's time. Sweeeeeeeet.
Sorry, I don't think i missed the point of your support argument - i was merely pointing out that MFC is supported either by MS or the community to a greater degree than WTL. WTL is a marginalised tech, like it or not. I mean, no harm by that - in fact, i've used it Neither do i think it's a *bad* thing, but at the end of the day MS will sledgehammer windows developers into the alley of their chosing - .NET currently. Ultimately this means a death knell to both MFC and WTL, as people will move away with them (regardless of community support - it's the nature of business [i think you mentioned 'manager' influence]). MFC, such as it is, is popular - there's a lot of legacy code out there. If we were talking linux i'd believe in a greater future for all things WTL, but this is Windows, and as such, we're all a heartless bunch of corporate b******s
Hey, there's even template classes in MFC
TBH I don't care either way - i still get paid , nor do i find using MFC a major bind (now, VB 6 that's a different story). As I said, though, the thing to learn atm is .NET - and the big pro there is the tech. is good (very good occasionally) PLUS your manager thinks you NEED it. Win win really.
Tim Stubbs
|
|
|
|
|
We don't even have to support Win9x anymore. OR NT. And we'll cut 2k support in a year's time. Sweeeeeeeet.
You lucky, lucky b*****d! I still have to support Win95 - and even a legacy Win16 app we still ship (and I occasionally bugfix ).
PLUS your manager thinks you NEED it
Mine doesn't. Yet. I don't disagree that MS will force us to use .NET - hey, they made using a C++ framework other than MFC difficult to resist in the early 90s. But in the business my company is in, it won't be important for a few years leaving WTL the framework of choice for me for the forseeable future.
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
Robert Edward Caldecott wrote:
MFC is great for UI-heavy ActiveX controls? Why is it better than ATL/WTL?
I think the point is that people have already invested time to learn MFC and WTL doesn't provide any significant feature not already in MFC. OK it has smaller footprint, but the MFC dll isn't that big to begin with. Most of the machines I worked on already has the MFC dll.
Robert Edward Caldecott wrote:
However, if more people took the time to look closer at WTL, they'd see just how neat a framework it is - and the support issue becomes less important. Of course, the more people that use it, the more support (in the form of articles, etc.) it gains
I seem to recall hearing the exact argument about Linux and open source, not to imply that you belong to the same cult though.
Robert Edward Caldecott wrote:
I also admit to first looking at WTL 2 years ago and was scared off because I had no C++ template experience. I bought a book on template programming and WTL (and ATL) now looks a whole lot less frightening! The template aspect puts many off I think.
I use ATL myself, just not as crazy about it as you are. Template is a great feature in a programming language. However, it seems to have the side effect of making poeple close-minded, just an observation.
|
|
|
|
|
Template is a great feature in a programming language. However, it seems to have the side effect of making poeple close-minded, just an observation.
he he. I have projects that use plain C/Win32, MFC, ATL and WTL. I'm about as open as you can get!
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
>>Template is a great feature in a programming language.
That's right, but you should not use it if you want to write really portable code.
|
|
|
|
|
All I can say is I've just developed and Advert Scheduler GUI in WTL. I must say is simplify Windows programming period.
As long as you have Win32 + Windows + C++ programming experience WTL is the way to go.
You'll notice it Visual C++ .NET most of the MFC support classes are Templatised which suggests that the future versions of windows program (in C++) are going to templatised.
So for people who are not using WTL/ATL - get off your arses. For people you are not familiar with template programming - start learning.
Developing with C++ is like programming by the seat of your pants
|
|
|
|
|
Robert Edward Caldecott wrote:
Who cares about support? It's just a bunch of C++ header files!
Well, yeah, see that's the problem. No documentation; no decent wizards; a limited framework.
And to top it off, while it's still technologically more advanced than MFC, it's still crude in many ways: primarily an overreliance on macros.
WTL == NULL;
|
|
|
|
|
No documentation
There is some excellent documentation on ATL windowing/WTL available from:
http://www.idevresource.com/wtl
http://www.clipcode.net/desktop/guides.htm
no decent wizards
OK, VS6 has crap support for WTL, but the VC7 IDE is much better. You can add windows message handlers via the Properties tab, etc. The only MFC wizard I ever missed when starting out with WTL was the dialog box one - now I am familiar with WTL it isn't a problem. Obviously you get a good "New WTL Project" wizard with WTL which is enough for me.
a limited framework
WTL was never designed to cover everything - it is designed to add UI support to ATL. I actually think its small size and simplicity is a benefit.
primarily an overreliance on macros
Indeed, just like MFC and ATL before it. Message map macros do look a bit dated nowadays, but why this should be something to turn you off WTL is a mystery.
WTL != NULL;
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
BECAUSE MACROS ARE EVIIIIIIL!!!!
At least someone said so a while back.
I don't know why they are evil.
...
NOTTTTTTTT
I can't even remember the last time I had a bug caused by a macro.
Tim Smith
"Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution."
Hoare - 1980 ACM Turing Award Lecture
|
|
|
|
|