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."
I was a really big Next user, and for me OS X seems to be the natural extension of it. But it was amazing to be using Next machines in the early 90's. They were remarkably ahead of their time.
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.
Looking back at my old NeXT (we never lose a chance to brag about having one) makes me wonder what's coming in the next 10 years, and how much of that will arrive from Steve Jobs' hand.
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
consider that tin burns lee when developing the www and the original browser gave up on his old projects and got a next box becasue the development of the UI and software was so easy on it. I wonder what would have have happened hsd he not gotten it :).
On a side note, it is really quite sad the linux developers are not using/updating openstep. The fact that it is nearly completely compatible with OSX's Cocoa is a huge plus. I discovered this while developing software in Cocoa and have often thought about how cool it would be to have a GL based desktop with a slick Openstep ui ( the current one looks like it is stuck in 1993) on linux.. Then I got a Mac
The war with islam is a war on the beast
The war on terror is a war for peace
The game Doom was also developed on NeXT.
Trolling using another account since 2005.
and productive out of the box as NeXTstep (says the guy who still uses a NeXT Cube as his main production machine at home).
- Command= in any app to get a definition in Webster.app rocks
- having all of your man pages, the sysadmin refs, and the works of Will Shakespeare and anything else you wish to add in Digital Librarian ensures one can look up what one needs at will.
- Being able to improve the functionality of _any_ app by installing a Service or an app which provides a Service provides a synergy one doesn't get in Mac OS X where it's hit-or-miss whether or no an app supports Services (Cocoa apps do, Carbon and Java apps have to be specially coded)
- having total control over the screen (you can drag off-screen and hide all but one pixel of the vertical menu, one tile of the Dock)
- The vertical menu makes tear-off sub-menus make sense, which allows effortless customization of one's working environment for a given task w/o inscrutable toolbars
- the pop-up menu means that the menu for the current app is always instantly available --- some commands can even become gestural in one's access to them, e.g., ``Punch'' in Altsys Virtuso, right-button-menu click, down a bit and straight over and release
I could go on, and I have, check my rants on groups.google.com in comp.sys.next/mac.advocacy
I've got a little bit more on my site, http://members.aol.com/willadams look for my nascent gnustep pages, or the NeXT brochure in my portfolio
Or of course, visit http://www.gnustep.org or http://www.stepwise.com for some good programming info
William
Sphinx of black quartz, judge my vow.
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.
and the cases burned really well due to the fact that they were cast magnesium
:-)
Poppycock. The cases were a magnesium alloy. The only way the guy got it to burn was to heat it to several thousand degrees so that the alloy broke down. Not to mention that he had to try it with two different cases, AND use tons of lighter fluid to get one to ignite.
Javascript + Nintendo DSi = DSiCade
The *step development environment is greatly loved by those that use it, and largely ignored by the rest of the world, because they refuse to learn Objective C. Instead, they use Java, which is very much the same idea in a different shape. This is a great pity, because with OpenStep the world could have had it all so much earlier.
Oh, and I wanted to mention that GNUStep is pretty universally percieved to be ugly, but support for theming is being worked on (it already works, but appears very limited).
Please correct me if I got my facts wrong.
Imagine the massive development efforts on KDE and Gnome, including the massive rewrites of their codebases, would instead had gone into GNUstep, so that the GNU/Linux and *BSD desktop would be OS X/Cocao source compatibile today [and companies developing for OS X port their software to Linux basically with one more compiler run]...
gopher://cramer.plaintext.cc http://cramer.plaintext.cc:70
Both good examples, but you missed one. Mac OSX.
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."
Interface builder is not intuitive, it's not even discoverable. Joining objects residing in two separate windows with lines doesn't even make sense from a usability perspective. Even when you eventually figure out how to create classes and join them up to buttons, it is non-obvious how that maps onto actual code. On top of these problems you have to learn a new language just to be able to get your UI to do anything. If the documentation & help system were up to snuff it might shorten the learning curve but they're not - it takes seconds to do a search on MSDN, so why does it takes minutes on OS X?
Thus, the new programmer is faced with an unfamiliar language, an unfamiliar metaphor for UI building, and an unfamiliar framework with bad documentation. I haven't seen such an uncompromising and steep learning curve for a long time. And all that to programme a supposedly user friendly OS.
So yes I do think it is non obvious. In my case it was the first time I actually had to buy a book ("Cocoa Programming for Mac OS X") before I could even figure out what was happening. I haven't seen XCode 2.0 it has to be said, but I sure hope they intend to make it easier to use. Even a few wizards with common design patterns might help somewhat.
why does GNUstep need to have a top devel dir in my home directory ? Why couldn't it be a freaking dot-dir like every other program ?
it seems a bit arrogant to me that something needs its own directory in the root of my home directory.
I don't even use GNUstep, but its always there. It keeps coming back too, after I remove it.
Sunny Dubey
any program worth his shit should have no trouble picking up objective-c (a far simpler and more powerful language than c++). the language barrier really isn't an issue. it's more an issue of mindshare. there are a lot of things that are better in the computing world by design but get largely ignored due to lack of marketing.
- tristan
Most OS X apps use Cocoa & Objective-C for their front-end.
Or Carbon and C/C++.
That's not to say I don't think Objective-C is elegant but I'd still prefer C++
No, you really wouldn't. C++ just doesn't have the dynamic capabilities that Cocoa apps exploit to substantially reduce code. Simple example: given an arbitrary object, determine if it implements a named method. One line of code in ObjC, and this allows Cocoa apps to automatically enable and disable menu items depending on what actions are valid for the current selection.
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
OpenStep was really popular with several large banks for their internal applications.
Good question, but the fact that you don't see a lot of programs made with a particular framework doesn't mean it's not widely used. 80% of all software (just a guess, maybe it's even more) that is written is custom built software for a specific customer or purpose.
Why isn't there a link to the GNUstep website in the writeup? You'd think they could link to the GNUstep website in a story that talks about GNUstep. What's with that?
Seriously, next time there's a story that has GNUstep in the writeup, they should probably link the text "GNUstep" to the GNUstep website, which is (of course) www.GNUstep.org.
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
Read the OpenStep specification. Try a GNUstep Live CD.
Windoze not found: (C)heer, (P)arty or (D)ance