Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
GNU is Not Unix Programming Technology

10 Years of OpenStep 338

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."
This discussion has been archived. No new comments can be posted.

10 Years of OpenStep

Comments Filter:
  • by CoolMoDee ( 683437 ) on Tuesday October 19, 2004 @09:46AM (#10564403) Homepage Journal
    The first web browser was developed with NeXT and Openstep...
  • by mirko ( 198274 ) on Tuesday October 19, 2004 @09:47AM (#10564418) Journal
    Kudos to Jean-Marie Hullot [c2.com], who contributed to this by designing "Interface Builder [c2.com]" !
  • by Nexum ( 516661 ) on Tuesday October 19, 2004 @09:47AM (#10564420)
    What about the first web browser for a start?

    The first wholescale industrial use of OOP practices?

    etc. Do some googling.
  • 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 [wikipedia.org]
  • by mirko ( 198274 ) on Tuesday October 19, 2004 @09:49AM (#10564439) Journal
    The game Doom was also developed on NeXT.
  • by Anonymous Coward on Tuesday October 19, 2004 @09:51AM (#10564451)
    > What major application can anyone mention that has been developed on it?

    Doom.

    Mathematica.

    The first web browser.

    And a shitload of others.
  • by roard ( 661272 ) on Tuesday October 19, 2004 @09:53AM (#10564476) Homepage
    Some GNUstep links:

    Other links, Objective-C [toodarkpark.org] and Apple Cocoa [apple.com]
  • by WillAdams ( 45638 ) on Tuesday October 19, 2004 @09:56AM (#10564498) Homepage
    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

  • by Anonymous Coward on Tuesday October 19, 2004 @10:06AM (#10564585)
    Java is Objective-C for the masses ... the good things of Java are taken from Objective-C / OpenStep. The bad things ... well they were added separately, or taken from C++.

    It's a fact that the Java designers had Objective-C in mind. Many of them came straight from Objective-C.
  • by xynopsis ( 224788 ) on Tuesday October 19, 2004 @10:16AM (#10564671)
    an application development standard that would run on all machines, making 'write once, compile everywhere' a reality, is still unfolding...

    Qt does this already and is much more powerful, robust, mature and well tested. Not to mention a feature-rich native C++ API that not only includes GUI functionality but useful tools (sockets, threads, containers, xml, and more) that nearly rivals those found in the standard Java libraries. I don't work for Trolltech and this is not an endorsement of their product, but writing multi-platform apps in Qt is really fun! I wonder how OpenStep stacks up to Qt. Moreoever, most developers are arguably more familiar with C++ than with Objective C.

  • Re:Sounds great!! (Score:2, Informative)

    by Anonymous Coward on Tuesday October 19, 2004 @10:19AM (#10564703)
    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
  • by Pan T. Hose ( 707794 ) on Tuesday October 19, 2004 @10:25AM (#10564784) Homepage Journal

    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?

    Apparently.

    In the future, when you so desperately want to learn about something, you can use Wikipædia [wikipedia.org], a free on-line encyclopædia:

    OpenStep [wikipedia.org] 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 [wikipedia.org] 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

  • by Anonymous Coward on Tuesday October 19, 2004 @10:33AM (#10564860)
    I got tired of Safari on Apple, I checked my alternatives.

    Opera: Excellent code but kinda "non native" on os x

    Mozilla: Not native by any means

    So I tried Omnigroups Omniweb (www.omnigroup.com), what made me amazed is its perfect integration with system, real modern approach to UI.

    No wonder they turned out to be a NeXT development company themselves.

  • Re:Next (Score:3, Informative)

    by sgant ( 178166 ) on Tuesday October 19, 2004 @10:52AM (#10565085) Homepage Journal
    GNUstep isn't a windowing environment...it's a development environment. Windowmaker is the windowing environment that looks like NeXTStep.

    Right on www.gnustep.org it states:

    GNUstep itself is not an operating system, window manager or desktop environment, though there are several desktop environments in development that are based on it.

    just some info.
  • by akeep ( 62690 ) on Tuesday October 19, 2004 @11:07AM (#10565288) Homepage
    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.
  • Re:Next (Score:4, Informative)

    by roard ( 661272 ) on Tuesday October 19, 2004 @11:48AM (#10565870) Homepage
    You could want to install/use Backbone [nongnu.org] or Garma [gna.org], which are GNUstep-based Desktops...
  • A couple more links (Score:3, Informative)

    by tarzeau ( 322206 ) <gurkan@aiei.ch> on Tuesday October 19, 2004 @12:50PM (#10566656) Homepage
    Read the OpenStep specification [gnustep.org]. Try a GNUstep Live CD [linuks.mine.nu].
  • Re:portability (Score:3, Informative)

    by roard ( 661272 ) on Tuesday October 19, 2004 @01:36PM (#10567149) Homepage

    Actually, the "import" versus "include + ifdefs" is not a problem. It's not even really a GNUstep problem -- more a gcc one. At one point, they deprecated the "import" (but the support was still there..). Now, the "import" is no more deprecated in the current gcc. So... if you want to use import, go on, it works with the apple gcc and the fsf gcc..

    The automatic garbage collection support (using boehm library) in GNUstep is, afaik, only available for -base (Foundation), not -gui (AppKit), although I could be wrong. I must confess that I never tried it, as the retain/release/autorelease garbage collector scheme works well enough (and is very flexible) as soon as you understand it (a very good article about it is this one [stepwise.com]).

  • Re:Next (Score:3, Informative)

    by Anonymous Coward on Tuesday October 19, 2004 @02:51PM (#10567873)
    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).
  • Re:Next (Score:4, Informative)

    by roard ( 661272 ) on Tuesday October 19, 2004 @04:36PM (#10569027) Homepage

    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.

  • Re:Ugly menus. (Score:3, Informative)

    by rthille ( 8526 ) <web-slashdot@@@rangat...org> on Tuesday October 19, 2004 @05:00PM (#10569273) Homepage Journal
    Well, if you left the menu in the upper left corner of the screen, it was sort of a problem. But if you moved it to the bottom left of the screen, with just the application's name showing and used the left mouse button to bring up the menu wherever your mouse happened to be on the screen(s), it was way way way more convenient then either OS-X or Windows.
    Also, the ability to tear off a sub-menu (say the font menu) and leave it (like a readable tool bar) hovering next to where you were working was an excellent feature.
    And don't get me started on the fact that scroll bars should be on the left sice of windows since the right side of a large window is the side more likely to be offscreen!
  • by jmcgarey ( 572940 ) on Tuesday October 19, 2004 @05:15PM (#10569423)
    One way to check GNUStep out is by downloading and booting the GNUStep Live CD [distrowatch.com]
    Did no one think of this yet?
  • GNUstep Live CD (Score:3, Informative)

    by Pan T. Hose ( 707794 ) on Tuesday October 19, 2004 @10:11PM (#10571648) Homepage Journal

    It's a pity that, at the peak of the Linux desktop hype in the late 1990s, when evangelists predicted the near death of Microsoft, KDE and Gnome were rushed out of the door, and GNUstep development remained obscure.

    Very true...

    It is interesting to note that the new GNUstep Live CD [linuks.mine.nu] was announced on GNUstep Core News [gnustep.org] in June:

    What is it?
    GNUstep Live CD contains a lot of software for GNUstep, a free implementation of the OPENSTEP framework (which was also the base as Cocoa in Mac OS X). Display Postscript is one of its powerful features. It includes an excellent application called Gorm for RAD (Apple Software Design Guidelines). More about the Objective-C Language.

    Features
    Software using GNUstep (Addresses, Agenda, AClock, Affiche, CamelBones, Camera, Charmap, Cenon, Connect, Cynthiune, DisplayCalibrator, EasyDiff, EdenMath, Gridlock, GMines, Gorm, Gomoku, GNUMail, GNUstep-icons, GNUWash, GWorkspace, HelpViewer, ImageViewer, LuserNET, MPDCon, ProjectCenter, PRICE, Poe, Preferences, PlopFolio, Preview, Renaissance, Stepulator, StepTalk, StepBill, Terminal, TalkSoup, TextEdit, ViewPDF, VolumeControl, Waiho, WildMenus, Zipper)

    In development and not yet on the CD (3DKit, AgentFarms, Burn / CDPlayer, Duncan, Emacs on GNUstep, Encod, Expense, GTAMS, GRASStep GIS, GShisen, GNUstepWeb (WebObjects 4.x), GNUstepWrapper, ILogin, Installer, InnerSpace, LaTeX Service, Localize, MusicKit, MyWiki / MyLibrary, ModPlugPlay, Paje, Pixen, Popup, Position, Rhydot / Skfxdemo, RSS Reader, WebKit / SimpleWWW, Tryst)

    The currently used window manager is Window Maker.
    Rescue System (lde, gpart, parted, grub, raidtools, portmap, nfs-common, QTParted)
    3d Software Blender, Wings3d, Games NetHack, Jump n Bump and SuperTux, LaTeX, TeXmacs, Emacs, GIMP2
    Tools (screen, irssi-text, ngrep, tcpdump, openssl, ssh, imagemagick, netpbm, nail, iptraf, mc, gnupg, ibackup, cowsay, hdparm, feh, tetradraw)
    The Debian GNU/Hurd K6 mini.iso for easy installation in /cdrom/hurd
    C Compiler and development environment
    Webbrowsers (dillo, links2), TV Software (xawtv, alevt)
    Some music (www.chiptune.com, www.maktone.tk)

    This is a very interesting project, though of course not as popular as Knoppix.

    It was the first time that distributed free software development defected from its proven practice of implementing standardized, proven APIs and technology (like POSIX) and created major APIs of its own. [...] 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]...

    Imagine the efforts on Knoppix [knoppix.org] would instead had gone into GNUstep Live CD [gnustep.org]... Imagine the development efforts on Linux [kernel.org] would instead had gone into The Hurd [gnu.org]... 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 [slashdot.org] about the Seattle Times interview with Linus Torvalds [nwsource.com] 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

Happiness is twin floppies.

Working...