Microsoft Foundation Classes (MFC)
The C++ class library that Microsoft provides with its C++ compiler to assist programmers in creating Windows-based applications. MFC hides the fundamental Windows API in class hierarchies so that programmers can write a Windows-based application without needing to know the details of the native Windows API.
Active Template Library (ATL)
A C++ template library used to create ActiveX servers and other Component Object Model (COM) objects. ActiveX controls created with ATL are generally smaller and faster than those created with the Microsoft Foundation Classes.
Component Object Model (COM)
An open architecture for cross-platform development of client/server applications. It is based on object-oriented technology as agreed upon by Digital Equipment Corporation and Microsoft Corporation. COM defines the interface, similar to an abstract base class, IUnknown, from which all COM-compatible classes are derived.
COM - It's a technology. ATL and MFC can help implement COM features.
MFC - Library/Framework used to build Win32 apps. Typically you will use it for building desktop applications.
ATL - Framework which helps building COM application. It can be used to build desktop applications as well but typically you will use to build
ActiveX controls(uses COM techonology) or other COM related stuff.
.NET - Its the latest techonology from MSFT. You dont need to use MFC, ATL or COM if you use .Net. .Net is much much more than this though.
A set of technologies that enable software components to interact with one another in a networked environment, regardless of the language in which the components were created. ActiveX, which was developed as a proposed standard by Microsoft in the mid 1990s and is currently administered by the Open Group, is built on Microsoft's Component Object Model (COM). Currently, ActiveX is used primarily to develop interactive content for the World Wide Web, although it can be used in desktop applications and other applications. ActiveX controls can be embedded in Web pages to produce animation and other multimedia effects, interactive objects, and sophisticated applications. See also COM.
An application or tool that calls an ActiveX object.
An exposed object of the Component Object Model (COM).