473,406 Members | 2,843 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

Opinions: MFC, or C & Win32 API

36
Hello yet again,

I know this is long, and I apologize... but hang in there! :)

I've been learning C++, and I can't get enough. I've been finding out more, and more about it online, ever since I started learning.

Now I have an opinion related question... I know to get the "cute" windows in win-doze, ( meaning: not running in a command line ) you need to use the MFC, or Win32 API, but what I want to know is, in your opinion, which is worth learning first?

I've heard the MFC is not as good as the API, but do you need to bone up on C in order to use the API, or can it be used with C++. ( I know C++ is a superset of C, and has everything C has... But still... )

I know some of you will say: Learn C#, and .NET ( oh, new question coming...), and I will down the road, but I'm concentrating on my C++ right now.

What about .NET with C++? ( is it even possible? )

I would like to learn them all eventually, I just wonder which to start first.

I would appreciate any recommendations on books, references, or tutorials too.

Oh, and a quickie question: Last time I looked into Linux, they had some sweet windows-esque... uhhh... windows. What do they have going on over in their world. ( meaning, what's their "version" of MFC/API/.NET )

Thanks again,

-Soneji
Apr 29 '07 #1
3 2105
drhowarddrfine
7,435 Expert 4TB
I'm a guy that's been in and out of all this over the years so I've forgotten a lot but here is what I remember.

1) Yes, you can use C++ with the Windows API
2) Bjourne Soustrup, the C++ creator, would have issues with you saying C++ is a 'superset' of C but we know what you mean.
3) I know little about MFC other than what others have told me and those wouldn't touch MFC with a 10-foot pole. I like getting close to the metal but MFC looks like too much of a wrapper around what I want to control.
4) Yes, you can use C++ with .NET
5) Linux/Unix/BSD have X-Windows. I don't know what an equivalent of MFC would be but the 'API' consists of system calls and library calls.

Remember that .NET is a relatively new creation and Unix has been around much, much longer. You can run .NET stuff using 'mono' but why would you want to? I don't see a need there.

For X, there are various toolkits like GTK and KDE.
Apr 29 '07 #2
Banfa
9,065 Expert Mod 8TB
Now I have an opinion related question... I know to get the "cute" windows in win-doze, ( meaning: not running in a command line ) you need to use the MFC, or Win32 API, but what I want to know is, in your opinion, which is worth learning first?
I would learn the WIN32 API first (although I doubt Microsoft would say that (of course they would say forget the API learn .NET)). The reason I say this is that MFC is just a set of wrapper classes that wrap calls to the API using some (well quite a few) classes as well as adding rather a lot of bloat to the equation. If you know the API you will know what the MFC is doing if you look into its internals and you will have the choice of using WIN32 API or MFC when you get round to learning MFC as well.
Apr 29 '07 #3
Soneji
36
Ahhh!!! I see!

I had thought about learning the API, but I didn't want to learn it, then find out you needed to master C to work with it.

I really appreciate the answers! You have confirmed what I heard about the MFC, and now I know that learning the API is a good step.

As for Linux, I have had 2 different versions installed before ( Mandrake first, Redhat second ) and I want to reinstall at least one of them, ( probably Redhat ).
I really like Linux, I just didn't have the time to learn it before ( I have plenty of time now though... Motorcycle meets Truck = semi-disabled ).

I knew of the GTK+, however I didn't realize it was a graphical interface toolkit.

Wow, I learned a lot! I really appreciate the help! I'm a "late bloomer" in the programming world, and I'm trying to maximize my learning, while minimizing wasted time ( I've wasted enough... Wanted to program since I was 10-11, that's been awhile back ).

Do you know of any good Win32 API books? ( I've got the FoosYerDoos website bookmarked :) )

Again, Thanks for the help!

Lates,

-Soneji
Apr 30 '07 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

0
by: RJS | last post by:
Hi all, I can't get a py2exe compiled app to run with numarray (numarray-0.5.win32- py2.2). Also wxPythonWIN32-2.3.3.1-Py22 and ActivePython-2.2.1-222. In the sample below, commenting out...
9
by: Jeff Wagner | last post by:
Is there an Expect-like module for Python that is cross platform and, for the most part, does what Expect does? A number of years ago, I wrote some Tcl scripts using Expect for automation. I am...
1
by: Eitan | last post by:
Hello, I am using Visual Studio.net 2003. I am trying to find how to create Win32 DLL & Win32 Static Library. When going through the wizard it does not show me the option for these two project...
6
by: Herrcho | last post by:
in K&R Chapter 6.3 it mentions two methods to calculate NKEYS. and points out the first one which is to terminate the list of initializers with a null pointer, then loop along keytab until the...
6
by: Rajesh | last post by:
I am a System Administrator and do some programming (Admin Utlities) in VB6 & C#.net. I am interested in Win32 and thought of learning C++ (as it is a pre-requsite) and read 13 chapters from C++.Net...
16
by: PyDenis | last post by:
Today, I found strange error while using py2exe: 1. I wrote simple program and save as 1.py: import win32ui import win32con win32ui.MessageBox('Test messageBox.' , 'Test', win32con.MB_OK |...
0
by: jbenezech | last post by:
Hi all , I have a perl/java app running under Win32. The application consists of a perl service (Win32::Daemon) and of java classes. The perl service calls every xx hours java classes to perform...
0
by: olegprog | last post by:
Dear All, I am trying to write a C# DLL that would work with VBA (in VBA I can directly call C# dll) and relatively old Win32 application (ArcView3.x). For Win32 application I would like to use C++...
0
by: newbie73 | last post by:
Going through the tutorial on http://swig.org, I created the example files (pasted below). After generating the _wrap file, I tried compiling (using mingw32) and received a lot of undefined...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.