David Korn (computer scientist)

Last updated
David Korn
Born (1943-08-28) August 28, 1943 (age 80)
OccupationComputer programmer

David Gerard Korn (August 28, 1943 [1] ) is an American UNIX programmer and the author of the Korn shell (ksh), a command line interface/programming language.

Contents

Education and work

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 and developing the Korn airfoil, [2] 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.[ citation needed ] 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.

Korn shell and Microsoft

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. [3] [4]

Other software projects

Along with Korn shell, he is also known as the creator of UWIN, [5] an X/Open library for Win32 systems, similar to the later Cygwin. Korn and Kiem-Phong Vo also co-developed sfio, [6] a library for managing I/O streams.

Korn became a Bell Labs fellow in 1984.[ citation needed ] He currently lives in New York City, and until 2013 worked for AT&T Labs Research in Florham Park, New Jersey, [7] and he retired from Google in early February 2018. [8] [9]

Family

His parents were Florence [10] and Nathaniel Korn. The Korn family moved to Monroe in 1947 where they raised five children.

In 1967 he married Susan Lyn Weiner. [11]

David Korn's son Adam used to work at Goldman Sachs. [12] [13]

Related Research Articles

<span class="mw-page-title-main">Cygwin</span> Unix-like environment for Windows

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows.

<span class="mw-page-title-main">KornShell</span> Bourne shell backward compatible Unix shell created by David Korn

KornShell (ksh) is a Unix shell which was developed by David Korn at Bell Labs in the early 1980s and announced at USENIX on July 14, 1983. The initial development was based on Bourne shell source code. Other early contributors were Bell Labs developers Mike Veach and Pat Sullivan, who wrote the Emacs and vi-style line editing modes' code, respectively. KornShell is backward-compatible with the Bourne shell and includes many features of the C shell, inspired by the requests of Bell Labs users.

The Portable Operating System Interface is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system and user-level application programming interfaces (APIs), along with command line shells and utility interfaces, for software compatibility (portability) with variants of Unix and other operating systems. POSIX is also a trademark of the IEEE. POSIX is intended to be used by both application and system developers.

<span class="mw-page-title-main">Shell script</span> Script written for the shell, or command line interpreter, of an operating system

A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manipulation, program execution, and printing text. A script which sets up the environment, runs the program, and does any necessary cleanup or logging, is called a wrapper.

<span class="mw-page-title-main">Unix shell</span> Command-line interpreter for Unix operating system

A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts.

<span class="mw-page-title-main">Bourne shell</span> Command-line interpreter for operating systems

The Bourne shell (sh) is a shell command-line interpreter for computer operating systems.

In computer software, an operating environment or integrated applications environment is the environment in which users run application software. The environment consists of a user interface provided by an applications manager and usually an application programming interface (API) to the applications manager.

The C programming language provides many standard library functions for file input and output. These functions make up the bulk of the C standard library header <stdio.h>. The functionality descends from a "portable I/O package" written by Mike Lesk at Bell Labs in the early 1970s, and officially became part of the Unix operating system in Version 7.

Presentation Manager (PM) is the graphical user interface (GUI) that IBM and Microsoft introduced in version 1.1 of their operating system OS/2 in late 1988.

<span class="mw-page-title-main">Virtual file system</span> Abstract layer on top of a more concrete file system

A virtual file system (VFS) or virtual filesystem switch is an abstract layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS can, for example, be used to access local and network storage devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing.

cmd.exe Command prompt program

Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows, and ReactOS operating systems. On Windows CE .NET 4.2, Windows CE 5.0 and Windows Embedded CE 6.0 it is referred to as the Command Processor Shell. Its implementations differ between operating systems, but the behavior and basic set of commands are consistent. cmd.exe is the counterpart of COMMAND.COM in DOS and Windows 9x systems, and analogous to the Unix shells used on Unix-like systems. The initial version of cmd.exe for Windows NT was developed by Therese Stowell. Windows CE 2.11 was the first embedded Windows release to support a console and a Windows CE version of cmd.exe. The ReactOS implementation of cmd.exe is derived from FreeCOM, the FreeDOS command line interpreter.

Interix was an optional, POSIX-conformant Unix subsystem for Windows NT operating systems. Interix was a component of Windows Services for UNIX, and a superset of the Microsoft POSIX subsystem. Like the POSIX subsystem, Interix was an environment subsystem for the NT kernel. It included numerous open source utility software programs and libraries. Interix was originally developed and sold as OpenNT until purchased by Microsoft in 1999.

<span class="mw-page-title-main">Shell (computing)</span> Computer program that exposes an operating systems services to a human user or other programs

In computing, a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system.

MKS Toolkit is a software package produced and maintained by PTC that provides a Unix-like environment for scripting, connectivity and porting Unix and Linux software to Microsoft Windows. It was originally created for MS-DOS, and OS/2 versions were released up to version 4.4. Several editions of each version, such as MKS Toolkit for developers, power users, enterprise developers and interoperability are available, with the enterprise developer edition being the most complete.

UWIN is a computer software package created by David Korn which allows programs written for the operating system Unix to be built and run on Microsoft Windows with few, if any, changes. Some of the software development was subcontracted to Wipro, India. References, correct or not, to the software as U/Win and AT&T Unix for Windows can be found in some cases, especially from the early days of its existence.

type (Unix)

In Unix and Unix-like operating systems, type is a command that describes how its arguments would be interpreted if used as command names.

<span class="mw-page-title-main">Microsoft POSIX subsystem</span> Subsystem shipped with the first versions of Windows NT

Microsoft POSIX subsystem is one of four subsystems shipped with the first versions of Windows NT, the other three being the Win32 subsystem which provided the primary API for Windows NT, plus the OS/2 and security subsystems.

<span class="mw-page-title-main">Unix-like</span> Operating system that behaves similarly to Unix, e.g. Linux

A Unix-like operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. Although there are general philosophies for Unix design, there is no technical standard defining the term, and opinions can differ about the degree to which a particular operating system or application is Unix-like.

<span class="mw-page-title-main">Command-line interface</span> Computer interface that uses text

A command-line interface (CLI) is a means of interacting with a computer program by inputting lines of text called command-lines. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternative to the non-interactive interface available with punched cards.

References

  1. "NASA Notice for Handling Proposals: Numerical Design of Transonic Shockless Airfoils" (PDF). Langley Research Center. Cultural Resources Geographical Information Systems. NASA. October 1969.
  2. http://aero-comlab.stanford.edu/Papers/Garabedian.pdf [ bare URL PDF ]
  3. "David Korn Tells All": Interview with David Korn on Slashdot, February 7, 2001
  4. A person's take on the David Korn encounter, via Internet Archive.
  5. David G. Korn, "UWIN—UNIX for Windows", Conference: Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
  6. Korn, David G. and Kiem-Phong Vo. “SFIO: Safe/Fast String/File IO.” USENIX (1991).
  7. Fowler, Glenn (1 October 2013). "[ast-users] dgk & gsf status". lists.research.att.com. Archived from the original on 30 November 2015. Retrieved 27 November 2014.
  8. "Dgkorn - Overview". GitHub .
  9. "David Korn". LinkedIn .
  10. "Archived copy". www.legacy.com. Archived from the original on 11 March 2022. Retrieved 14 March 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  11. "David Gerard Korn".
  12. Hoffman, Liz; Demos, Telis (18 August 2018). "Wall Street Erases the Line Between Its Jocks and Nerds". Wall Street Journal. Wall Street Journal. Retrieved 20 August 2018.
  13. Hoffman, Liz (4 February 2020). "King of Goldman's 'Straders' to Leave Firm". Wall Street Journal. Wall Street Journal.