Quick Guide in Alphabet Soup

a     b     c     d     e     f     g     h     i     j     k     l     m     n     o     p     q     r     s     t     u     w    

ActiveX control

An ActiveX control can be automatically downloaded and executed by a Web browser. ActiveX is not a programming language, but rather a set of rules for how applications should share information. Programmers can develop ActiveX controls in a variety of languages, including C, C++, Visual Basic, and Java.

An ActiveX control is similar to a Java applet. Unlike Java applets, however, ActiveX controls have full access to the Windows operating system. This gives them much more power than Java applets, but with this power comes a certain risk that the applet may damage software or data on your machine. To control this risk, Microsoft developed a registration system so that browsers can identify and authenticate an ActiveX control before downloading it. Another difference between Java applets and ActiveX controls is that Java applets can be written to run on all platforms, whereas ActiveX controls are currently limited to Windows environments.

Related to ActiveX is a scripting language called VBScript that enables Web authors to embed interactive elements in HTML documents.

(by Webopedia)

Asynchronous plug-in

(from .NET, Tablet PC SDK API). A class that implements the IStylusAsyncPlugin interface. Asynchronous plug-ins are generally called on the application's user interface (UI) thread.


Active Template Library, a set of template-based C++ classes with which you can easily create small, fast COM objects.


Common Language Specification. Term used in .NET framework.


Common Language Runtime. Term used by Microsoft, is conceptually same as the JVM in the JAVA platform.


Component Object Model (Micrisoft term). COM is used by developers to create re-usable software components, link components together (such as the Microsoft Office products) to build Windows applications and services.

The family of COM technologies includes COM+, Distributed COM (DCOM) and ActiveX® Controls.

All of COM components are, by definition, unmanaged code; therefore, Microsoft recommends that developers use the .NET Framework rather than COM for new development.


Common Object Request Brokerage Architecture (CORBA), an industry-standard distributed object model.

A key feature of CORBA is IDL. Each language that supports CORBA has its own IDL mapping--and as its name implies, Java IDL supports the mapping for Java.

CORBA and the IDL mappings are the work of an industry consortium known as the OMG, or Object Management Group.

To support interaction between objects in separate programs, Java IDL provides an Object Request Broker, or ORB.

more by Sun Microsystems(Tutorial)


Constraint programming is a programming technology for solving complex combinatorial problems. Data representing a problem are described by domain variables. Each variable has an associated domain, which is the set of its potentially feasible values.

Constraints describe the different relationships that must be met within a set of variables in order to solve a problem.

A domain reduction process allows users to compute one, several, the best, or all of the solutions to a problem. Before and during the search, constraints dynamically and efficiently reduce the domains, shrinking the size of the problem.


COM Callable Wrappers serves as a proxy between .NET code and COM clients.

Because COM components don't operate within the CLR, they are unable to call managed code components directly. The unmanaged code simply cannot reach into the CLR to directly call managed components. The solution is to use CCW.

What to do next with .NET/COM bundle? Look here for extra information on .NET/COM ineroperability.

See more on this topic by MSDN.


Global Assembly Cache


Graphical Device Interface, a Windows standard for representing graphical objects and transmitting them to output devices, such as monitors and printers.


A language-neutral Interface Definition Language.

Java TM IDL is a technology for distributed objects--that is, objects interacting on different platforms across a network. Java IDL is similar to RMI (Remote Method Invocation), which supports distributed objects written entirely in the Java programming language. However, Java IDL enables objects to interact regardless of whether they're written in the Java programming language or another language such as C, C++, COBOL, or others.

This is possible because Java IDL is based on the Common Object Request Brokerage Architecture (CORBA).

To support interaction between objects in separate programs, Java IDL provides an Object Request Broker, or ORB.

more by Sun Microsystems(Tutorial)

Just IN Time compiler.

In in a .NET environment JIT Compiler is used to translate MSIL into machine code.

Managed code

Managed Code is what Visual Basic .NET and C# compilers create. It compiles to Intermediate Language (IL or MSIL), not to machine code that could run directly on your computer. The IL is kept in a file called an assembly, along with metadata that describes the classes, methods, and attributes (such as security requirements) of the code you've created.

Managed code runs in the Common Language Runtime. When assembly loads, CLR verifies it to make sure the IL is okay. Then, at the moment its methods are called, the runtime arranges for them to be compiled to machine code suitable for the machine the assembly is running on. As the assembly runs, the runtime continues to provide services such as security, memory management, threading, and the like. The application is managed by the runtime.

Visual Basic .NET and C# can produce only managed code. Visual C++ .NET can produce managed code if is set(choose f.e "create .Managed C++ application").

see also unmanaged code

more about managed code by Kate Gregory at Codeguru

Microsoft Intermediate Language or simply IL (Intermediate Language)

In a .NET environment, the programs are compiled via an intermediate binary code, which is independent of hardware and operating system. The language called MSIL (Microsoft Intermediate Language) is then translated into machine code by a Just In Time (JIT) compiler and then executed in the Common Language Runtime (CLR).

Microsoft Foundation Class Library

.NET architecture

There are three main components of the .NET architecture:

For a language to be supported by .NET platform, it needs two things:

more unofficial info on .NET features by Setul Verma & Amandeep Verma


Object Request Broker.

The ORB is a class library that enables low-level communication between Java IDL applications and other CORBA-compliant applications.

more by Sun Microsystems(Tutorial)


Microsoft® Windows® Text Services Framework.

A framework for delivering advanced text input and natural language technologies. A TSF text service provides multilingual support and delivers text services such as keyboard processors, handwriting recognition, and speech recognition. TSF can be enabled in applications, or as a TSF text service. TSF is applicable for Windows-based computers using text services and Windows XP or later versions of the operating system.

more by MSDN

Unmanaged code

Unmanaged code is a code that does not run in the runtime, but instead runs natively on the machine. It compiled directly to machine code that ran on the machine where you compiled it—and on other machines as long as they had the same chip, or nearly the same.

It didn't get services such as security or memory management from an invisible runtime; it got them from the operating system. And importantly, it got them from the operating system explicitly, by asking for them, usually by calling an API provided in the Windows SDK. More recent unmanaged applications got operating system services through COM calls.

see also managed code

more about unmanaged code by Kate Gregory at Codeguru

VTBL binding
The Virtual Methods Table binding, as opposite of late binding.