21st Century Smalltalk

October 19, 2006

Punctuated Equilibrium in PC Software

Filed under: General — pfisk @ 8:49 pm

The IBM PC came out a little more than 25 years ago.

Since its release, there have been three major operating systems for the PC:
– DOS
– Windows 16-bit
– Windows 32-bit

DOS was a very simple OS modelled after CP/M-86, and with a few modifications (extended memory, nested directories, etc) was the major PC operating system for over a decade (1981-1991 approx.).

The Windows 16-bit project was started around 1985. The first two releases (1.0 and 2.0) were extremely unstable and sold poorly. Windows 3.0 (1990) had a better interface with more functionality and, if memory serves, was installed on more than 10 million machines by 1991. Windows 3.1 (1992) had improved stability and probably represents the point at which there were more Windows users than DOS users. So I count Windows 16-bit as being the dominant OS from about 1992 to early 1995.

The first release of a Windows 32-bit OS was Windows 95 (1995) and since then there have been Windows NT, Windows 98, Windows ME, Windows 2000, and Windows XP, all of which are based on the core MFC (Microsoft Foundation Classes) technology first introduced in 1995. Variants of Windows 32-bit have been the dominant PC OS from summer 1995 to the present.

The title of this blog relates to the observation that PC software seems to evolve in jumps – there is a major technology shift, a period of chaos, and then relative stability for a number of years.

We have gone through two of these “jumps” to date – DOS to Windows 16-bit and Windows 16-bit to 32-bit.

The hardest of the two was the first. Programming in DOS did nothing to prepare me for programming in Windows. I remember struggling through a 1000+ page Charles Petzold book trying to understand the Windows event model. And the 16-bit “mixed” memory model with its “near” and “far” pointers didn’t help at all.

When Windows replaced DOS,  there were a number of casualties amongst software vendors. Ashton-Tate (dBase II, dBase III) went bankrupt; WordPerfect barely survived and was eventually bought by Corel; Lotus survived by being taken over by IBM. The big winner (suprise!) was Microsoft with its Access DB (against dBase III), its Word (against WordPerfect), and Excel (against Lotus 123). Microsoft was ready for the change.

A company which did survive the transition was Digitalk which did an absolutely brilliant job of porting Smalltalk/V to Windows. After writing Windows applications in C, the experience of using Digitalk Smalltalk (1.0 and 2.0) was a total liberation. Forget about the mixed-mode pointers; make a window? – no problem! And I wasn’t the only one to feel that way. By the end of 1994, there was a thriving community of Digitalk developers.

Unfortunately, Digitalk never enjoyed the same success with their 32-bit offerings.

The change from Windows 3.1 to Windows 95 was easier for developers than the previous change. By that time, both users and developers understood the Windows model and the move from 16-bit to 32-bit basically made life easier. What surprised me at the time was how quickly the changeover occurred.

Whereas Digitalk didn’t survive the transition, other companies (Dolphin, Smalltalk/MT) emerged to fill the need and the improved graphics capabilities of Windows 95 set the stage for entirely new products like CorelDraw and PhotoShop.

We are about to go through another major PC technology change. This time there is the added dimension of the Internet with widespread use of applications that are based on server software as well as PC software. Maybe this will slow down the adoption of new client technology. Maybe the use of Internet deployment will speed up the adoption of new client technology. I don’t know the answer.

One thing I will bet on though – Microsoft will survive and prosper.

5 Comments »

  1. Correction: Visual Smalltalk was not only 32 bit, but it was Windows/95 logo certified.

    See:

    http://www.cincomsmalltalk.com/blog/blogView?showComments=true&entry=3338733100

    and:

    http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=vse

    Comment by James Robertson — October 19, 2006 @ 9:53 pm

  2. Thanks for the information.

    I have modified the post accordingly.

    Comment by pfisk — October 20, 2006 @ 1:19 am

  3. Didn’t you mean to say that the Windows 16-bit project got started around 1985?

    Comment by Carl Gundel — October 20, 2006 @ 6:48 pm

  4. Of course it was 1985.

    Thanks

    Comment by pfisk — October 20, 2006 @ 7:06 pm

  5. What happens when I poke this? ,

    Comment by Daddy54 — October 22, 2009 @ 11:16 pm


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.