I wrote about Windows RT some years ago without really thinking about the underlying type system design in a multi language environment. Never occurred to me how Microsoft defines the underlying structures developers will use to define their own APIs. Microsoft Interface Definition Language (MIDL) 3.0 is a simplified syntax for declaring those Windows Runtime types inside Interface Definition Language files (.idl). The chief concern then is how you end up projecting the fundamental building blocks that each language needs, these would include:-

  • Classes
  • Interfaces
  • Base Types (32, 64 BIT float; 8,16, 32,64 BIT INT; strings; GUID, etc)
  • Structures
  • Enumerations
  • Delegates

These engineers started by supporting the usual language suspects (C#, Visual Basic, JavaScript) but we now also have consistent projects for things like Objective-C and a pure standards based C++ (avoiding platform specific extensions).

Anyway, this is a place holder for me to quickly access this brilliant interview of Larry Osterman on MIDL 3 by Nikola Metulev. Give it a watch, totally worth your time!