So farewell then Win32c and Win32s – Microsoft Corp has given up the unequal struggle of trying to explain to developers the difference between its various 32-bit Windows application programming interfaces. From now on all 32-bit application programming interfaces are being referred to as Win32. The move came last month as Microsoft seeded 5,000 developers […]
So farewell then Win32c and Win32s – Microsoft Corp has given up the unequal struggle of trying to explain to developers the difference between its various 32-bit Windows application programming interfaces. From now on all 32-bit application programming interfaces are being referred to as Win32. The move came last month as Microsoft seeded 5,000 developers with two CD-ROM disks containing a pre-release version of Chicago, the 32-bit pre-emptive multitasking successor to Windows 3.1. For the last couple of years, developers have been faced with four separate application programming interface sets from which to choose. At the low end there was, and still is, Win16 – for building applications guaranteed to run under old Windows 3.1, but nothing else. At the high end there was Win32 – guaranteed to run under Windows NT and nothing else. In the middle there were the two curious hybrids. Using Win32s (s for subset) produces applications that utilise 32-bit addressing and therefore run quickly under NT but the same applications will also run under 16-bit Windows. However, to achieve this backwards compatibility the resulting applications have to forego pre-emptive multi-tasking or multi-threading. In addition, when running under Windows 3.1, Win32s applications suffer a performance hit, due to the thunking needed to convert the 32-bit calls into 16-bit operations on the fly. In summary, you end up with an application that crawls under Windows 3.1 and runs under NT, but lacks most of the features that make NT attractive: Win32s did not prove popular. Win32c (c for Chicago) added the multi-tasking and multi-threading and support for long file names, while missing out NT-specific features. The abolition of Win32c and Win32s looks like sleight of hand: in place of the separate specifications there is now just Win32, but each call is labelled to indicate whether it is compatible with NT, Chicago or Windows 3.1. One effect of the move will be to make it more difficult to analyse how many developers are producing applications for which environment. Up to now, industry watchers have been able to ask who was developing for Win32s, Win32c and Win32, and thus track interest in the various offerings. Under the new regime, Microsoft was simply able to say that more than 250 Win32 applications are now available, with several hundred more set to ship by the spring. Bill Gates described Microsoft’s message to developers as very clear and consistent during his keynote address at the conference: Write to Win32 and OLE 2.0 [object linking and embedding] today and your applications can run on our present and future software platforms. Microsoft says that beta releases of Chicago will be go out for broad end-user evaluation this half.