Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I am learning MFC right now. There is a term i have read in all the books :"windows programming". My point is what do they mean by this term "windows programming" ? The simple windows form application I have done using C# are they windows program too ? If so then what's the difference with C++ windows program and a C# windows program. I have also heard a term "Native C++ code". What does it mean ?

Now comes the next one, suppose anyway both C# and C++ both can be used to create windows program that communicate with Win32API. But what about a java application. I have read java code are converted to byte code. So they are first compiled and then converted to byte code. In which phase and how it communicates with Win32API ?

share|improve this question
1  
I think the term "Windows programming" relates to development of programs on a Windows platform, but more important, that involves coding against the native Windows libraries. Java uses native bindings to talk with the underlying OS. Interactions with the OS are done via Java interfaces so as to standardise the API when working across multiple platforms – MadProgrammer yesterday
Probably should be migrated to Programmers.SE – Steve P. yesterday

put on hold as too broad by Stephen C, Chris Sinclair, Steve P., Hovercraft Full Of Eels, Daniel Mann yesterday

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

"Windows Programming" is programming that targets the Windows OS. It is a general term for anything relating to programming on the Windows platform.

C++ Windows Program == C# Windows Program... just different languages. A "Windows Program" is a program that runs on Windows. That's all.

"Native Code" is anything that isn't a managed language. Managed languages include any .NET language (C#, VB.NET, etc) and anything runnings on the JVM (Java, for example). This is because they are managed by a runtime (CLR for .NET, JVM for Java).

As for how Java communicates with Win32.. it is no doubt the same as other languages (I'm not a Java developer, so not an expert), but, it generally involves loading various native windows DLL's and calling methods within them.

share|improve this answer
"As for how Java communicates with Win32 ...." - In practice, that's not how it is done ... – Stephen C yesterday
@StephenC I'm not much of an authority on how the JVM works :/ – Simon Whitehead yesterday

Not the answer you're looking for? Browse other questions tagged or ask your own question.