[1] https://hardcoresoftware.learningbyshipping.com/p/009-passwo...
Half way through the bottle one of them said "You know what? We could build Smalltalk on top of UNIX!". and thus was born obj-c and Nextstep.
There are still things that nextstep is more than ahead of the bleeding edge with. Time tends to erase perspective. Here's an example:
// get a connection to some server
id server = [NXConnection connectToName: "exampleserver"];
// Then use objects on that server.
List *aList;
Widget *aWidget;
aList = [server widgetList];
aWidget = [aList objectAt: 0];
NB: This example is fantastic for building distributed apps. BUT accessing objects made a local proxy copy of the object. So you wouldn't want to run your world weather model through it - it would copy gigabytes of data over the network.Also, as you can probably imagine it was horribly insecure, with no encryption. It was the late 80's, early 90's.
I had three or four people who kept bugging me that I had my rear over the Xerox PARC and see what they were doing, and so I finally went over there. They were very kind and they showed what they were working on, and they showed me three things.
But I was so blinded by the first one that I didn’t even really see the other two.
One of the things they showed me was object-oriented programming. They showed me that, but I didn’t even see that. The other one they showed me was really a networked computer system, there were a hundred Alto computers, all networked, using e-mail, etc., etc.. I didn’t even see that. I was so blinded by the first thing they’d shown me, which was the graphical user interface. I thought it was the best thing I had ever seen in my life.
The simplest way to explain NeXT is Steve getting back to those other two things after turning the first thing into a product with the Macintosh.
"The origins of Objective-C at PPI/Stepstone and its evolution at NeXT"
its a great business case study (especially if you read it knowing what comes later) imo