←back to thread

X and NeWS history

(minnie.tuhs.org)
177 points colinprince | 1 comments | | HN request time: 0.205s | source
Show context
wwweston ◴[] No.15325475[source]
> I have a section in the book that I'm writing where I talk about how to design a good API. I pose the question of why none of the original Apple Mac API published in 1985 taking about 1,200 pages is in use today whereas almost all of the UNIX V6 API published in 1975 taking 321 pages is still in use and has been copied by many other systems. I'm sure that everyone on this list knows the answer.

I'm not sure I do. But it does seem like a good question.

Also:

http://www.art.net/~hopkins/Don/unix-haters/x-windows/disast...

replies(2): >>15325555 #>>15326484 #
valuearb ◴[] No.15325555[source]
My guess is that the original Mac OS provided a great GUI, but not much of an OS. It loaded a single application at a time that had access to all of memory. That's why it had desk accessories, to give you apps you could use without quitting the main application. It had handle based memory management so the OS could move memory blocks more contagiously to create enough open space for new memory allocations.

Over time they added cooperative multitasking, which meant the foreground app had to consciously give time to let background apps do stuff.

But they could never build a real OS with security and memory protection out of it. So Apple bought NeXT to get industrial strength unix as their core OS, and switched all Apple development to NeXTStep, or at least the modern derivative of it, called Cocoa.

My dust covered Inside Mac volumes were made useless nearly 20 years ago.

replies(3): >>15325585 #>>15326081 #>>15327274 #
__david__ ◴[] No.15325585[source]
Except most of the Inside Mac APIs were brought forward in OS X as Carbon. Carbon only went away relatively recently. So the APIs could support a reasonable OS, it's just Apple couldn't accomplish it for some reason (I waited for Copland for a long time).
replies(1): >>15325677 #
xenadu02 ◴[] No.15325677[source]
That is not correct. Over a thousand APIs were dropped or substantially modified to be “carbon clean”.

Even Multi-Finder was a lot of work because apps happily poked OS globals.

The original Mac OS was more like an embedded app toolkit than an OS. The original implementations were all ROM!

replies(2): >>15325985 #>>15326369 #
1. __david__ ◴[] No.15326369[source]
I said most. Having worked on carbon apps, I can say that substantial portions went through with no changes. You could add menus and item to iTunes with AppendMenu() and InsertMenu() from visualization plugins until they rewrote it in Cocoa roughly 5 years ago.

Obviously they dumped a lot of the OS level APIs for stuff like Control Panels and Desk Accessories, but the standard app APIs were largely unchanged.

There's no fundamental reason they couldn't have made their own OS with the same Carbon APIs that made it into Mac OS X (not that I think they should have—the NeXTStep stuff was much better).