{"id":40453,"date":"2004-03-01T09:37:00","date_gmt":"2004-03-01T09:37:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2004\/03\/01\/why-16-bit-dos-and-windows-are-still-with-us\/"},"modified":"2004-03-01T09:37:00","modified_gmt":"2004-03-01T09:37:00","slug":"why-16-bit-dos-and-windows-are-still-with-us","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20040301-00\/?p=40453","title":{"rendered":"Why 16-bit DOS and Windows are still with us"},"content":{"rendered":"<p><a href=\"http:\/\/longhornblogs.com\/mikey\/posts\/2431.aspx\">  Many people are calling for the abandonment of 16-bit DOS  and 16-bit Windows compatibility subsystems.  And trust me, when it comes time to pull the plug,  I&#8217;ll be fighting to be the one to throw the lever.  (How&#8217;s that for a mixed metaphor.)\nBut that time is not yet here.\nYou see, folks over in the Setup and Deployment  group have gone and visited companies around the world,  learned how they use Windows in their businesses, and one  thing keeps showing up, as it relates to these compatibility  subsystems:\nCompanies still rely on them. Heavily.\nEvery company has its own collection of  Line of Business (LOB) applications.  These are programs that the company uses for its  day-to-day business,  programs the company simply cannot live without.  For example, at Microsoft two of our critical LOB  applications are our defect tracking system and  our source control system.\nAnd like Microsoft&#8217;s defect tracking system and  source control system,  many of the LOB applications at major corporations  are not commercial-available software;  they are internally-developed software,  tailored to the way that company works,  and treated as trade secrets.  At a financial services company,  the trend analysis and prediction software  is what makes the company different from all its  competitors.\nThe LOB application is the deal-breaker.  If a Windows upgrade breaks a LOB application,  it&#8217;s game over.  No upgrade.  No company is going to lose a program that  <b>is critical to their business<\/b>.\nAnd it happens that a lot of these LOB applications  are 16-bit programs.  Some are DOS.  Some are 16-bit Windows programs written in some  ancient version of Visual Basic.\n&#8220;Well, tell them to port the programs to Win32.&#8221;\nEasier said than done.  <\/p>\n<ul>\n<li>  Why would a company go to all the effort of porting a program  when the current version still works fine.  If it ain&#8217;t broke, don&#8217;t fix it.  <\/li>\n<li>  The port would have to be debugged and field-tested in parallel  with the existing system.  The existing system is probably ten years  old. All its quirks are well-understood.  It survived that time in 1998 when there was a supply chain breakdown  and when production finally got back online,  they had to run at triple capacity for a month to catch up.  The new system hasn&#8217;t been stress-tested.  Who knows whether it will handle these emergencies as well as the  last system.  <\/li>\n<li>  Converting it from a DOS program to a Windows program  would incur massive retraining costs for its employees  (&#8220;I have always used F4 to submit a purchase order.  Now I have this toolbar with a bunch of strange pictures, and  I have to learn what they all mean.&#8221;  Imagine if somebody  took away your current editor and gave you a new one  with different keybindings.  &#8220;But the new one is better.&#8221;)  <\/li>\n<li>  Often the companies don&#8217;t have the source code to the programs  any more, so they couldn&#8217;t port it if they wanted to.  It may use a third-party VB control from a company that has  since gone out of business.  It may use a custom piece of hardware  that they have only 16-bit drivers for.  And even if they did have the source code, the author  of the program may no longer work at the company.  In the case of a missing driver, there may be  nobody at the company  qualified to write a 32-bit Windows driver.  (I know one company that used foot-pedals to control  their software.)  <\/li>\n<\/ul>\n<p>  Perhaps with a big enough carrot, these companies could  be convinced to undertake the effort (and risk!) of porting  (or in the case of lost source code and\/or expertise,  rewriting from scratch)  their LOB applications.\nBut it&#8217;ll have to be a really big carrot.\n  Real example: Just this past weekend I was visiting a friend who  lived in a very nice, professionally-managed apartment complex.  We had occasion to go to the office,  and I caught a glimpse of their computer screen.  The operating system was Windows XP.  And the program they were running to do their apartment management?  It was running in a DOS box.\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many people are calling for the abandonment of 16-bit DOS and 16-bit Windows compatibility subsystems. And trust me, when it comes time to pull the plug, I&#8217;ll be fighting to be the one to throw the lever. (How&#8217;s that for a mixed metaphor.) But that time is not yet here. You see, folks over in [&hellip;]<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[2],"class_list":["post-40453","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-history"],"acf":[],"blog_post_summary":"<p>Many people are calling for the abandonment of 16-bit DOS and 16-bit Windows compatibility subsystems. And trust me, when it comes time to pull the plug, I&#8217;ll be fighting to be the one to throw the lever. (How&#8217;s that for a mixed metaphor.) But that time is not yet here. You see, folks over in [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/40453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=40453"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/40453\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=40453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=40453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=40453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}