Form-Based UI in Various MS Languages
This post made me think about why this situation happened. I think historically, the C++ group in Microsoft has been focused on their compiler (of course) and giving folks direct access to operating system APIs. The VB team, on the other hand, was focused on creating a Windows programming paradigm simple enough for the masses.
Win32 dialogs were not designed to be the main UI of an application (Actually, "Win32" is kind of a misnomer. This stuff dates back to the 16-bit Windows days). They were designed for alerts, allowing the user to change program setttings (i.e., ToolsOptions), About boxes, etc. The Win32 dialog editor that ships with C++ was just a spiffier version of a Windows SDK sample that shipped back in the 16 bit days (does anyone remember .dlg files?). Since the C++ group wasn't concerned with propagating a form-based application paradigm but some of its customers were clamoring for one (VB envy), they did what you would expect given their focus: they found the closest match in the existing system APIs (Win32 dialogs) and built support in their libraries (MFC) and tools (Resource Editors) to let customers build applications that looked like form-based apps.
The VB team, on the other hand, had a vision for form-based apps that they could see wouldn't be satisfied with the existing system APIs and knew they wouldn't be getting that technology from the system folks. In addition, they didn't see their mission as bringing the system APIs to the world. In fact, it's very likely that they saw their misson as hiding the system APIs from the world since at that time programming to those APIs was considered something that only really smart, highly technical people could do (To illustrate this point, when Windows 3.0 came out I was in a computer science program in college where writing a compiler was considered nothing special and an expected part of the curriculum but in a software projects course I was on a team that amazed our professor (and got us all an "A" in the course) by writing a simple database application. The aspect of the application that led to the amazement and kudos was that the application used Windows 3.0 for its UI). So, the VB team did what you would expect given their focus: they created their own forms technology.
Now that the forms technology (along with all the other .NET stuff) has become part of the system APIs, it's only natural for the C++ team to give its customers access to it. It's also natural for it to come one release behind its appearance in the world since it takes time to fit the paradigm into the framework of the C++ language and the Visual C++ infrasturcture (Typically, new Win32 technologies will appear in the system SDK's before they make it into the C++ product also).
1:12:29 PM
|
|