NeXT vs Sun
hoffman606133 HN recommenders · 2015–2026
116K views · demo · dated · Uploaded 2011-11-23
A 1991 NeXT promotional video that stages a head-to-head programming contest between a NeXT computer and a Sun workstation. It shows NeXT's interface builder and object-oriented tooling producing an application far faster than traditional UNIX development.
HN uses it as the canonical example of rapid application development and object-oriented tooling productivity, though many note it is biased marketing.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
1:01:39"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
25:06"Making Impossible States Impossible" by Richard Feldman
elm-conf
40:20"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
1:03:55🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
54:20Bret Victor - Inventing on Principle
Rui Oliveira
1:00:19How To Design A Good API and Why it Matters
Google TechTalks
31:44The Value of Values with Rich Hickey
InfoQ
18 comments from Hacker News
BeOS was great, but compare Steve Jobs' NeXT presentation (1992) to the BeOS video: [LINK] NeXTSTEP is the predecessor of OS X, the rest is history. BeOS filesystem "BeFS" had extended attributes (metadata) with indexing and querying features similar to a relational database and Bill Gates' vision of "information at your fingertips". Though Microsoft failed to complete Cairo-OS as well as WinFS. The BeFS main developer wrote a book about it, as it is out of print now he released it as PDF for free: [LINK] , [LINK] Check out HaikuOS, an open source BeOS reimplementation: [LINK] . And there were two BeOS inspired OS: ZETA-OS and SkyOS with some shady history: [LINK] , [LINK] Some of the BeOS vs. NeXTSTEP history is documented in Apple Copland OS article: [LINK] Another interesting video is: [VIDEO] ( In 1991 Steve Jobs' company commissioned an head-to-head programming competition to show how much faster and easier it was to program a NeXT computer vs a Sun workstation. The NeXT operating system went on to be the foundation for Apple's Macintosh OS-X about a decade later. )
@12:19: [VIDEO] > At this point, we threw the programmers an unexpected but not unrealistic curve. > Like a typical user, we asked them to add a feature not in the original spec. In this case, a button would recall all the trouble logs for a particular customer. > Using NeXT Step, the NeXT programmer completed the task in about 20 minutes. > [NeXT progammer discussing some details] > The sun programmer also estimated a time of 20 minutes, but it took about 45 before he was ready to test his version. This was about 20 hours in, which means that since they started on Wed, 30 October 1991 and assuming maximum 8-hour days, they have missed Halloween and would be at least halfway into Friday. The video states that the programmers finished on Sat, 2 November. The video goes on to state that the NeXT system enabled the NeXT programmer to add a number of features such as system fonts and button icons "for free", which goes to show that the video's intended audience are managers and executives of software development teams who would of course want faster development, ad hoc requests, and cost-free features. I personally would have been tempted to (╯°□°)╯︵ ┻━┻ once they announced a planned "unexpected" feature request because rather than train users and customers to frontload requirements in order to benefit from the design decisions that would be made as a result, the video encourages customers to believe their out-of-spec requests will be more quickly accommodated if only their progr
Another good example is the NeXT vs Sun duel, regarding the RAD tooling of NeXTStep vs the traditional UNIX development (1991). [VIDEO]
You mean like this in 1991? [VIDEO] I would have rather used the GUI tooling of a NeXT, which eschews the UNIX traditions even though it builds partially on top of them, than the Solaris way of programming GUIs, if given the option. Just because I could only access green phosphor terminals, doesn't mean I wasn't aware of other, more expensive, options.
> which is further evidence of the amazing foresight Apple had in basing macOS on an open-source core (BSD): NeXT did it, not Apple. And the goal of the time was just to help bring UNIX software into NeXTSTEP as they were competing against the likes of Solaris for market share. [VIDEO] The whole NeXT architecture has very little UNIX on it. [LINK] [LINK]
Started programming in 1982. Object oriented programming was a huge advance - especially in developer productivity. A side effect was the dramatic improvement in developer tools: gui builders, IDEs, etc all improved dramatically. Probably the watershed moment for OO was this NeXT video that showed the difference: [VIDEO]
If you enjoy reading documents, BITSAVERS.ORG is a treasure mine full of lost knowledge. [LINK] Here you will find Xerox PARC, DEC, Burroughs, Apple, Sun, Borland,... old research documents, papers, manuals. In the context of static compilation, for example in MS-DOS, take Turbo Pascal 6.0 programmer's guide. [LINK] For some 8 bit love you can check ZX Spectrum and Atari archives. [LINK] [LINK] Next step is to get an emulator for any of those old OS/computers and try to follow along one of those books. Also there are some videos on YouTube showing those systems. "The Smalltalk-80 Programming System" [LINK] "NeXT vs Sun" [VIDEO] "Steve Jobs internal demo of NeXTSTEP 3" [LINK] "Amiga Programming" [LINK] "Amiga Hardware Programming" [LINK] The Mother of All Demos" [LINK] Just a very tiny sample of videos
By writing system level macOS software , although I think you mean old style POSIX UNIX stuff. Here is a thing, already with NeXTSTEP, UNIX support wasn't never something worthwhile looking for, NeXTSTEP was used for its Objective-C tooling and frameworks, like Renderman and Improv. The UNIX stuff was just a solution for having a quick ramp up for their OS development, and just like Microsoft with Windows 3.1 NT, to have a tick in the box when selling to the government, Their famous commercial against Sun, hardly touches on UNIX like development. [VIDEO] You aren't going to see a CLI on that NeXTSTEP screen. Just like the SDK is all about Objective-C related stuff, even the device drivers were written in Objective-C. [LINK] The only fouls here are those that keep giving their money to corporations instead of supporting Linux OEMs, as Microsoft cleverly discovered. In fact, had either A/UX not been discontinued or Microsoft seriously supported their POSIX personality, Linux would never taken off, as the same crowd would be happily using these systems.
It is a bit hard to explain in an HN comment something that requires live experience, You can start by having a look at, [LINK] "Eric Bier Demonstrates Cedar" [LINK] "Alto System Project: Dan Ingalls demonstrates Smalltalk" [LINK] "SYMBOLICS CONCORDIA ONLINE DOCUMENTATION HYPER TEXT MARKUP 1985" [LINK] You can see how NeXT builds on many of these concepts on the famous "NeXT vs Sun" marketing piece, [VIDEO] Sun also had some ideas along these lines with NeWS, "NeWS: A Networked and Extensible Window System," [LINK] Naturally OS/2, BeOS, Windows, macOS, iOS, and even Android share some of the ideas. Now, before I proceed note that actually modern Linux distributions have all the tooling to make these concepts happen, but it fails short to have everyone agree on a proper stack. So basically, the main idea is to have a proper full stack in place for developing a Workstation computer as one single experience, from bottom all the way to the top. On Xerox's case, they used bytecode with in-CPU execution via programmable microcode loaded on boot, and later on just a thin native glue on top of host OS. The environments had frameworks / modules for the whole OS stack, supported distributed computing, embedded of data structures across applications (OLE can trace its roots back to these ideas), REPLs that not only could interact with the whole OS (commands, modules, running applications), it was also possible to break into the debugger, change the code and redo the failed instructions.
What mattered on A/UX for application developers on Apple platforms was the System APIs layer ported to run on top of X Windows integration. Likewise, anyone doing NeXT development was focused on Objective-C frameworks all the way down to driver kit. As Application developer on a NeXT, the tune was all about WebObjects, Renderman, EOF. Applications like Lotus Improv, Wingz, and those being put out by Omni Group were the meat of the kind of applications that people considered to use NeXTSTEP, not BSD command line utilities. Pretty much patent on commercials like NeXT vs Sun. [VIDEO] Or Steve Jobs opinion on UNIX users, [LINK] and later when back at Apple [LINK] AIX is definitly UNIX, because it isnt' like A/UX, NeXTSTEP, OS X or iOS, where the UNIX layer is there more to bring stuff into the platform, while the main developer stack is something else.
Just like the Web supports responsive design and not everyone actually uses it. For Motif I am aware of the one provided with Motif++, now gone from the Web, and the one provided by ICS ( [LINK] ). I guess Solaris might have lacked one indeed, given NeXT's commercial. [VIDEO] Sun was never good at desktop software anyway, killed NeWS, Swing while powerful requires graphics programming knowledge to make cool UIs and then there was F3 (JavaFX 1.0), and the Java Desktop Framework Integration project went nowhere.
Still, the Web might have never existed without Objective-C, which is moreso my point. From [0]: > A second phase would almost certainly involve some programming in order to set up a real system at CERN on many machines. An important part of this, discussed below, is the integration of a hypertext system with existing data, so as to provide a universal system, and to achieve critical usefulness at an early stage. > (... and yes, this would provide an excellent project with which to try our new object oriented programming techniques!) TBL March 1989, May 1990 Objective-C had a wonderfully pragmatic approach to OOP, though it remained tied to the systems it was on because of the standard object libraries that enabled it. NeXT promotional materials really liked to showcase its suitedness to rapid application development, whether Jobs himself doing so [1] or in a staged competition with Sun [2] [0] [LINK] [1] [LINK] [2] [VIDEO]
There's a fun bit of marketing [0] NeXT did when AppKit was the new thing, comparing building a reasonably non-trivial application with it to a Sun workstation using C. Obviously biased, but still an interesting look into the development environment that among other things brought us the Web and DOOM. 0. [VIDEO]
We should have developer benchmarks for programming languages such as "time to first successful compile", "time to first running copy", "time to find the root cause of a certain bug". Similar to that Sun vs NeXT competition back in the day: [VIDEO] Maybe platforms like Leetcode and HackerRank can publish such statistics. I'd find such benchmarks way more interesting than comparisons of milliseconds for solutions to some arbitrary algorithms that we'll never use in real life. I'm not saying they aren't useful, but they aren't interesting.
Besides the sibling comment, that was kind of Smalltalk like, in the sense how code navigation and code editing was implemented. You can also get a glimpse of it on the famous NeXT vs Sun commercial. [VIDEO]
So very much this. I think programming languages are also long overdue for some controlled trials. They can't be blinded: any experimental subject bright enough to learn to program is probably going to know what language they are programming in. But trials comparing the effectiveness of different languages. How long they take to attain a specified level of proficiency, how long to learn enough to produce working code, and importantly, readability: for instance, how long it takes to find intentionally-planted bugs in existing, unfamiliar code. NeXT did this, way back in the 1980s, and Sun lost badly: [VIDEO] There is a writeup of some of it here: [LINK] But speaking as a non-video-liker, this 17min one is worth it.
I don't know how realistic is this video but it was interesting [VIDEO] A sun vs next rapid development challenge.
Many of those features were already available in MS-DOS and Windows 3.x IDEs from Borland for Turbo Pascal and C++. Which is why when I got into UNIX development felt like going into the stone age of development tools, thankfully XEmacs was already there. Which by the way, it was born for Energize C++, in 1993! [LINK] Also here is what NeXTSTEP development environment looked like, used for Quake tooling development, in a 1991 marketing video. [VIDEO] Which is why, I usually assert I cannot understand the nostalgia of CLI and TUI, being there at the time, and not being able to use some of these systems, due to the amount of money they required.