Copland/Gershwin vs. NeXT
Etcetera writes "David K. Every (of MacKiDo fame) has written an interesting article at iGeek about Copland vs. NeXT and the decisions that Apple made back in '95-96. Although most agree that bringing Steve Jobs back was a Good Thing, a lot of cool Apple-invented technologies got left by the wayside without a fair shot at proving themselves once NeXT came in. Was it always the right call? Functions as a cautionary tale about management vs. engineering as well."
Another good one about how a project evolves into a "death-march", but it's probably preaching to the choir here.
The tragedy is that those who most desperately need to learn the lesson presented here (that would be the uninformed, inflexible PHBs) will never read this kind of article, or if they do they will never realize that we're talking about you, here!
It's just amazing how many technology "managers" cannot comprehend the silliness of mandating a schedule and a feature set. You might get it by then, but it will be a piece of #@%$.
"Send an Instant Karma to me" - Yes
So Carbon on a new kernel (NuKernal) was done long before the rest of OSX was ready. It took years to get NeXTSTEP and Cocoa and the rest of the OS time to catch up
This is just absolutely false. The NeXT kernel (Mach/BSD) and Cocoa were ported very quickly. Apple bought NeXT at the end of 1996, the first Rhapsody developer release was ready less than a year later, and Mac OS X Server 1.0 shipped in early 1999. The reasons why the "real" Mac OS X took longer were that Apple had to implement Carbon for developers unwilling to convert to Cocoa, and write a brand new display system (Quartz) after Adobe dropped Display PostScript.
NeXT delivered on its promises, it's just that Apple's requirements changed. And it's also worth pointing out that Mac OS X is a far better system than what was envisioned for Copland. Aside from the much better adherence to standards, it is a much cleaner architecture. From what I remember of Copland's documentation, it had a weird form of partial memory protection where the entire GUI ran in a single process, so any app could take down all other UI apps, although server processes would be protected. The transition to a fully buzzword-compliant OS wasn't going to happen until Gershwin, and I seriously doubt that could have shipped by now.
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
This article is one big rant. I wish he had more information to back up his claims. The article just seemed to be overly bitter calling NeXT "liars" and claiming that the engineers were hit with unrealistic expectations.
Hey, I'm an engineer and I think it takes everyone on a project to make it fail. On successful projects you have only 10% of the people doing all of the work and fixing the other people's mistakes... most projects succeed in spite of bad management or bad subsystem X.
Mac OS was on a death march because of the fundamental underlying technologies and a culture that was stuck in only one way of doing things... and windows is on a similar death march. OS X takes technology from the UNIX way of thinking and from the NeXT way of thinking to make a platform that is a developers dream. I think this is what puts OS X beyond Windows and will eventually lead to new "killer apps" that will save Apple. I really doubt that if Apple had went with Copland so many alpha geeks would be flocking to Mac... I doubt slashdot would have added an Apple page or O'Reilly would have a macdevcenter.
There are 10 types of people in this world, those who can count in binary and those who can't.
Ain't hindsight great? It allows you to sound wise without producing any testable arguments.
The Mac without the Unix underpinnings would still be relegated as "toy" OS and its marketshare would be declining rather than climbing (or at least stagnating).
Unix gave the Mac credibility from some key market segments. It gave the Mac mindshare. If we chirped about OS 9 having preemtive multitasking, people would've said "about time" and rightly so. As it stands now, the Mac is now buzzword compliant and, more importantly, it has the time tested core of Unix and all of its familiar tools that scientists and sysadmins love.
Objective-C has garbage collection, in fact, it has the best implementation I've used so far.
When objects are autoreleased, they are GCed at the end of the event loop.
This is much better than, say, Java, where you can never predict when GC will occur (and I've spend countless hours trying to get a product to work even though it will randomly stop and check EVERYTHING IN MEMORY to see if it should be deleted.... when doing a large server with gigabytes of objects in memory this impact is a major PITA) With objective-C memory management is semi-automatic. A better solution than Java and FAR better than C/C++.
I don't know what you mean by "real exceptions" but basically, every languages has its differences and the person I was responding to was just wrong in saying that Objective-C is a pale ripoff of smalltalk.
Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23