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.
I've been around computers a long time and i've never heard of it. What major application can anyone mention that has been developed on it? A 10th anniversary of something that barely anyone has ever used (in the big scheme of things) is really not any great thing to celebrate... I like the idea of it, but i'm not sure it's as wonderful of a hit as this news article is trying to make it seem.... Or am i off the mark here?
Why is it ugly?
What's wrong with programming with a standard?
Doesn't it make sense to write once - compile anywhere?
...yup...
Kudos to Jean-Marie Hullot, who contributed to this by designing "Interface Builder" !
Trolling using another account since 2005.
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.
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
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
After GNUstep was finally installed, it took a few trips to Google to figure out how to actually compile a program. It turns out that GCC for OS X has some options that are not present on Linux, such as (IIRC) -framework. The other problem had something to do with having to add code to enable garbage collection.
The final annoyance I encountered, before moving on to other projects, was the lack of autoconf support for Objective C. Again, it's not their fault, but ObjC/*Step feels like a second-class development environment on Linux.
With leading-edge games like Doom3? You're right.
With device drivers? You're right again.
However, some class of applications can be written once and run anywhere. I've written enterprise apps on Linux that just ran fine the first time they were tried on Windows, Solaris, etc.
Technologies like Java, Python and Ruby make it real. And I'd bet that in the not-too-distant future, games for mobile devices will be "write once run anywhere". J2ME is a good stab at it, but I don't think it's quite there yet.
Just shy of 8 years ago I was involved in a startup that was taking an insurance company paperless. Some developers who had been using NeXT since the first beta release of the black cube were there and decided to run a test of development environments. One was NeXTSTEP and the other was PARCPlace's Smalltalk environment. The test involved the same set of forms presented as paper to the developers, whose job it was to make those forms into computer applications updating a database. One developer useed PARCPlace's Smalltalk environment. The other used NeXTSTEP. PARCPlace's environment beat NeXTSTEP by better than a factor of 2.
Seastead this.
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
GNUStep's version of the Foundation Kit (basic non-GUI classes) works great on Windows. I've used it to port MacOS X code with much success.
GNUStep's version of the Application Kit (GUI classes) is still pretty much unusable on Windows. Even if it were usuable, it's insistence on being a holistic "environment" with various services running, rather than just an API, is annoying.
No, it's not language agnostic. You'll need to use objective-c, or some other langauge like python that can bridge to objective-c easily.
-Helpful AC
I will admit that very recently, some of the GNUStep stuff was stuff that only a mother could love.
However, in the past few months, the interface has come a long way, and things look much better now. No, it doesn't have the eye-candy of Gnome, KDE, or OSX, but it's not really ugly anymore.
FWIW, the real thing, NeXTStep looks very nice on my low-res monochrome NeXT monitor, in much the same way old MacOS looks okay on an old Mac.
WindowMaker, the WM most people use for GNUStep is kind of in need of help, too. There have been a couple of GNUStep/Cocoa WM projects, but nothing's ever really gotten off the ground.
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."
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
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.
Pay attention junior. When OpenStep was released in it's first PRODUCTION version, having evolved from several years of NeXTStep development, Qt was just a gleam in the eye of Trolltech, who was just incorporating with a vision of building something like this.
The website hasn't been updated since February, I've gotten no CVS updates since July, there's been no official releases since 0.80.2, there's no working mailing list archives on the site, and my emails go unanswered.
I'm seriously interested in knowing. I'm a big Windowmaker fan, but I'm worried about its' apparent lack of development. Does anyone, anyone at all, know what the heck is going on?
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.
Port of webster.app:
a ry/
http://www.omnigroup.com/applications/omnidiction
Unfortunately, GNUStep is still a bit immature despite being around for many years. The reason there aren't commercial apps isn't because OpenStep isn't great/easy-to-use. It's more likely because the free OpenStep-like environment isn't stable/mature. QT and GTK are stable and mature but you don't see a plethora of non-niche commercial apps for those either.
If it is so easy to port, then why don't I see Photoshop for Red Hat Linux? This is a big market.Photoshop, I believe, is still mostly Carbon, not Cocoa. And, Photoshop on Linux is not a big market. If it were, there would be a QT or GTK Photoshop.
Anything serious use of Objective-C appears to be confined to the Mac platform.OpenStep has been popular in niche areas like banking and scientific apps. Swarm is developed mainly in cross-platform Obj-C. GNU gcc is still relatively behind in Obj-C support but I think Apple is helping to change that.
And without a lot of RAM.
After nearly 20 years of "progress" we need at least a 400mhz processor, with 256mb of RAM to equal it.
Why?
The big problem with the classic NeXT look is the menus. Whether they're in the corner in classic NeXTstep, or hovering next to the active window in GNUstep, they're just plain inconvenient and obtrusive.
Windows-style title bars work better. Apple's "all menus at the top of the screen" are OK, if you have good and consistent context menus (unfortunately Apple doesn't). But the big grey box is obtrusive and needs to change. It shouldn't be too hard... they could be made as configurable as you want without changing the API... but they've been enough to make me shy away from GNUstep apps.
The best alternative, I think, might be to attach them to the title bar of the active window, but in a horizontal menu-bar layout.
After nearly 20 years of "progress" we need at least a 400mhz processor, with 256mb of RAM to equal it. Why?
High quality rendering and automatic double-buffering. Every window requires megabytes of backing store, and antialiasing slows down the rendering.
Read the OpenStep specification. Try a GNUstep Live CD.
Windoze not found: (C)heer, (P)arty or (D)ance
Although I use Mac at home, I work for a bunch of microsofties. There is so little out there on runing OpenStep Obj-C code on Win32. I'd love to see these frameworks and particuarily ObjC get more usage.
I've been avoiding any c'ish programming on win32 since I generally don't like C++ and hate using M$ frameworks. Anybody know of and REAL projects to bring ObjC to win32?
JsD
[Use Firefox or Die]
One way to check GNUStep out is by downloading and booting the GNUStep Live CD
Did no one think of this yet?
Very true...
It is interesting to note that the new GNUstep Live CD was announced on GNUstep Core News in June:
This is a very interesting project, though of course not as popular as Knoppix.
Imagine the efforts on Knoppix would instead had gone into GNUstep Live CD... Imagine the development efforts on Linux would instead had gone into The Hurd... Just imagine... The entire computing world as we know it would be completely different. But what do we expect? People have no idea that GNU even exists, let alone the kernel development! Just few days ago Slashdot posted a story about the Seattle Times interview with Linus Torvalds with this opening paragraph: "Linus Torvalds [pronounced LEE-nus] started a revolution of sorts in the computer industry when he created the Linux operating system and decided to share it with fellow programmer
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."