10 Years of OpenStep
tarzeau writes "Today, the OpenStep API celebrates its 10th anniversary. What started out as a joint adventure of NeXT and SUN to define an application development standard that would run on all machines, making 'write once, compile everywhere' a reality, is still unfolding within the vivid and active community of GNUstep, old NeXT and Apple lovers.
The magic 10 appears in GNUstep's current 1.10.x release and in Apple's Mac OS X 'Cocoa' release. Programmers worldwide can develop their programs on Mac OS, Linux, the BSDs, Solaris, and with a couple of hurdles -- even on Windows. This solid and well-defined standard is reaching out to the world of software development, slowly but surely.
Program your applications in days or weeks, rather than years or never. Use the advanced API of a development framework that hasn't needed significant modification for 10 years, because it rocks, is stable and just works."
The first web browser was developed with NeXT and Openstep...
Jisho - A Japanese English German Russian French Dictionary for the rest of us.
Kudos to Jean-Marie Hullot, who contributed to this by designing "Interface Builder" !
Trolling using another account since 2005.
What about the first web browser for a start?
The first wholescale industrial use of OOP practices?
etc. Do some googling.
This sig has been deprecated.
The NeXTStep (a.k.a. OpenStep) API was developed as part of the NeXTOS that ran on NeXT workstations during the 90's. Several deals were made with other Unix vendors (including Sun) for them to support the "OpenStep" standard.
NeXT was bought off by Apple, and was developed into Mac OS X. The OS X Cocoa API is really nothing more than the NeXTStep API set, and is almost 100% source compatible with programs from the old NeXT machines.
More Information
Javascript + Nintendo DSi = DSiCade
The game Doom was also developed on NeXT.
Trolling using another account since 2005.
Other links, Objective-C and Apple Cocoa
WorldWideWeb.app and Doom have already been mentioned --- lengthy discussion of the former in the book _Weaving the Web_ by Sir Tim Berners-Lee, check the source for Doom.app and John Carmack's blog to learn how he feels about NeXTstep.
Other things:
- Altsys Virtuoso (this became Macromedia FreeHand)
- Lotus Improv (which lives on as Quantrix or Flexisheet)
- MusicKit
- MiscKit
- Pages by Pages
- TouchType.app
Other more recent developments:
- Cenon - http://www.cenon.info
- GNUmail
- ProjectCenter
- GORM
William
Sphinx of black quartz, judge my vow.
Apparently.
In the future, when you so desperately want to learn about something, you can use Wikipædia, a free on-line encyclopædia:
OpenStep is an open object-oriented API specification for an object-oriented operating system that uses any modern operating system as its core, principly developed by NeXT. It is important to recognize that while OpenStep is an API specification, OPENSTEP (all capitalized) is a specific implementation of this OpenStep developed by NeXT. While originally built on a Mach-based Unix (such as the core of NeXTSTEP), versions of OPENSTEP were available for Solaris and Windows NT as well. Furthermore the OPENSTEP libraries (the libraries that shipped with the OPENSTEP operating system) are in fact a superset of the original OpenStep specification. The OpenStep API was created as the result of a 1993 collaboration between NeXT Computer and Sun Microsystems, allowing this cut-down version of NeXT's NeXTSTEP operating system object layers to be run on Sun's Solaris operating system (more specifically, Solaris on SPARC-based hardware). Most of the OpenStep effort was to strip away those portions of NeXTSTEP that depended on Mach or NeXT-specific hardware being present. This resulted in a smaller system that consisted primarily of Display PostScript, the Objective-C runtime and compilers, and the majority of the NeXTSTEP Objective-C libraries. Not included was the basic operating system, or the display system. The first draft of the API was published by NeXT in summer 1994. Later that year they released an OpenStep compliant version of their flagship operating system NeXTSTEP running on several of their supported platforms and rebranded it OPENSTEP. OPENSTEP remained NeXT's primary operating system product until they were purchased by Apple Computer in 1997. OPENSTEP was then combined with technologies from the existing Mac OS to produce Mac OS X. Sun never seemed terribly interested in the product, likely a result of the NIH syndrome. In fact it's somewhat unclear why they were ever interested, although it appears it was an attempt to "get in" on the object-oriented operating system market before Microsoft released its plans for the object-oriented Cairo OS (which never happened). Nevertheless they started their port to Solaris some time in 1994, and released it in 1996. When Sun started work on Java just after this point, Solaris OpenStep was never seen again.
NeXTSTEP is the original object-oriented, multitasking operating system that NeXT Computer, Inc. developed to run on its proprietary NeXT computers (informally known as "black boxes"). NeXTSTEP 1.0 was released on 18 September 1989 after several previews starting in 1986, and the last release 3.3 in early 1995, by which time it ran not only on Motorola 68000 series processors (specifically the original black boxes), but also generic IBM compatible x86/Intel, Sun SPARC, and HP PA-RISC). About the time of the 3.2 release NeXT teamed up with Sun Microsystems to develop OpenStep, a cross-platform standard and implementation (for Sun Solaris, Microsoft Windows, and NeXT's version of the Mach kernel) based on NEXTSTEP 3.2. The format of the name had many camel case variants, initially being NextStep, then NeXTstep, then NeXTSTEP, and became NEXTSTEP (all
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
You could want to install/use Backbone or Garma, which are GNUstep-based Desktops...
Read the OpenStep specification. Try a GNUstep Live CD.
Windoze not found: (C)heer, (P)arty or (D)ance
NeXT wasn't modeled on Smalltalk. I was there for years and no one talked about Smalltalk. Maybe you mean that Objective-C was modeled on Smalltalk, which was true, but no one was thinking, "Let's make a better version of Smalltalk"; it wasn't even on the radar.
The beauty of Objective-C was that it was just enough OO. In practice, you could make your code as efficient as C and you could have full control over your (small) memory footprint, and we made great use of inheritance, reuse, polymorphism, and late binding and linking, but it was lightweight enough that a full system ran well in 32 megs of RAM, and for everything I did, you wouldn't even be swapping if you had 48 megs for the entire system. We even had Objective-C in the kernel so you could subclass drivers. I like the syntax of Java, but it's a bloated pig by comparison and I would never use it on a server that I expected to scale, while I wouldn't hesitate to use Obj-C in this manner.
Smalltalk may have been a more pure OO environment or better for rapid turnaround development, but no one has used it for the kinds of applications or system that NeXTstep excelled at 15 years ago (or OSX does of late).
Hm..I thinkg you misunderstand how things are related in fact.. under X-Window, you need a special program, in charge of the window management (ie, to move them, etc.). It's called.. a window manager. WindowMaker is a X11 window manager.
Then you have X11 programs, that are in charge of their window's content. As programming directly using XLib is not fun, there is a lot of X11 "toolkits". Qt and Gtk are examples of toolkits.
GNUstep is an implementation of the OpenStep API. Basically, it's a programming library, a toolkit like Qt and Gtk if you want -- not only for graphic apps, but also for non-graphic apps. In fact, the OpenStep API is divided in two frameworks: Foundation (which deals with non-graphical things such as threads, files, unicode strings, etc.) and AppKit (which provides all the nifty widgets and how you use them). But, additionally to that, GNUstep *also* provides development applications: Gorm, a graphical interface builder, and ProjectBuilder, an IDE.
Actually, GNUstep runs mainly on X11, but the way it is architectured, it's not that complex to use other drawing display. For example, there is 3 backends for X11 -- one using xlib, the other using libart, and the third using Cairo. And there is a backend for Windows GDI. So in fact, it's not tied at all to a X11, and the notion of an independant window manager is specific to X11 (actually, GNUstep apps don't really need a window manager even under X11 -- they can manage themselves..).
But, if you're under X11, chances are that you want to run other programs alongside GNUstep programs -- KDE/GNOME programs for example. You then *need* a window manager. WindowMaker is the "default" window manager recommanded by the GNUstep project, mainly because its look and feel match the GNUstep look and feel. But you can use others window manager.
And WindowMaker itself doesn't use GNUstep.
Not sure if I understood well your questions, I tried to explain how things are related, hopefully more clearly.