I got some newbies questions, i hope to hear from you... Feel free to answer any! I will appreciate it so much if you answer them all :-)

1. Do AV's generally (windows security specifically) trust application written under .NET more than the ones written written under MFC & Win32 API?

2. Can C++.NET let you write unmanaged (native) code?

3. As C++.NET framework has its own objects, borland VCL in C++Builder has its own objects, thus taking GUI API source code created in C++Builder VLC framework, and put in C++.NET, application won't compile due to different object implementations between both frameworks. Right?

Hence, the structure & implementations between the two frameworks are different, but the core code is the same both of them uses native codes to make these objects. Right?

4. Do you usually create GUI (Windows form) first and then start coding the logic regarding the GUI structure? I think yes, but i want to make sure...

5. Is MDI is used when i want to use multi-threading and SDI used for single threading?

6. Is MFC uses drag and drop facility. If yes, then what is the difference between MFC and .NET in building the forms since both have the facility of drag and drop?

Hence, i know .NET application depends on .NET framework while MFC is executed directly by the machine. MFC is unmanaged (native). In q6 i'm asking about drag and drop, i do not see any difference in the concept.

7. I was coding in consoles before, now i'm moving to the real programing which involves real application that can be used by users. I will start learning Win32 API until i get good grasp at the basics, then i will move to MFC until i get the basics. Finally, i will move to C++.NET and start doing some real-life projects. Is this the right way to go?

Can't wait to hear from you!

Recommended Answers

All 3 Replies

Question 2:
I am using C#.NET under the same conditions you are using C++.NET. I can write unmanaged code if I want to(why should I do that?), but it is not "native" it is translated into IL an intermediate language. This IL is compiled by the JIT (Just In Time compiler, installed on your system) every time you run your program. I admit it shall be slower, but with the speed of the current computers that should ,in most cases, not pose much of a problem.
But if you're in for speed, it's assembly language you need!

Question 3:
Quite right.

Of course, it's my opinion only:
1. ? Ask AV soft implementors ;)
2. Yes, of course. Look at the VC++ Project Types pane. If you wish VC++ generates code which does not depend on .NET framework. Of course, you can't use any .NET stuff in the code.
3. Yes and no. No (2nd part), because ALL executable codes are "native": .NET supporting modules are "native" too. But Windows is a proprietary system and only Microsoft knows where is this "common base native code" placed.
4. Quite the contrary. I prefer to make UI-independent core then use it in GUI or console shells (or w/o any UI for services).
5. No. MDI/SDI application architecture does not bear a relation to a thread structure.
6. What's "drag and drop facility"? If it means IDE GUI editor then
a) it's possible to write MFC or Form codes w/o IDE "drag and drop" tools
b) MFC executables depend on special MFC libraries (DLLs) too
c) Both MFC and Form object models are different but based on the windows/even-driven paradigm.
7. You may skip MFC stage at all: MFC is obsolete Windows GUI programming platform. And there are some interesting platform-independent ("native" in your terms) GUI building approaches. Don't forget: .NET is Windows-only platform now (I think and forever). Probably, it's the most valued MS goal (including intentional monstrous C++ language .NET "extensions") ;)...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.