David Korn received his undergraduate degree in mathematics from Rensselaer Polytechnic Institute in 1965 and his Ph.D. in applied mathematics from NYU's Courant Institute of Mathematical Sciences in 1969. After working on computer simulations of transsonic airfoils, he switched fields to computer science and became a member of technical staff at Bell Laboratories in 1976. He developed Korn shell in response to problems he and his colleagues had with the most commonly used shells at the time, Bourne shell and C shell. The Korn shell pioneered the practice of consultative user interface design, with input from Unix shell users, and from mathematical and cognitive psychologists. The user interface, which included a choice of editing styles (the choices included styles based on vi and on two variants of Emacs) was incorporated into, or copied by, most subsequent Unix shells. The Korn shell is backward-compatible with Bourne shell, but takes a lot of ideas from C shell, such as history viewing and vi-like command line editing.
Microsoft once included a version of the Korn shell produced by Mortice Kern Systems (MKS) in a UNIX integration package for Windows NT.[discuss] This version was not compatible with ksh88 (a Korn shell specification), and Korn mentioned this during a question and answer period of a Microsoft presentation during a USENIX NT conference in Seattle in 1998. Greg Sullivan, a Microsoft product manager who was participating in the presentation, not knowing who the commenter was, insisted that Microsoft had indeed chosen a "real" Korn shell. A polite debate ensued, with Sullivan continuing to insist that the man giving the criticisms was mistaken about the compatibility issues. Sullivan only backed down when an audience member stood up and mentioned that the man making the comments was none other than the eponymous David Korn.[dead link]