Copland/Gershwin vs. NeXT 147
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."
OpenDoc (Score:5, Interesting)
Re:OpenDoc (Score:2, Interesting)
Perhaps this article [mackido.com] by David K. Every himself may shed some light on the issue.
Novell and IBM killed OpenDoc (Score:3, Informative)
Given a choice between OLE and COM on Windows (95% of the desktop market) and OpenDoc on MacOS (5% of the desktop market), most developers chose OLE and COM for their components.
Re:Novell and IBM killed OpenDoc (Score:2, Interesting)
Re:Novell and IBM killed OpenDoc (Score:2)
Re:Novell and IBM killed OpenDoc (Score:2)
Taligent? (Score:1)
Taligent was working on the "Pink" OS.
Re:Novell and IBM killed OpenDoc (Score:3, Interesting)
Bear in mind that Java was also hitting the scene around the same time OpenDoc was around. JavaBeans made the same sort of promises in terms of cross platform object models. There was even a project going on to bridge the two (host a bean in an OpenDoc component, or vice-versa). So there was a lot of noise about similar things from a lot of sides and OpenDoc never took off for whatever reason.
I'm always sad to see great original ideas like OpenDoc, Newton, AppleTalk, and HyperCard fail to achieve the kind of market they deserve, but at the same time one of the things I respect most about Jobs is that he's willing to pull the plug when there is a chance to innovate and play with a standard instead of against it. That's what's going to get Applet back in the game. As much as we're missing by having to do without all those great technologies, I think it's better to live and fight another day -- and deliver an elegant package with ZeroConf, BSD, OpenGL, TCP/IP, Java, and on and on and on....
As for Copland, Gershwin, et al., you couldn't get much closer to epiphany without being asked to come down to the front of the hall at the end of the sermon than you could hearing Wayne Meretsky talk about what was going to be in the system. But as good as Copland was going to be, Rhapsody shipped. Which also turns out to be a really important feature.
Re:Novell and IBM killed OpenDoc (Score:2)
And I'm pretty sure OpenDoc containers run in Classic, though I haven't dug up my CyberDog CD yet.
Re:OpenDoc (Score:1, Insightful)
OpenDoc worked on the "container" concept, so once you had an application that was a "container" app you could paste in OpenDoc parts and use them as part of the master document.
Far as I can remember, the only OpenDoc applications that even appeared were Cyberdog and Nisus Writer. It was a real shame about Nisus Writer too, since they expended so much energy on OpenDoc hoping to ride the wave and Apple pulled out the rug (they still don't even have an OSX version).
Imagine if it stuck though, OpenDoc graphing and charting applications you could paste into Nisus, drawing objects drawn in your favourite program still being editable by it, tables and indexers, oh well.
Re:Is the OpenDoc spec available? (Score:1)
Re:Is the OpenDoc spec available? (Score:2, Informative)
I must have been using different terms last time I searched, because *this* time, when I searched using "OpenDoc Specifications", I came up with this link: http://www.diffuse.org/oii/en/docstand.html#ODA [diffuse.org] which takes you to a reference talking about getting the specification.
The spec costs money, though.
Re:Is the OpenDoc spec available? (Score:4, Interesting)
The spec mentioned above was the official stuff. Looking back from a vantage of ten years or so, there are a lot of things I would change, but the basic design is still sound.
Actually, my current favorite in the space of such things is KParts, which does a lot of the same sorts of things OpenDoc was meant to do.
A well-written article (Score:3, Insightful)
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 #@%$.
Re:A well-written article (Score:2)
Marketing guy: We need a project plan
IT guy: OK here it is
Marketing guy: Well this goes over 5 years I need it in 2 years
IT guy: 9 woman can't have a baby in 1 month. Cutting from 5 years to 2 years will introduce substantial risk, major feature reductions and large increases in total project costs. On the record I'm advise against that change.
Marketing guy: I'm tired of all this negative thinking from you tech guys. You can do it if you just believe in yourself, besides the company needs....
IT guy: I deal with realities not needs. However I'll accept any revisions to this project plan including revisions of dates as long as you sign off on this as being a mandate from marketing and not a joint plan. If you want a joint plan then we need to start having real discussions about what can really be accomplished at a reasonable cost.
In other words show some backbone. Marketing, doesn't actually give IT hard mandates on the record; rather IT guys try and avoid the confrontation with the marketing guys.
Re:A well-written article (Score:1)
I was right, though, and someday they'll realize it.
Anybody need a project manager with a backbone?
Re:A well-written article (Score:3, Insightful)
Anyway they realize generally in about 6 months, not that they will ever call you up and admit but next time you see them (oh and they might bring you back to consult) you'll be able to tell. Anyway if its any consolation the guy who fired you has just taught all his employees to lie to him. From this day forward he never gets the truth about anything and his productivity hits the floor.
One of my great hopes for this country is the end of MBA running everything. I'd love to see the CEO of soup company be a guy who did soup his whole life and the CEO of a car company be a guy who either built or sold cars his whole life...
Finally, you might have wanted to mention where you live in your last line.
miracles (Score:3, Interesting)
that way, you look like a miracle-worker =] (or so Scotty told LaForge)
Still, it would be an interesting universe had Be been chosen over NeXT. the Be APIs were super nice, but from what I heard they had a very hard time in larger projects. I think Gobe Productive was the largest app ever for BeOS. I used BeOS exclusively (when i had a peecee) for about a year, and I loved it. All the applications felt oddly 'light', I think from the quick responsiveness of it all.
The Best OS is Dead! Long Live the Best OS!
Re:miracles (Score:1)
Using the word "light" is the perfect way to describe the BeOS. As a Mac user from way back in '85, as developer who was looking for a more powerful OS back in System 7 days and as beta tester of the BeOS I was really bummed when Apple went with NeXT instead of Be. I thought Be was a no brainer particuarily due to the fact that there already existed a program, similar to VMWare (called Sheep Saver???) for the BeOS that allowed it to run System 7 and the apps of the day within the BeOS. I remember how light and responsive the BeOS felt on my single processor Mac clone and how it absolutely screamed on a dual-processor BeBox.
(sigh)
Now I'm all bummed about what could have been. Don't get me wrong MacOS X is nice and I use it for a lot of different things but...
Speed vs. Features... (Score:2)
Sure, there's more eye candy in OS-X, but the NeXT UI is cleaner, more clear to understand, and _easier_to_use_! People complain about OS-X's UI being "NeXTified", but the NeXT UI was just as clean as Platinum. Yes it wasn't as spacially oriented (no Desktop stock, and Icon view was always in 'grid' mode), but that sure seemed to work better for large networked filesystems. Besides, the 'shelf' at the top of browser windows would give you a place to keep shortcuts to different file(s)/folders.
So where did the OS-X UI nightmare come from? Where's Keith Olfs's when we need him?
Re:Speed vs. Features... (Score:2)
Anyway OSX is a 3D desktop, and essentially runs in 3D mode. Because the mac crowd is conservative Apple isn't taking full advantage of this fact graphically but you wouldn't have the same question if your desktop looked like screen shot of 3D OSX finder replacement [uiuc.edu]
I imagine in the next few years Apple will start taking advantage of the tracks they've laid down so far.
Re:Speed vs. Features... (Score:2, Informative)
Basically, it's the GUI. It's just doing so much stuff that you need a top of the line machine to get anything even approaching speed out of it - and even they get unresponsive without much going on. Maybe in a couple of years, when Apple's hardware has caught up with their software ambitions (we're basically seeing the same thing that happened with PCs in the early to mid 90s - the software being in front of the hardware curve) OS X won't be so slow to use.
Re:miracles (Score:2, Insightful)
Remember though, at the time BeOS had some gaping holes, such as printing. There was some amazing technology there, but Apple was much more strongly tied to print design than today (with the huge internet focus).
They'd likely have had much more work to do integrating an immature BeOS than it was with a very mature NeXT.
I understand that there are a couple of BeOS engineers at Apple now, let's hope we can get some of the very cool ideas that are now dead (replicants, instantaneous searching, semi-sane metadata, etc.).
technical aspects of Copland/NuKernel (Score:2)
Re:technical aspects of Copland/NuKernel (Score:2, Informative)
Re:technical aspects of Copland/NuKernel (Score:2)
Re:technical aspects of Copland/NuKernel [OT] (Score:1)
Although I've never even been in the same room as Copland, I've got a developer copy of Mac OS 8.7, which I believe to be Rhapsody just before it was merged with NeXT. I tried installing it on my Umax S-900 (currently running 10.1.5), and spent the following week getting my onboard SCSI busses functional again. Haven't tried since.
If anybody can tell me what machine will successfully boot that, I'd love to see it in action.
Re:technical aspects of Copland/NuKernel [OT] (Score:2)
I had a copy of System 7.7 once, which more or less became OS 8 (not System 8, aka Copland). It had some weird features that I don't remember anymore, that never made it into OS 8. Mostly it just crashed :)
Re:technical aspects of Copland/NuKernel [OT] (Score:2)
Re:technical aspects of Copland/NuKernel [OT] (Score:2)
I forgot all about that name! :) I used to use the Appearance extension from Tempo with System 7.6 to get the Copland look, and sticky menus. There was a copy floating around that I hacked that had the trash in the can in color.
Re:technical aspects of Copland/NuKernel [OT] (Score:2)
Tempo was the first system where the appearance themes worked. They were nifty. I never used anything other than Platinum, but it was great fun to show people hi-tech and gadget just to see their faces. Ah, what a pleasant period. Apple was blithely fiddling while the rest of the place burned and producing some irrelevant, but damned-fun stuff on the way.
Re:technical aspects of Copland/NuKernel (Score:3, Informative)
I posted it above, but take a look at the Copland article in Apple's develop Tech Journal [mactech.com].
Re:technical aspects of Copland/NuKernel (Score:1)
Re:technical aspects of Copland/NuKernel (Score:2)
> OS 8). It demonstrates themes and other new features
> of Copland.
You want to see something cool? That demo CD for Mac OS 8 (with the corny music and overly-excited narration) runs under Mac OS X 10.2. That's backwards compatibility!
I ran it the other weekend, after I installed Jaguar. Boot up Classic and pop the disc in-- it's a laugh. That disc was vaporware of the highest order. It was clear that Copland was very unfinished, even in the demos. I thought that when Apple shipped that demo disc, it was really a sign of something bad going on with the project.
I like the idea of the folders as saved searches, but the rest of it is okay. The Themes that they show are painfully childish compared to Aqua.
I think what's interesting is if Apple had delivered on Copland, I don't think they would have guaranteed success, and I think they would have been worse off than with Mac OS X.
For one, for the average user, Copland looked like the regular Mac OS, so I don't think it was well differentiated from the Windows-look-alike. Aqua looks much different, and thus has the appearance of a next generation UI.
Second, the Unix underpinnings of Mac OS X are probably one of the biggest factors in its success. Look at all the Unix geeks that are buying into Mac OS X just because of the Unix-on-a-desktop capabilties. I don't think Copland would have brought that to the table.
Inaccurate in places (Score:5, Insightful)
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.
Re:Inaccurate in places (Score:4, Informative)
Almost true. Adobe didn't drop support for Display PostScript, Apple decided they didn't want to pay a royalty to Adobe for every copy of the MacOS that would ship that used Display PostScript.
Re:Inaccurate in places (Score:1)
You're right, I misspoke. From what I recall Apple and Adobe were in negotiations to for free or very cheap royalties for DPS, but that fell through.
Re:Inaccurate in places (Score:3, Informative)
'jfb
Re:Inaccurate in places (Score:3, Insightful)
Who was fired (or otherwise bitterly parted ways) from Apple after apparently mismanaging a major development project.
Apparently at least in one case, the PHBs he's ranting about are him.
Not to say he's worthless, but he does fit the general description "Apple basher". He needs to let go of his bitterness and get a better perspective on things.
Re:Inaccurate in places (Score:2)
'jfb
Re:Inaccurate in places (Score:2, Interesting)
Re:Inaccurate in places (Score:2)
Having problems is not the issue. Being irrational about it- that is the issue.
You're clearly someone with an axe to grind. I'm not the first person to point this out to you.
Hell, you're the one who claimed the next people lied about what they were delivering to apple. Which is kinda funny, given that history shows the not to be the case.
But whats the point-- you seem to enjoy complaining about apple and you will continue to do so... its just worth letting others know that there is an ulterior motive.
Re:Inaccurate in places (Score:2)
IMO, he overestimated Apple's progress toward delivering a new OS when Jobs re-took the reins. At that time, a lot of MacOS internals were running against a 68K emulator because they had not even been ported to PPC. Hence, the initial "downgrade" to PCC models, where your apps actually ran slower. It wasn't until 8.6 (Jobs + ~400 days later) that they had a PPC native OS.
Here's a joke about the new CEO at a computer company.
On his first day at work, the new CEO crosses paths with the old one. Seems his predecessor needed extra time to clean out his desk. Feeling somewhat awkward, he blurts out a hello. The old guy responds with a smile, and says "I left you three letters in the bottom drawer. Use them when you need them."
The old CEO leaves. For the first quarter, the new CEO is just getting his hands around the reins. Sales continue to drop. Desperately preparing for the upcoming board meeting, trying to think of something good to say, he remembers the letters. He opens the first one which says:
Blame your predecessor.
Which flies fairly well. Rushing back to work, with his hands tightly grasping the reins, he seeks some new ways to improve sales. He is not successful. He doesn't even try to prepare for the board meeting, instead, reading the second letter which says:
Blame the economy.
Which flies, although not so well. He really thinks he knows how to sell this product now. Unfortunately, he doesn't realize in his six month stay, a completely different technology has started to serve his customer's needs in a much different way. Sales suck even worse, and it's time to grab that last letter, which reads:
Write three letters
Re:Inaccurate in places (Score:2, Interesting)
Article is one big rant (Score:4, Insightful)
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.
Re:Article is one big rant (Score:2, Interesting)
Hindsight (Score:5, Insightful)
Subjective Article (Score:4, Informative)
As I mentioned in other topics, Mac OS 9 users are among the most stubborn to change their way of doing things on a Macintosh. That's understandable--the original Mac OS was easier to use than most operating systems and developed quite a fan following. This resistance to change, however, causes finger-pointing and blame-making over a matter that, now, isn't really a point of conversation anymore. I think David falls in this trap of "Apple's changed with OS X and I don't like anymore." I also give this problem a name: whining. I'm a Macintosh advocate by trade but I've never been fond of zealotry--its a blinding thing in helping a customer.
I disagree with David about his being "sick of hearing that Copland project failed because of engineering. From what I know of engineering and people inside of Apple, it was mostly because of bad management decisions inside of Apple." He makes the incorrect assumption that the technology was sound enough and needed only enough money and time to push it through. Apple creates the environment that R&D works in, true. But faulty engineering is faulty engineering. Steve Jobs likely killed many projects not only because he didn't find them practical but because they just plain didn't work or didn't follow the business plan. Seedless corn or instant water sounds like a cool idea, but a bad idea is a bad idea.
Apple nearly died because they didn't have a business plan. Does David want Apple to revive old projects at the cost of the company's existence? Makes no sense to me. I think David is grousing over spilled milk.
We were all uncertain about what became OS X, and, thanks to a strong business plan, focused R&D, and listening to customers and developers (things that Apple did very badly in the '90s), Apple has a sound product with a good future.
Re:Subjective Article (Score:2, Insightful)
it was a sad day when copeland died (Score:5, Interesting)
Re:it was a sad day when copeland died (Score:1)
Re:it was a sad day when copland died (Score:1)
Re:it was a sad day when copland died (Score:2)
But look at all the good stuff we got too (Score:2, Interesting)
If the new Mac OS had been rebuilt from the ground up I don't think we would have as much of this, or possibly any of it at all. A ground up Mac OS would probably be proprietary, closed, and Apple would be left to do a lot of the heavy lifting when it came to software development.
I think that Apple has made a good tradeoff here. Sure, OS X does feel a little disharmonious in the interface, but the community, sysadmin, and software support are well worth it, IMHO.
nostalgia (Score:2, Interesting)
What Apple, NeXT, Sun, and Microsoft have done ever since has been to copy little aspects of those systems imperfectly. Systems like OpenDoc Objective-C were an attempt to bring some of the things that happen naturally and easily with Smalltalk and Lisp into a world dominated by C, C++, and multiple address spaces.
What you should really be crying about is that none of the Apple or Microsoft technologies ever actually took advantage of the object oriented programming technologies or development environments developed before the rise of the PC and instead condemned us to nearly two decades of awful IDEs, batch compilations, object marshalling, and pointer errors, as well as plenty of unnecessary work. We could have had something with the convenience of VisualBasic 2000 or HyperCard and the power and appearance of NeXTStep in the early 1980's if people had only listened back then. Now, these ideas are slowly being rediscovered and being hailed as great technical breakthroughs.
Apple did do a good job at making the Macintosh UI visually attractive and easy to use for casual users, both in pre-OSX and OSX. That's what they are good at, but it almost doesn't matter much what technology they are using--a set of kludgy toolboxes or a half-hearted Smalltalk clone based on C. So, don't cry over Copland/Gershwin, cry over the stuff that really could have happened but didn't.
Re:nostalgia (Score:4, Informative)
There is nothing important that Smalltalk has, that Objective-C lacks.
In fact, Objective-C is superior to small talk for its given market: compiled applications that can be shipped in shrink wrapped form.
Call C++ a pale shadow of smalltalk and I agree with you, but don't knock Objective C. Its wonderful, and has no problems or poor aspects that from what I see.
There's a lot of whining about OS X and I just don't get it-- it is far and away the best OS I've ever worked with as a user, or developed for as a developer. Far better than Classic Mac OS, better than windows, better than Unix.
I think people want to complain about some idealized impossibly perfect idea of what something could be... but in terms of reality-- shipping products-- its the best there is right now, and well ahead of everything else out there.
Re:nostalgia (Score:2)
> that Objective-C lacks.
Garbage Collection and 'real' exceptions are things that I think Objective-C could use. But compared to C--, I'll take Objective-C any day.
Re:nostalgia (Score:2)
Re:nostalgia (Score:3, Insightful)
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.
Re:nostalgia (Score:3, Informative)
ObjC also has a primitive form of GC, even more primitive than mark and sweep. The best GC you can probably get is a generational system, not surprisingly found in most (all?) current Smalltalk implemenations and good Common Lisp implemenations. You get the best of both worlds- unlike the GC in ObjC, you're not stuck looking over your sholder to deal with it's primitive form of GC (found also in Python still?) and unlike Java, it doesn't do one huge mark-and-sweep at any given time- it's always doing a little GC.
Re:nostalgia (Score:2)
Whatever. It seems pretty silly that you are complaining that a language that is not smalltalk is not smalltalk.
If you want to use smalltalk, use smalltalk.
You haven't shown any problems or issues or weaknesses in Objective C... you have only pointed out that it is a different language. Something we all knew going in.
Re:nostalgia (Score:2)
The issue of which GC algorithm is used isn't about language. Older Smalltalk implementations have mark-and-sweep GC like Java. A Smalltalk implementation *could* be done with the reference counting GC approach that, but I know of no Smalltalk implementations that settled on such a primitive form of GC- perhaps an older embedded VM?
While I agree with the assesment that if you want to use Smalltalk, use Smalltalk. But having a poor GC is still an aspect of ObjC that can cause problems and gobble up RAM. A generational GC could be added to a language that was otherwise just like ObjC. It would remove some of the rules and restrictions you have to deal with in ObjC now, but the language would mostly remain the same. ObjC isn't perfect, and it can stand to be improved upon.
Re:nostalgia (Score:2)
Yes, in response to someone who was saying Objective C sucked because it didn't have garbage collection.
In my opinion, its the best memory management system I've used yet.
You haven't made your case that it is "poor". Java and Smalltalk are interpreted languages. Releasing memory as part of the event loop is the best I've worked with, and I'd hate to go back to Java for realtime work (I'd enjoy the work, but hate dealing with GC issues.)
I don't see objective C as "gobbling up memory"
And certainly nobody has made the case that Objective C is a pale imitation of the state of OO from the 70s, as was the original claim I'm responding to.
Re:nostalgia (Score:2)
Oh, you're right. I was so stupid. We should have shipped our product, knowing that it would periodically pause for 30 seconds and not return any web pages to the customers while it GCed the objects in memory. After all, eventually Moores law would have taken care of it, right?
Oh, and thanks for your advices that since "nobody" except for Apple is using Objective C, I should just use the industry standard, which would be what, C?
And what was I thinking appreciating Objective C when obviously the only reason I could like it is because Apple's using it. Stupid me, I haven't seen productivity gains over java, and I'm not writing an application that reads data off of Firewire, and since only Apple's using it, I won't be able to port my Mac Only product to Windows cause GCC doesn't exist for Windows, right?
And, on top of it, I apologize for whining "too slow, I want more control" -- which I seem to not remember saying when I said "Objective C is the best programming language I've found so far."
And I won't even be so stupid as to point out that Objective-C doesn't seem to have any serious deficiencies, needing correcting over the last 15 years because clearly I'm wrong-- I mean, obviously its still compiled rather than interpreted, and its just not smalltalk.
But I do think you need to clarify how applications like OmniWeb, OmniOutliner, OmniGraffle, and the Cocoa frameworks are hurting the Macintosh, after all the lower barriers to development allows those (and many more applications like them) to be viable with one or two programmers developing them, rather than the cadres it takes to develop a comparable App using carbon. Maybe you meant apple should keep Cocoa and make it Java only like WebObjects and then everyone can just write in Java-- since clearly its the only language people should be allowed to use-- after all, nobody needs "real time", first person shooters are over-rated, people don't really want to use their computers for entertainment, watching or editing movies, or encoding MP3s. After all, Office has been ported to Carbon, so its no wonder there are few jobs for programmers-- what possible need could there be for other applications?
Thanks for setting me straight.
Re:nostalgia (Score:2)
Oh, I know the difference. But I'll take the automatic gabage collection of autoreleased objects over the ands off- "we're going to stop everything for 30 seconds" garbage collection of Java anyday.
L:iterally, our program was stopping with all threads blocked for 30 seconds while Java did its garbage collection.
The automatic collection of autorelease does the trick nicely.
Yeah, you can have memory leaks, but you're not doing pointer math and its rather easy to have no memory leaks or issues at all with only a little bit of discipline.
I'll take disciplined code over java's "We'll take care of it for you, but it will cost you" anyday.
Still like java, its just not ready for performance or large scale applications (without work to get around the GC)
Re:nostalgia (Score:2)
It would be nice if Objective-C had blocks aka closures aka anonymous subs. Blocks are so very appropriate for a lot of tasks, and in Obj-C you're stuck doing them in the same crappy way you'd do them in C.
Re:nostalgia (Score:2)
You can do a hell of a lot of stuff dynamically at runtime in Objective-C.
But yes, its compiled. That's a good thing. The tradeoff is worth it.
There's a reason why interpreted languages have had a tough experience.
Re:nostalgia (Score:2)
Re:nostalgia (Score:2)
Along the same lines, you could also use Smalltalk/MT or Smalltalk/X, two implementations of Smalltalk that compile to native code. All of the power of Smalltalk's incredibly dynamic runtime sysetm with the speed of Objective-C. Yet, with blocks. But again, unfortunately, those two implementations don't make up a large percentage of Smalltalk installations out there.
But blocks for ObjC is interesting all the same, esp for those who have no idea what blocks are.
Re:nostalgia (Score:2)
There is plenty that is crucial and that is missing from Objective-C: garbage collection, runtime safety, and well-defined reflection, for starters.
In fact, Objective-C is superior to small talk for its given market: compiled applications that can be shipped in shrink wrapped form.
The very concept of "application", as used on Mac OS X and Windows, implies a very sterile and limited idea of computation or computer usage. Applications are separate entities that require a lot of handholding and effort to talk to each other.
There's a lot of whining about OS X and I just don't get it-- it is far and away the best OS I've ever worked with as a user, or developed for as a developer. Far better than Classic Mac OS, better than windows, better than Unix.
The notion that one operating system is universally better than another is just unfounded and silly. OS X is good for many users and many common applications. But Linux is good for many other users and many other common applications. What is an asset of OS X in one application, like its window system, may be a liability in another. What may be heaven for one kind of developer may be a tedious mess for another, depending on the kind of software they are working on.
Even the somewhat kludgy tradeoffs embodied in MacOS, Carbon, Cocoa, and Objective-C (or X11, KDE, and Gnome, for that matter) have their place in the world. Like, with the original MacOS software, awful as it was technically, Apple could actually deliver an attractive machine at a reasonable price, and that's nothing to sneeze at. But please don't tell me that these systems represent the epitome of GUI echnology--that, I know, they aren't.
Re:nostalgia (Score:2)
Oh really? As far as shipping systems, they are the epitome of GUI. There isn't much competition-- X windiws which is blatently crappy, Windows XP et. al,. which are poor copies of Mac OS X and Linux which is an even poorer copy of Windows. No, its the epitome of GUIs, that goes without there's not disputing that.
Unless, of course, you're one of those people who thinks Apple should ship a laptop with a 23 inch display, quad G4s running at 1GHz and 20 hours of battery life nad a price of only $250, to compete with the XBOX. Some people are just unreasonable.
Like I said, there's nothing important left out of Objective-C. All the things you mentioned are irrelevant. You, like the other guy, are complaining that its objectiveC and not smalltalk. If you want smalltalk, fine, use it, but don't expect everyone in the world to use small talk for every situation. Hell, all three of the things you mentioned are included in ObjectiveC.
As to your bashing compiled applications, well, I should have known. There's no arguing with you-- you want the laptop I described above. you see no reason why things shouldn't be perfectly the way you want, and I suspect you have no idea why they aren't.
This is a form of intolerance that is common on slashdot. There are a lot of people here who have some ideological world view and wish to insist that everything must fit it... and so they will ignore superior technology, or bash it, merely because it doesn't fit their purpose.
Most of the complaints about Mac OSX are that its not Windows.... yet these people are too stupid to realize that Windows is what they are actually advocating. Why is there not an outcry that Linux just has a ripped off windows UI instead of soemthing useful? Because the customer base for Linux is windows users who want to feel "cool".
Whatever. ITs pointless to argue about.
Re:nostalgia - Smalltalk wasn't better (Score:2, Interesting)
You make the argument that Smalltalk and Lisp systems from the 70s were addressing the kinds of things that Microsoft and Apple have been dolling out in small doses over the years (inconsistently etc.) and I agree...
However, the deeper fact of the matter is Smalltalk wasn't and isn't a complete solution (and still aren't) and can't compete with, say, OS X, because it certainly doesn't provide:
* Component document models like OpenDoc was supposed to provide. Smalltalk-80 didn't have this, nor does Squeak.
* Further, they don't even really have tools like word processors, image editors, and other areas that normally fall in the "application" domain. I've seen simple web browsers and simple editors, but nothing on the order of functionality provided by most word processors. There is the argument that if you were to do these things properly object oriented they wouldn't look like Word anyways, but Smalltalk didn't/doesn't even do that.
* The same kinds of areas of work that are being heavily investigated in other languages are areas of heavy investigation and work in the platforms you mention, too: object distribution, published components and packages (Squeak is only now breaking out the single-image-single-system and allowing for modular ), persistence, etc.
* Performance of Smalltalk in the 80s was hardly acceptible on personal computers of the time. Apple and NeXT used the "compromised" (i.e. compiled, not interpreted, etc.) tech they did because they were running on 68K platforms with consumer hardware.
C++, Objective-C, Java, etc. are different answers to different questions. I don't necessarily agree with the questions asked, but they are solutions.
C++ is a great system-level programming language. It does a lot of things really well, though object-orientation isn't really one of them. Objective-C is a reasonable compromise for moving people from a C/Unix world to an OO world. Java is, well... an overarchitected and overmarkted approach to the same thing Smalltalk was attempting...
The problem is that the best system based on the principles established by PARC, etc. hasn't been built yet. Perhaps it could have if certain companies had displayed more guts and leadership -- but there were very distinct market forces acting against the progress of properly engineered, heavily researched, elegant technologies.
Re:nostalgia - Smalltalk wasn't better (Score:2)
I would argue that component models are a solution to a problem created by dividing up the world into separate applications in the first place. Smalltalk doesn't have them because they don't make sense in that kind of environment.
Further, they don't even really have tools like word processors, image editors, and other areas that normally fall in the "application" domain. I've seen simple web browsers and simple editors, but nothing on the order of functionality provided by most word processors.
Yes, but the question is whether the partitioning of the world into "big word processor" and "big web browser" is the right one. We never really had much of a chance to find out. In part, that kind of structure wasn't even imposed by poor technical decisions, it was simply imposed by the way we packaged and sold software.
C++ is a great system-level programming language. It does a lot of things really well, though object-orientation isn't really one of them. Objective-C is a reasonable compromise for moving people from a C/Unix world to an OO world. Java is, well... an overarchitected and overmarkted approach to the same thing Smalltalk was attempting...
Yes, we are in agreement there.
The problem is that the best system based on the principles established by PARC, etc. hasn't been built yet. Perhaps it could have if certain companies had displayed more guts and leadership
Right. That's basically my point. Smalltalk-80 (or Squeak today) clearly does not represent anything most people would want to use for anything. But in the early 80's, Smalltalk-80 represented a genuninely different starting point for the evolution of GUIs and personal computing than MacOS, and I think a better starting point. (And I think at the time, it actually could have been competitive, since what it was competing against wasn't all that good technically either.) Smalltalk-80 could have evolved into something much better than we have today. We never got to find out where that path would have led.
As for Apple, my point is: yes, MacOSX is prettier and a little nicer to use simply because Apple does a reasonable job at making upscale computers. But if Apple had shipped Copland/Gershwin, that wouldn't be any different. Apple pays a bit more attention to quality than other vendors, but fundamentally, their products are no different from the prevailing paradigm in my opinion.
So, I don't lose any sleep over Copland/Gershwin--but some other possible paths that the industry didn't explore really strike me as missed opportunities.
Re:nostalgia (Score:2)
security, reliability, data integrity, hardware independence.... Companies like Microsoft, Borland, Lotus and Wordstar, WordPerfect were huge sellers because they got bad hardware to run moderately complex applications much faster than the compitition. People were running mass land approasal apps with thousands of entries, real time, in lotus (an applications specific quasi-gui) with 512K of ram on an 8mhz CPU.
In the late 1980's we were almost in a position to make the switch over to applications which were not tied so closely to hardware. Windows and OS/2 were developed and usable, MacOS has mature, x86 unixes were available; further where performance was needed most of those apps could boot to 32 bit DOS which took a lot of pressure off in terms of performance. But backwards compatability mattered at this point in a way it hadn't at the start of the decade. Many people forget that software was much more expensive then than it is today: a good word processor retailed for $495, a good spreadsheet another $495, a good database $595. Microsoft was still two years away from driving the prices down by 80+%. So this led to binary compatability being key and that meant complex emulations which mean C/C++/assembly....
Then around 91 or 92 there was a fire in Taiwan which cut world memory supplies by something like 60% for several years and drove memory prices way up. My 80368-40 had 20 megs of ram (ran windows 3.1 wonderfully); my Pentium-60 (first generation) had only 16 megs and that was expensive. We lost several years because memory prices stayed high; and CPU intensive but memory light apps dominated. OO did come of age; but because it used memory less effeciently full OO environments did not come of age.
Around the time the prices started to come down quest for a better OS went into full swing. Linux became popular with the tech crowd, OSX became the direction of Apple, Microsoft moved their corporate strategy to NT...
Mac tech promised, demo'd, here-and-gone, whatever (Score:2)
One I recall from early net days was a browser plug-in for viewing a web directory (Yahoo!?) as a 3D flythrough environment, like lots of other neat Apple demos it's long gone without a trace. Another still in MacOS 9 is the smart text handling - the ability to click on a text string and have an appropriate handler come up for it: web, address, phone number, etc. Or "summarizing" a selected stretch of text via Sherlock.
Anyone else have any favorite past Apple Mac-based technologies? Promised, demo'd, here-and-gone, whatever? Anyone know of a site detailing the MacOS-tech graveyard?
Re:Mac tech promised, demo'd, here-and-gone, whate (Score:3, Interesting)
Here's the archive of Apple's official Hotsauce (aka Project X) homepage [archive.org], which is what you're thinking of. Yeah, even Yahoo was up on the Meta-Content Framework deal.
V-Twin [nec.com] was the basis for the summarize feature, I think there's still an SDK up for it.
Personally, I liked PowerTalk [mactech.com]. A system-wide, integrated mail and collaboration framework with a standardized mailing interface.
Even if the implementation is done with LDAP, PGP, and Sendmail now, I really wish they'd bring back those APIs for application code. The "digital signing" concept integrated into the API was better integrated than Apple File Security in Mac OS 9, and better than anything in OS X right now. Remember being able to verify a document's signiature from the Get Info window? The Keychain is the only concept that survived.
QuickDraw GX ( [apple.com] here [apple.com] or here [mactech.com]) was WAY ahead of its time. Although a lot of its features found their way into ATSUI [apple.com] with Unicode, QDGX still had soul. I still don't know of any program that can do all the really really fancy and obscure ligatures properly.
Probably my FAVORITE technology was/is Apple Guide [mactech.com]. There's nothing quite like a help system that draws coach marks on the screen when telling you how to perform a step. That plus hilighting proper menu options in red, and the fact that it wasn't glacially slow once it became PowerPC native, made it a really amazing conversion tool.
Balloon Help was quirky and fun. I don't really understand why they replaced something so cool with something as lame as Tooltips. =(
QuickDraw 3D [mactech.com] and Apple Data Detectors had some cool concepts too. Maybe we should get them to re-write Data Detectors using Perl regexps
Arrgh.. the OS that Could Have Been... Try the old Apple Advanced Technology Research Group [archive.org] website for more stuff.
Re:Mac tech promised, demo'd, here-and-gone, whate (Score:2)
Re:Mac tech promised, demo'd, here-and-gone, whate (Score:3, Informative)
Re:Mac tech promised, demo'd, here-and-gone, whate (Score:2)
Re:Mac tech promised, demo'd, here-and-gone, whate (Score:2)
I loved that! Apple Deta Detectors. Then there was ICeTEe that let you click on URLs in almost any application and launch your web browser.
For OS X there is ICeCoffEE which does the same thing as ICeTEe under OS 9, but only with Cocoa applications. BBEdit and TexEdit Plus are two Carbon applications that let you Command-click a url.
You can get it from http://web.sabi.net/nriley/software/ [sabi.net]
Serial Experiments Lain (Score:2)
Re:Serial Experiments Lain (Score:2)
NeXT and their failers (Score:3, Interesting)
The Motorola was because they could not get a new 68K chip fast enough.
The Sun was because they went from an OpenStep based system to a java based one. HP decide to brake their deal with NeXT right after that.
OpenStep was running on both SPAC and HPPA before Apple bought NeXT.
Also before Sun went the java route, they bought a company that was making an office suite for OpenStep (see they owned an office before StarOffice).
Re:NeXT and their failers (Score:2)
Yup, old Mot was having cpu performance problems even back then. NeXT was apparently working on a dual proccie 88K machine to solve their performance woes (though the turbo cube with NeXT Dimension rocked at the time).
OpenStep was running on both SPAC and HPPA before Apple bought NeXT
And it was also running on Intel, and they didn't "drop it". I think it was quite obvious that Sun and HP just wanted to keep tabs on the "cool" NeXTStep technology. They saw that NeXT was far ahead as far as having a unified os/development environment, and they wanted to be able to take advantage if it caught on.
On a side note, NeXT sort of "borrowed" a bit of tech from Sun when they chose to use Display Postscript, since Sun had used it for their NeWS (hmmm, notice a similarity in capitalization ?) windowing system back in the early SunOS 4 days).
Re:NeXT and their failers (Score:2)
Re:NeXT and their failers (Score:2)
Disaster in success (Score:2, Insightful)
The author seems to assert that a fantasy completed Copland and OpenStep would be of equal value. But imagine if Apple had actually shipped Copland. What would Apple have had? It might not have crashed as much, but it would have been just as obscure.
NeXT brought Apple Unix roots. This has completely changed the market perception of Apple. Folks and companies who never would have considered Apple are now testing the waters.
It may have come about because of confused decision making, but thank goodness it came about.
Re:Disaster in success (Score:2, Insightful)
I wholeheartedly agree with this.
I've been a staunch Mac user/advocate for about 7 or 8 years. I first started mucking around with linux in 96-97? and later moved on the Free/OpenBSD. I eventually I got hooked on the UNIX thing and became regular command line jockey and would always have a a few ssh sessions open on my mac at any point in time. I probably would have lost some interest in the Mac if they wouldn't have gone the NeXT/UNIX route. first I started playing with apache and FTP, then BIND, then sendmail, then samba, now apache/php/postgres/oracle. Odds are I wouldn't have been able to run those on whatever Copland/Gershwin would have produced. just like you can't usually run that stuff on OS 7/8/9. The OS is usuall just a bit too strange to make porting very easy. I don't think I would have dropped the Mac in lieu of windows to occasionally run some commericial software but I also don't think I'd be as excited about the OS/hardware as I am now with my Powerbook and OS X and it's ability to easily(relatively speaking) compile/run just about any popular UNIX app/server in addition to all the commercial wares. So if a really staunch Mac supporter would have possibly lost some interest, I seriously doubt apple would have seen all the interest from potential Linux/UNIX "switchers" checking to see if the grass is greener on the other side of the fence.
We needed the Unix (Score:4, Insightful)
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.
Re:We needed the Unix (Score:2)
Hell, even BeOS, which didn't break the status quo much at all is at least a step in the right direction.
If I could, I'd ditch these Unix machines for the chance to run a real OS, a truly scriptable OS, an OS with no flat files- just objects. It would make data interchance so much easier. Oh well!
(And yes, I'm a Mac user.)
Too much conjecture, speculation (Score:4, Interesting)
Most frustrating part:
Apparently the author is too stupid to realize Apple was sinking. Fast. It took a major acquisition to prove to the board and shareholders that positive steps were being taken towards updating what was then a very unstable, inefficient Mac OS.As a Mac user since the early 1990's, I can honestly say that the 2nd-generation Power Macs (the PCI ones like the 7200/7500/8500), in the System 7.5.2 - to 8.0 era, were horrendously crashy and pricey. (I still used them because the Windows UI pissed me off, but I was beginning to envy my Wintel friends every time my 7200/75 locked up)
OS 9, the iMac, the legacy-free towers were all great products which had little to do with the NeXT team. While it's likely true that Apple's own engineers bailed themselves out of the mess they had gotten into under Sculley's leadership, it was too little too late in the eyes of shareholders and consumers.
In short: if they couldn't demonstrate that they were going to leapfrog Windows in terms of stability, Apple was dead in the water. Apple's own engineers likely had lots of credibility with Apple management, but that was not enough. Even if Copland was only 6 months from completion, Apple was in grave danger, and was wise to purchase a proven technology. It may be unfortunate that business success is a necessary evil in the development of software, but I wouldn't go calling Apple's management stupid. They bit down and did what had to be done.
Re:Too much conjecture, speculation (Score:1)
Re:Too much conjecture, speculation (Score:2)
Even if Apple had an OS in the wings that could make monkeys fly out of my butt, it was simply too late for it. Sometimes you have to sell your soul - and put marketing ahead of technology - so that you'll at least have a company with the means to offer it!
I too lament the passing of technologies like OpenDoc, Agents, the classic finder that would have been virtually identical to Copland's - but unfortunately it had to go just for Apple to remain afloat. You are right in that it has to do with perception rather than quality of technology. It sucks but Apple made the right decision.
Re:Too much conjecture, speculation (Score:2)
Zorn (Score:2)
~jeff
It wasn't just the software (Score:5, Interesting)
I think the article is good, but it is only half the story. Apple is, and always has been, a hardware company. The thing that really screwed Apple during the Gil Amelio years was a total lack of hardware engineering. Apple tried to become a "beige box" company, and tried to have a solution for every problem. It just wouldn't work.
When Steve Jobs came back to the company, there was something like 85 SKUs for hardware systems. For those who aren't familar with marketing/retail, that's a lot. It wasn't like "You can have a 7200 with X Y or Z memory", it was "You can have a 7200 with 16MB, or you can have a 7200 with 32MB or you can have a 7200 with 64MB" and the vendor would have to stock all three. Impossible.
Plus, none of the hardware was exciting. People just plain didn't want to own it. It was like, sure, I can get a beige box that runs 7.5.2, crashes all the time, and has only Word 6 (god, what an abomination), or I can spend half as much, build my own Wintel, and get the newest Office.
The main thing the reintroduction of Steve Jobs did for Apple was put a single vision back in charge of both hardware and software. Even if Copland was further along than NeXT, it was hopelessly mired in a hardware development cycle that was just flawed. One of the main problems Copland faced was not only the need for backward compatibility of software, but the need to support 85 different configurations of non-industry-standard hardware. Impossible. Anyone remember the "Enablers"? God, what a mess.
One of Job's most controversial moves, and perhaps his smartest, was to draw a hard line in the sand at the G3, a processor that was barely even shipping when he announced the spec. Thus, he promised hardware compatibility only back to the currently brand-spanking new machines, guaranteeing that, at the end of a 3-5 year development cycle, the OS would only have to support hardware 3-5 years old. Man, did people scream and moan ("But I just bought an 8600/120!"), but now Apple is back where it needs to be. One of the biggest complaints over Win2K was its trouble with older hardware. MS was able to make Win2K fly by (1) not pitching it to home users, who were more likely to have funky sound cards, and (2) providing a lot of expensive support to hardware manufacturers to write compatible drivers in time for XP.
One pre-Jobs hardware move that Apple took that is now reaping benefits was to eschew its own good but expensive standards for adequate but cheap industry standard. Internal SCSI 4X CD Roms gave way to ATAPI; NuBUS gave way to PCI; etc. This made it even easier for the OS developers to support hardware.
Anyway, in order to understand the whole Apple picture, you have to consider the wretched state the hardware side was in in 1996, and realize that, even if no one bought the cube, they have come a really long way - and that is what made OSX possible.
Apple's "develop" article on Copland (Score:4, Informative)
For those of who weren't programming Macs back in the Day (remember APDA?), Apple had an award-winning quarterly technical journal called "develop" which had lots of neat articles in it with a fun and offbeat tone. Sort of like O'Reilly and Associates has now. They stopped putting it out in '97 amid all the hemoraging, but all the issues are available here [mactech.com].
Anyway, there's a pretty informative article explaining all about Copland here [mactech.com].
Using rosecolored glasses to look into the past. (Score:2, Informative)
Re:Using rosecolored glasses to look into the past (Score:2, Informative)
Spot the Inaccuracies... (Score:2)
He's also a massive OS9 whiner, often deriding things in OSX just because they're not the exact same thing as they were in OS9. But let's look deeper into this. The big inaccuracy with this article is the assertion that Apple had Carbon working on NuKernel (spelled with an e, not an a) many years ago. False. Copland, rather like OSX, had a completely new API (Taligent), and used a virtual machine known as the Compatibility Box to run System 7 apps. Copland had no notion of anything like Carbon.