NeXTSTEP is a discontinued
object-oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
,
multitasking operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
based on the
Mach kernel and the
UNIX
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
-derived
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
. It was developed by
NeXT Computer in the late 1980s and early 1990s and was initially used for its range of proprietary
workstation
A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
computers such as the
NeXTcube. It was later ported to several other
computer architectures.
Although relatively unsuccessful at the time, it attracted interest from computer scientists and researchers. It hosted the original development of the
Electronic AppWrapper
The Electronic AppWrapper (EAW) was an early commercial electronic software distribution catalog.
Originally, the AppWrapper was a traditional printed catalog, which later developed into the Electronic AppWrapper, offering electronic distributio ...
,
the first commercial electronic software distribution catalog to collectively manage encryption and provide digital rights for
application software
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
and
digital media
Digital media is any communication media that operate in conjunction with various encoded machine-readable data formats. Digital media can be created, viewed, distributed, modified, listened to, and preserved on a digital electronics device. ' ...
, a forerunner of the modern "
app store" concept. It is the platform on which
Tim Berners-Lee
Sir Timothy John Berners-Lee (born 8 June 1955), also known as TimBL, is an English computer scientist best known as the inventor of the World Wide Web. He is a Professorial Fellow of Computer Science at the University of Oxford and a profess ...
created the first
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
, and on which
id Software developed the video games ''
Doom
Doom is another name for damnation.
Doom may also refer to:
People
* Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed
* Daniel Doom (born 1934), Belgian cyclist
* Debbie Doom (born 1963), American softball pitcher
* L ...
'' and ''
Quake''.
In 1996, NeXT was acquired by
Apple Computer
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
to succeed the
classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The ...
, by merging NeXTSTEP and
OpenStep with Apple's user environment to become Mac OS X, renamed
macOS. This powers all of Apple's platforms, including
iOS.
Overview
NeXTSTEP (also stylized as NeXTstep, NeXTStep, and NEXTSTEP
) is a combination of several parts:
* a
Unix operating system based on the
Mach kernel, plus
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
*
Display PostScript and a proprietary windowing engine
* the
Objective-C language and runtime
* an
object-oriented (OO) application layer, including several "kits"
* development tools for the OO layers.
NeXTSTEP is a preeminent implementation of the last three items. The toolkits are the canonical development system for all of the software on the system.
It introduced the idea of the
Dock
A dock (from Dutch language, Dutch ''dok'') is the area of water between or next to one or a group of human-made structures that are involved in the handling of boats or ships (usually on or near a shore) or such structures themselves. The ex ...
(carried through
OpenStep and into
macOS) and the
Shelf
Shelf ( : shelves) may refer to:
* Shelf (storage), a flat horizontal surface used for display and storage
Geology
* Continental shelf, the extended perimeter of a continent, usually covered by shallow seas
* Ice shelf, a thick platform of ice f ...
. NeXTSTEP originated or innovated a large number of other
GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
concepts which became common in other operating systems: 3D chiseled widgets, large full-color
icons, system-wide drag and drop of a wide range of objects beyond file icons, system-wide piped
services, real-time scrolling and window dragging, properties dialog boxes called "inspectors", and window modification notices (such as the saved status of a file). The system is among the first general-purpose user interfaces to handle publishing color standards, transparency, sophisticated sound and music processing (through a
Motorola 56000 DSP), advanced
graphics primitives
Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great deal ...
, internationalization, and modern
typography, in a consistent manner across all applications.
Additional kits were added to the product line. These include Portable Distributed Objects (PDO), which allow easy
remote invocation, and
Enterprise Objects Framework The Enterprise Objects Framework, or more commonly simply EOF, was introduced by NeXT in 1994 as a pioneering object-relational mapping product for its NeXTSTEP and OpenStep development platforms. EOF abstracts the process of interacting with a re ...
, an
object-relational database system. The kits made the system particularly interesting to custom application programmers, and NeXTSTEP had a long history in the financial programming community.
History
NeXTSTEP was built upon Mach and BSD, initially
4.3BSD-Tahoe The History of the Berkeley Software Distribution begins in the 1970s.
1BSD (PDP-11)
The earliest distributions of Unix from Bell Labs in the 1970s included the source code to the operating system, allowing researchers at universities to modify an ...
. A preview release of NeXTSTEP (version 0.8) was shown with the launch of the
NeXT Computer on October 12, 1988. The first full release, NeXTSTEP 1.0, shipped on September 18, 1989.
It was updated to
4.3BSD-Reno in NeXTSTEP 3.0. The last version, 3.3, was released in early 1995, for the
Motorola 68000 family
The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and w ...
based NeXT computers,
Intel x86,
Sun SPARC, and
HP PA-RISC-based systems.
NeXT separated the underlying operating system from the application frameworks, producing
OpenStep. OpenStep and its applications can run on multiple underlying operating systems, including OPENSTEP,
Windows NT, and
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
. In 1997, it was updated to
4.4BSD The History of the Berkeley Software Distribution begins in the 1970s.
1BSD (PDP-11)
The earliest distributions of Unix from Bell Labs in the 1970s included the source code to the operating system, allowing researchers at universities to modify a ...
while assimilated into Apple's development of
Rhapsody
Rhapsody may refer to:
* A work of epic poetry, or part of one, that is suitable for recitation at one time
** Rhapsode, a classical Greek professional performer of epic poetry
Computer software
* Rhapsody (online music service), an online m ...
for x86 and
Power Macintosh. NeXTSTEP's direct descendants are Apple's
macOS,
iOS,
iPadOS,
watchOS, and
tvOS.
Legacy
The first
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
,
WorldWideWeb, and the first
app store were all invented on the NeXTSTEP platform.
Some features and
keyboard shortcuts now common to web browsers originated in NeXTSTEP conventions. The basic layout options of
HTML 1.0 and 2.0 are attributable to those features of NeXT's Text class.
Lighthouse Design Ltd. developed Diagram!, a drawing tool, originally called BLT (for Box-and-Line Tool) in which objects (boxes) are connected together using "smart links" (lines) to construct diagrams such a
flow charts. This basic design can be enhanced by the simple addition of new links and new documents, located anywhere in the local area network, that foreshadowed Tim Berners-Lee's initial prototype that was written on NeXTStep in October–December 1990.
In the 1990s, the pioneering PC games ''
Doom
Doom is another name for damnation.
Doom may also refer to:
People
* Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed
* Daniel Doom (born 1934), Belgian cyclist
* Debbie Doom (born 1963), American softball pitcher
* L ...
'', ''
Doom II'', ''
Quake'', and their respective level editors were
developed by
id Software on NeXT machines. Other games based on the
''Doom'' engine such as ''
Heretic
Heresy is any belief or theory that is strongly at variance with established beliefs or customs, in particular the accepted beliefs of a church or religious organization. The term is usually used in reference to violations of important religi ...
'' and its sequel ''
Hexen
Hexen can refer to:
* ''N''-Ethylhexedrone, a stimulant drug
* '' Hexen: Beyond Heretic'', a 1995 dark fantasy video game by id Software and Raven Software
* ''Hexen II'', a 1997 video game and sequel to the first Hexen.
* Hexen, a thrash metal b ...
'' by
Raven Software, and ''
Strife
Strife may refer to:
Mythology
*Eris (mythology), in Greek mythology the goddess of discord, whose name means 'strife'
*Bellona (goddess), Roman counterpart of Eris, and a war goddess
*Enyalius, a son of Eris and god of strife
* Tano Akora, god of ...
'' by
Rogue Entertainment
Rogue Entertainment was an American computer game developer based in Dallas, Texas, which was active in the late 1990s. It was founded by Rich Fleider, Steve Maines, and Jim Molinets in 1994. Rogue Entertainment's office was in the same buildin ...
were developed on NeXT hardware using id's tools.
Altsys made the NeXTSTEP application Virtuoso, version 2 of which was ported to Mac OS and Windows to become
Macromedia FreeHand
Adobe FreeHand (formerly Macromedia FreeHand and Aldus FreeHand) was a Application software, computer application for creating two-dimensional vector graphics oriented primarily to professional illustration, desktop publishing and content creation ...
version 4. The modern "Notebook" interface for
Mathematica
Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
, and the advanced spreadsheet
Lotus Improv, were developed using NeXTSTEP. The software that controlled
MCI's Friends and Family calling plan program was developed using NeXTSTEP.
About the time of the release of NeXTSTEP 3.2, NeXT partnered with
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
to develop
OpenStep. It is the product of an effort to separate the underlying operating system from the higher-level object libraries to create a cross-platform object-oriented API standard derived from NeXTSTEP.
OpenStep is hosted on multiple underlying operating systems, including NeXT's own OPENSTEP. It was released for Sun's
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
,
Windows NT, and NeXT's version of the
Mach kernel. NeXT's implementation is called "OPENSTEP for Mach" and its first release (4.0) superseded NeXTSTEP 3.3 on NeXT, Sun, and Intel
IA-32 systems.
Following an announcement on December 20, 1996,
Apple Computer
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
acquired NeXT on February 4, 1997, for $429 million. Based upon the "
OPENSTEP for Mach" operating system, and developing the OPENSTEP API to become
Cocoa
Cocoa may refer to:
Chocolate
* Chocolate
* ''Theobroma cacao'', the cocoa tree
* Cocoa bean, seed of ''Theobroma cacao''
* Chocolate liquor, or cocoa liquor, pure, liquid chocolate extracted from the cocoa bean, including both cocoa butter and ...
, Apple created the basis of
Mac OS X,
and eventually of
iOS,
iPadOS,
watchOS, and
tvOS.
GNUstep is a
free software implementation of the OpenStep standard.
Release history
Versions up to 4.1 are general releases. OPENSTEP 4.2 pre-release 2 is a bug-fix release published by Apple and supported for five years after its September 1997 release.
See also
*
OpenStep, the
object-oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
application programming interface
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
derived from NeXTSTEP
*
GNUstep, an open-source implementation of
Cocoa API
Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.
Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by the Cocoa.h header file, and ...
respectively OpenStep API
*
Window Maker, a
window manager designed to emulate the NeXT GUI for the
X Window System
*
Bundle (macOS)
In NeXTSTEP, OPENSTEP, GNUstep, and their lineal descendants macOS and iOS, a bundle is a file directory with a defined structure and file extension, allowing related files to be grouped together as a conceptually single item.
Examples of bundles ...
*
Miller Columns, the method of directory browsing that NeXTSTEP's File Viewer used
*
Multi-architecture binary
A fat binary (or multiarchitecture binary) is a computer executable program or library (computing), library which has been expanded (or "fattened") with code native to multiple instruction sets which can consequently be run on multiple processor ...
*
NeXT character set The NeXT character set (often aliased as NeXTSTEP encoding vector, WE8NEXTSTEP or next-multinational) was used by the NeXTSTEP and OPENSTEP operating systems on NeXT workstations beginning in 1988. It is based on Adobe Systems' PostScript (PS) cha ...
*
Previous, an emulator for NeXT hardware capable of running some versions of NeXTSTEP
References
External links
*
NeXTComputers.org*
The Next StepBYTE Magazine 14-03, Object Oriented Programming with NextStep
{{DEFAULTSORT:Nextstep
1989 software
Berkeley Software Distribution
Discontinued operating systems
Mach (kernel)
NeXT
Object-oriented operating systems
Unix variants
Window-based operating systems