Please tell the differences

Started by
13 comments, last by Antheus 16 years, 2 months ago
@MaulingMonkey actually if you read my post I'm not asking you to define them but to site the differences because the once at wiki are all some kind of definition to the terms what I'm looking for is the differences for me to better understand them.Actually don't you think you already wasted your time by writing your post instead of just answering my query,yes? I don't want to start a fight here so please if you don't want to answer just don't,but if you know something please do so post(what I'm really looking for is somewhat like what chairthrower had said)
Advertisement
Quote:I'm not asking you to define them but to site the differences
Inherent in the definition is the differences between the terms you listed. Perhaps you could explain to us why you think they are similar, and how you are unable to differentiate between them?

We want to help, but you aren't making it clear to us, what it is you don't understand. So, we can't really progress in this thread.
Quote:Original post by Skeezix

I'm looking for is the differences for me to better understand them.Actually don't you think you already wasted your time by writing your post instead of just answering my query,yes?


The problem here is that you listed 6 buzzwords that are mostly, yet not entirely unrelated. As such, it's really difficult to talk about differences between apples, tables and hills. Although, at some level, apples may grow on trees on hills and are placed on a table after they are collected.

MFC is Microsoft Foundation Classes. It's a lot of code that is a *wrapper* over Windows API.

"Native codes" don't exit. Languages like Java, C# or Python are all "hosted". When they designed these languages, they also wrote down the exact virtual computer they will run on. These computers don't have Intel or Athlon CPUs or things like that. They defined a mock computer which doesn't exist, yet is very simple to program.

When you run such an application, it is converted (possibly by JIT) into *native* environment (hardware, operating system, ....).

JIT - Just In Time refers to compilation process, which converts application commands written for the above mentioned virtual computer into native environment. This process happens while the application is running, when such commands are executed. Most trivial benefit of this approach is fast development. Other benefits are strictly technical.

CLI is Microsoft's "virtual computer". They defined how their ideal computer should look like, and then everyone programs just that - not all those tens of thousands of different hardware configurations. C++/CLI is just that - it allows C++ programmers to create such applications.

Managed (whatever) is older version of the above concept.

MFC is wrapper to Windows API. When Windows came out, developing applications was a pain. MFC tried to solve that by providing a more user friendly interface. Most would say they failed at that goal, at least with MFC.

Wrapper wraps something. Interface hides implementation. The term wrapper is used to emphasize that two things are being bridged for sake of convenience. Term interface defines a contract on how to do something.
Well sorry for the confusion...im a little confused as well
what im trying to say is that isn't it that mfc is just some kind of wrapper and that its not alot like native code (w/c in my understanding is the code we write using just plain c++) also isn't it that mfc and cli are of some relationship in that their almost alike(or maybe the other is better or something), and what is the difference with managed and unmanaged code,is that native code an unmanaged code?
Quote:Original post by Skeezix
Well sorry for the confusion...im a little confused as well
what im trying to say is that isn't it that mfc is just some kind of wrapper and that its not alot like native code (w/c in my understanding is the code we write using just plain c++) also isn't it that mfc and cli are of some relationship in that their almost alike(or maybe the other is better or something), and what is the difference with managed and unmanaged code,is that native code an unmanaged code?


If you're unfamiliar with programming, then we have no common grammar in which to explain these terms.

Do you know the role of a compiler is?
Do you know what API is (not acronym, the meaning), and why it's needed?
Do you know the difference between machine and source code?

This topic is closed to new replies.

Advertisement