Scanner (Epson USB - not sure of model) - paperweight.
I have one on my desk. Works like a charm.
USB Mac Floppy drive - paperweight in OSX.
My ex-girlfriend had one that she used for sneakernetting documents back and forth to the office where she worked. Standard USB mass storage device. Plug-and-go.
Midi - not only did she have to buy a new interface, (old mac serial was obsolete), but midi support in 10.2 was quite primitive.
I don't do audio myself, but my friend the composer doesn't have any complaints.
Finale 2002 - A Classic MacOS program that could not access the hardware it needed in MacOS X.
Like I said, never used it myself. However, seeing as how programs like Logic --hell, even Garage Band --work perfectly on the Mac, I'd say this was an isolated case.
In fact, because of Core Audio's incredibly low latency, doing audio on the Mac is dramatically superior to doing it on any other platform.
No, never. I have lived my entire life cloistered in a tiny room with only a slit in the thatching for light. I post these messages by way of epistles written on onionskin in my own blood. I pass them under the door to the huntsman who comes by my hut once a week. You asshole.
an enormous amount of enterprice applications today require a web-interface
"Require?" No. Nothing requires a Web interface.
Low maintenance cost being a primary argument.
Again, you're trying to pave over the fundamental flaws in a platform by introducing another platform that just sucks in a different way.
Do you have any idea of the cost of rolling out a new native application to 50.000 workstations?
If it were a network of Macs, $0. If you're using some dumbass 20th-century operating system, who the hell knows.
Integrate/. with some software running on AS/400 and some HP-UX proprietary applications, and you are there.
And you're where? Stuck in the 90s? That's not something I'd brag about if I were you!
Java is, by far, the best tool for a number of different types of projects.
Only if you throw out laughable parameters like "must run in a fucking Web browser."
What tool would you use, and how many developer will you need?
Well, for starters, the first thing I would do is fire the dumbass that came up with that utterly antiquated and absurd list of requirements. If you define every problem as a nail, of course a hammer is going to solve them! But that doesn't change the fact that your problem is not a nail, and that you're wasting a fucking fortune --not the least of which has to go into training your staff to run your fucked-up application --doing it in exactly the wrong way.
But hey, why should you believe me? You get paid a ton of money to do things the wrong way. If folks actually knew the right way, you'd be out of a job. Who can blame you for trying to defend your sinecure?
"We made it work" is not something for which you are entitled to praise, because the fact of the matter is that your solution fucking sucks, and will end up costing way more than it would have cost to just do it right the first time.
In case you're wondering, this is why everybody hates IT idiots. Because you sell people who trust you on systems that are laughably absurd, and pat yourselves on your backs for your ingenuity. You spend zero time thinking about human factors. Will this application be easy to use? Will it be easy to train our staff? These thoughts never cross your mind. No, you're too busy being penny-wise and pound foolish to ever stop to think about the big picture.
That's why so much of the world is still stuck in the 20th century. Guess what, dumbass? Your little AS/400 isn't cool any more! It's not the state of the art any more. Everything on it is obsolete, and not just in the sense that there's something better, but rather in the sense that using it is like trying to perform surgery with a bulldozer. You could turn your attention toward creating actual solutions for big problems, but instead you just bury your head in what-worked-ten-years-ago and call yourselves experts in your field.
And then you go on a message board -- which you laughably refer to as an "enterprise application," as if the expression carried no meaning at all --and accuse people who see through your act as "not living in the real world."
I swear to God, if somebody pulled the fucking "Java in a Nutshell" out of your sweaty little hands, replaced it with a Bible and dropped you in Rome a thousand years ago, nobody would be able to tell the difference.
Unless it has a web interface, you won't be able to sell it.
Sigh. Circular reasoning. "Native applications for this platform suck." "Then make it a Web application!" "But don't Web applications also suck?" "Yes, but if you kind of squint, they could be said to be marginally less bad than equivalent native applications." "Oh, win!"
Through it all, nobody talks about the fact that replacing something terrible with something slightly less terrible isn't progress. It's just self-flagellation.
I see you like/. - a very nice application with, in my opinion, a fairly decent UI.
Ah, I see. You make-a de funny, funny joke.
I also see that you completely forget to comment on your own ignorance about building Java GUI apps with frameworks like SWT.
Hey, man, pick your toolkit. Cow shit is cow shit no matter what color spray-paint you use on it.
Only incompetent developers blame their tools.
And only fools look around and declare that they must be living in the best of all possible worlds.
Hey, you might have a legitimate gripe there...if not for the fact that the problem was fixed thousands and thousands of years ago, before the dawn of recorded history.
So long as we're bitching about things, you know what really pisses me off? The Stamp Act. That fucker really rubs me the wrong way.
I am willing to bet a lot of money that the majority of Java applications have a web user interface
Oh, goody. Even more pain. Rather than having basic system services -- like drag and drop -- that just barely work under the best of circumstances, you have basic system services that are simply unavailable.
Why don't we all just go back to VT100s and serial lines? Wouldn't that make your job oh-so-much easier?
I guess you don't remember NVIR,WDEF or the other many mac viruses.
Sure. None of them were transmissible over a network, though. You had to actually stick a piece of media into your computer to get those. Which kind of takes them off the table in the context of this discussion.
There was also the ping of death
Which could be described as nothing more or less than a particularly effective denial-of-service attack. In no way was the information on the target computer compromised. Bad, yes, but not the same thing as what we're talking about here. Plus, it was fixable by hitting the "restart" button.
Lets also not forget about 4 new vunerabilities that came out last week.
You mean the ones that were uncovered during an audit, that have never been seen in the wild, and that only surprised Apple because ImmunitySec failed to report the results of the audit? Yes, by all means, let's not forget those.
apple loves to screw over its customers
Yawn. Another "I hate Apple" idiot. Yes, when Apple switched from the 68000 processor to the PowerPC, people with 68000s suddenly found that their computers weren't worth as much. Know what other crime against humanity goes unpunished? Every year, car companies come out with newer, better, more capable cars, and they refuse to provide existing customers with an upgrade path. I bought a 325 in 1996, and when the 330 came out a couple of years ago, I was told in no uncertain terms that the dealer absolutely would not swap my engine out for me at any price. The bastards!
You know what I can do with my PC today? Use software that was written back in the early 90s.
Good for you. Meanwhile, the rest of us are enjoying living in the 21st century, using newfangled gadgets like DVDs and camcorders and iPods. But if sticking with technology so out of date that the Amish scoff at you makes you happy, then by all means, follow your bliss.
Um. It does. Because, with exactly one exception that I know of, a Java application has to have a Swing user interface. And there are a couple of things in life that are worse than Swing user interfaces -- having your fingernails pulled out slowly, watching "The Apprentice," nuclear war --but not too damn many.
The one exception I know of is Cocoa Java. Apple has made the Cocoa application programming environment available through a Java API, which is great. But if you're going to write a Mac-specific front-end for your application anyway, you're better off using Objective-C and doing it right the first time.
There might be a similar Java exposure for the various and myriad Windows UI APIs, but then we have to have a big conversation about whether it's possible to build a good user interface on Windows, and that's another show.
I think I know how you're turned around, though. It's possible to create bad software in any language, using any toolkit. However, the opposite is not true. It's not possible to create good software using just any language or toolkit. Some languages and toolkits (like Java and Swing) just plain prevent you from creating good software. They just make it impossible.
MacOS X is quite nice, but my experience is that the hardware and software support still isn't there
I don't follow. I'm just gonna leave the hardware part alone, because odds are you're talking about your circa-1989 parallel-port Epson dot matrix printer or some damn-fool thing, but software? Mac OS X will run virtually any Mac application ever written --there are a very few ancient programs that won't run either under Mac OS X or the Classic environment --and it can run any POSIX-compliant UNIX program for which you have the source code. That means it can run all Linux software plus all Mac software, plus or minus a small fudge factor.
Also, what with Virtual PC, it'll run practically all Windows software.
There's just not a hell of a lot of software out there that can't run on a Mac. So whatcha mean?
No, he is. The last time I had anything to do with Linux, it was in the Red Hat 6 days. Since that product no longer exists, I'd have to use Google to find out where to get Linux, and I wouldn't have the foggiest idea of which particular flavor I should use. I'd have to do a significant amount of research before even knowing where to start...unless I was willing to just download the first thing I stumbled across.
I think you might be experiencing a little "forest for the trees" thing here.
Put a Mac -- either from the same era or a modern one -- on the Internet, though, and what happens? Nothing. Because Macs are just inherently more secure than either Windows or, apparently, Solaris 2.6.
Which I think is just what the author of the column was trying to say.
I didn't realize that we were calling the process of dicking around with your computer trying to get it to do the most rudimentary tasks "playing games" now, but okay.
I'm pretty sure you're plunging into semantics here. I don't mean to be rude, but that kind of back-and-forth does not interest me. If you want to call software that's bundled with an operating system part of the operating system, that's no skin off my nose.
There are even bits of Linux code here and there in Darwin.
No, there aren't, for licensing reasons. Linux is encumbered by the proprietary Gnu license, which Apple has rejected out of hand. There is no Gnu-licensed code in Darwin.
If Linux were available under an open license, maybe Apple might have been able to benefit from some pieces of it. But as of right now, it's impossible.
Er, no. CAD/CAM and visual simulation created the need for accelerated 3D. Video games got it for free. After all, what is a video game but a visual simulation with a really lousy simexec?
That doesn't actually have anything to do with Darwin, or with XNU. See, on top of the kernel are two user-space frameworks called Foundation and AppKit. These both started out on NeXT, and were ported to the new hardware and kernel as part of the Mac OS X development process, but they've both evolved significantly since.
Yes, if you go spelunking in the AppKit classes, particularly NSWorkspace, you find lots of NeXT-y looking things. But at that point you're not really programming; you're doing archaeology.
It seems like some people don't know the story there.
Back in the mid-90s, Apple developed their own port of Linux running on Power Mac hardware. It was called MkLinux. Apple shipped a number of developer releases.
The problem was that, compared to the work Apple was doing on what would eventually become XNU, the Linux work was just not very encouraging, particularly in the area of device drivers. The Linux modular kernel model was also inferior to XNU's. So when it came time to choose a kernel for their new operating system, Apple dropped Linux like a hot potato and chose XNU with I/O Kit instead.
This Web page gives a decent very high-level overview of how XNU was designed, explaining why it was a better fit than Linux for a robust, general-purpose, reliable operating system. Of course, Apple's Darwin documentation is the best source for up-to-date information.
LOL. The part where you tried to diagram your own sentence and completely imploded cracked me up. Satire at its finest!
"I [noun] recently [adverb] got [verb] set [verb] to [preposition]..."
Hilarious stuff! Seriously, man, you should write for The Onion or something. You've got a real future in comedy. I only wish you'd kept going, describing "having" as yet another verb or something. It would have been even funnier.
Um. That's basically, you know...fiction. PDF is an open specification. There are no licenses for PDF. Anybody who wants to can implement a computer program to read or write the PDF file format.
Quartz did not evolve from Display PostScript, except in the vague conceptual sense. There is zero NeXT code in Quartz.
And seriously, you need to go back and read. I never said that Quartz evolved from QuickDraw. It didn't. Nor did it evolve from Display PostScript, or from PDF.
This old saw needs to die, now. It's completely false to say that "the whole graphics subsystem is built on PDF." That simply isn't so. Let me explain where that came from.
Back in the olden days, there was this thing called QuickDraw. QuickDraw was pretty incredible. It consisted of a full-featured set of routines for drawing on the screen, and the whole business fit inside something like 32 KB of ROM.
QuickDraw was based on the idea of pixels. Everything was a pixel. Drawing with QuickDraw was based entirely around pixels.
Quartz abandoned the idea of pixels in order to give programmers a device- and resolution-independent graphics toolbox. Quartz consists of two parts: a drawing library called Quartz 2D, and a windowing and real-time compositing system originally called Quartz Compositor. A couple years back, Quartz Compositor was re-implemented in GPU code and re-christened Quartz Extreme. (Quartz Compositor still runs on Macs without programmable GPUs.)
The imaging model used for Quartz 2D was inspired by both Display PostScript and PDF, but it's not the same as either of them. Unlike QuickDraw, where everything was about pixels, in Quartz 2D it's all about paint. Quartz 2D establishes a floating-point coordinate system called a context, and the programmer draws on the context by defining regions and filling them with paint. Internally, everything is represented as a display list, as opposed to a bitmap like in the old days. The display list gets rendered to the screen by Quartz Extreme.
Because Quartz 2D uses a similar imaging model to PDF's, Quartz 2D display lists can be translated to PDF trivially. The whole business is handled for you. All you have to do is request a Core Graphics PDF context instead of a regular Core Graphics context and draw to it just like you were drawing to a window. Core Graphics is responsible for translating your Quartz 2D display list into PDF.
So let's be totally clear here: None of the graphics on your Mac are represented internally in PDF format until your program explicitly requests that a display list be saved in PDF format. Internally, everything is a Quartz 2D display list. The computer converts to and from Quartz 2D quickly and easily through the use of some highly optimized Core Graphics code.
Now, you wanna know why Acrobat is so much slower than Preview? Because Acrobat uses its own PDF interpreter to go from PDF to QuickDraw. This takes a ton of CPU time, compared to going from PDF to a Quartz 2D display list. So Acrobat is both much bigger (because it includes a whole PDF interpreter) and much slower than Preview.
On Windows or Linux or whatever other incredibly lame operating system you want to consider, a PDF reader is necessarily going to be big and slow, because it's gonna have to translate from PDF into some bitmap format. Old operating systems don't have the advantage of having an internal display-list graphics format that's conceptually similar to PDF, or a hardware-accelerated compositor that's responsible for turning those display lists into pixels. But that still doesn't change the fact that the PDF specification is wide open, and anybody who wants to should be able to write his or her own PDF reader for those old operating systems.
Incidentally, Quartz 2D used to be notably slower than QuickDraw for doing lots of basic tasks. If you take antialiasing and transparency off the table and just deal with drawing lines, QuickDraw used to kick Quartz 2D's ass. No more, though, because Quartz 2D has recently been rewritten to take advantage of programmable GPUs, just like Quartz Compositor was rewritten and became Quartz Extreme. Now, depending on the kind of GPU you have, Quartz 2D can be anywhere up to 40 times faster than QuickDraw...and that's with antialiasing and transparency. It's pretty amazing.
Frankly, it kinda makes me wonder why more people aren't raving about Quartz. I guess it's probably because most people don't unde
Printer (HP Photosmart 1000 USB) has been flaky.
I had one at my old office. Worked perfectly.
Scanner (Epson USB - not sure of model) - paperweight.
I have one on my desk. Works like a charm.
USB Mac Floppy drive - paperweight in OSX.
My ex-girlfriend had one that she used for sneakernetting documents back and forth to the office where she worked. Standard USB mass storage device. Plug-and-go.
Midi - not only did she have to buy a new interface, (old mac serial was obsolete), but midi support in 10.2 was quite primitive.
I don't do audio myself, but my friend the composer doesn't have any complaints.
Finale 2002 - A Classic MacOS program that could not access the hardware it needed in MacOS X.
Like I said, never used it myself. However, seeing as how programs like Logic --hell, even Garage Band --work perfectly on the Mac, I'd say this was an isolated case.
In fact, because of Core Audio's incredibly low latency, doing audio on the Mac is dramatically superior to doing it on any other platform.
Palms don't speak SyncML yet? Silly rabbits.
You have never been out in the real world I see.
/. with some software running on AS/400 and some HP-UX proprietary applications, and you are there.
No, never. I have lived my entire life cloistered in a tiny room with only a slit in the thatching for light. I post these messages by way of epistles written on onionskin in my own blood. I pass them under the door to the huntsman who comes by my hut once a week. You asshole.
an enormous amount of enterprice applications today require a web-interface
"Require?" No. Nothing requires a Web interface.
Low maintenance cost being a primary argument.
Again, you're trying to pave over the fundamental flaws in a platform by introducing another platform that just sucks in a different way.
Do you have any idea of the cost of rolling out a new native application to 50.000 workstations?
If it were a network of Macs, $0. If you're using some dumbass 20th-century operating system, who the hell knows.
Integrate
And you're where? Stuck in the 90s? That's not something I'd brag about if I were you!
Java is, by far, the best tool for a number of different types of projects.
Only if you throw out laughable parameters like "must run in a fucking Web browser."
What tool would you use, and how many developer will you need?
Well, for starters, the first thing I would do is fire the dumbass that came up with that utterly antiquated and absurd list of requirements. If you define every problem as a nail, of course a hammer is going to solve them! But that doesn't change the fact that your problem is not a nail, and that you're wasting a fucking fortune --not the least of which has to go into training your staff to run your fucked-up application --doing it in exactly the wrong way.
But hey, why should you believe me? You get paid a ton of money to do things the wrong way. If folks actually knew the right way, you'd be out of a job. Who can blame you for trying to defend your sinecure?
"We made it work" is not something for which you are entitled to praise, because the fact of the matter is that your solution fucking sucks, and will end up costing way more than it would have cost to just do it right the first time.
In case you're wondering, this is why everybody hates IT idiots. Because you sell people who trust you on systems that are laughably absurd, and pat yourselves on your backs for your ingenuity. You spend zero time thinking about human factors. Will this application be easy to use? Will it be easy to train our staff? These thoughts never cross your mind. No, you're too busy being penny-wise and pound foolish to ever stop to think about the big picture.
That's why so much of the world is still stuck in the 20th century. Guess what, dumbass? Your little AS/400 isn't cool any more! It's not the state of the art any more. Everything on it is obsolete, and not just in the sense that there's something better, but rather in the sense that using it is like trying to perform surgery with a bulldozer. You could turn your attention toward creating actual solutions for big problems, but instead you just bury your head in what-worked-ten-years-ago and call yourselves experts in your field.
And then you go on a message board -- which you laughably refer to as an "enterprise application," as if the expression carried no meaning at all --and accuse people who see through your act as "not living in the real world."
I swear to God, if somebody pulled the fucking "Java in a Nutshell" out of your sweaty little hands, replaced it with a Bible and dropped you in Rome a thousand years ago, nobody would be able to tell the difference.
I thought there was an issue with Quark and Classic
Could be. I don't know anybody who even tried to use it.
Palm is a close second to Quark.
Are they still making software? I thought iSync put them right out of business.
The last version of office to connect to an exchange server is 2001 running in Classic.
If you've still got an Exchange server, man, you've got way bigger problems than Mac OS X compatibility.
Unless it has a web interface, you won't be able to sell it.
/. - a very nice application with, in my opinion, a fairly decent UI.
Sigh. Circular reasoning. "Native applications for this platform suck." "Then make it a Web application!" "But don't Web applications also suck?" "Yes, but if you kind of squint, they could be said to be marginally less bad than equivalent native applications." "Oh, win!"
Through it all, nobody talks about the fact that replacing something terrible with something slightly less terrible isn't progress. It's just self-flagellation.
I see you like
Ah, I see. You make-a de funny, funny joke.
I also see that you completely forget to comment on your own ignorance about building Java GUI apps with frameworks like SWT.
Hey, man, pick your toolkit. Cow shit is cow shit no matter what color spray-paint you use on it.
Only incompetent developers blame their tools.
And only fools look around and declare that they must be living in the best of all possible worlds.
Didn't Quark run under Classic? I don't know myself because I wasn't working in print during that period, but I seem to remember that was the case.
But yes, Quark is always the canonical example of a vendor who thoroughly fucked their customers and paid the price for it.
Hey, you might have a legitimate gripe there ...if not for the fact that the problem was fixed thousands and thousands of years ago, before the dawn of recorded history.
So long as we're bitching about things, you know what really pisses me off? The Stamp Act. That fucker really rubs me the wrong way.
Why, then, has there never, ever been a recorded instance of WebStar being compromised in the wild?
I am willing to bet a lot of money that the majority of Java applications have a web user interface
Oh, goody. Even more pain. Rather than having basic system services -- like drag and drop -- that just barely work under the best of circumstances, you have basic system services that are simply unavailable.
Why don't we all just go back to VT100s and serial lines? Wouldn't that make your job oh-so-much easier?
I guess you don't remember NVIR,WDEF or the other many mac viruses.
Sure. None of them were transmissible over a network, though. You had to actually stick a piece of media into your computer to get those. Which kind of takes them off the table in the context of this discussion.
There was also the ping of death
Which could be described as nothing more or less than a particularly effective denial-of-service attack. In no way was the information on the target computer compromised. Bad, yes, but not the same thing as what we're talking about here. Plus, it was fixable by hitting the "restart" button.
Lets also not forget about 4 new vunerabilities that came out last week.
You mean the ones that were uncovered during an audit, that have never been seen in the wild, and that only surprised Apple because ImmunitySec failed to report the results of the audit? Yes, by all means, let's not forget those.
apple loves to screw over its customers
Yawn. Another "I hate Apple" idiot. Yes, when Apple switched from the 68000 processor to the PowerPC, people with 68000s suddenly found that their computers weren't worth as much. Know what other crime against humanity goes unpunished? Every year, car companies come out with newer, better, more capable cars, and they refuse to provide existing customers with an upgrade path. I bought a 325 in 1996, and when the 330 came out a couple of years ago, I was told in no uncertain terms that the dealer absolutely would not swap my engine out for me at any price. The bastards!
You know what I can do with my PC today? Use software that was written back in the early 90s.
Good for you. Meanwhile, the rest of us are enjoying living in the 21st century, using newfangled gadgets like DVDs and camcorders and iPods. But if sticking with technology so out of date that the Amish scoff at you makes you happy, then by all means, follow your bliss.
Um. It does. Because, with exactly one exception that I know of, a Java application has to have a Swing user interface. And there are a couple of things in life that are worse than Swing user interfaces -- having your fingernails pulled out slowly, watching "The Apprentice," nuclear war --but not too damn many.
The one exception I know of is Cocoa Java. Apple has made the Cocoa application programming environment available through a Java API, which is great. But if you're going to write a Mac-specific front-end for your application anyway, you're better off using Objective-C and doing it right the first time.
There might be a similar Java exposure for the various and myriad Windows UI APIs, but then we have to have a big conversation about whether it's possible to build a good user interface on Windows, and that's another show.
I think I know how you're turned around, though. It's possible to create bad software in any language, using any toolkit. However, the opposite is not true. It's not possible to create good software using just any language or toolkit. Some languages and toolkits (like Java and Swing) just plain prevent you from creating good software. They just make it impossible.
MacOS X is quite nice, but my experience is that the hardware and software support still isn't there
I don't follow. I'm just gonna leave the hardware part alone, because odds are you're talking about your circa-1989 parallel-port Epson dot matrix printer or some damn-fool thing, but software? Mac OS X will run virtually any Mac application ever written --there are a very few ancient programs that won't run either under Mac OS X or the Classic environment --and it can run any POSIX-compliant UNIX program for which you have the source code. That means it can run all Linux software plus all Mac software, plus or minus a small fudge factor.
Also, what with Virtual PC, it'll run practically all Windows software.
There's just not a hell of a lot of software out there that can't run on a Mac. So whatcha mean?
No, he is. The last time I had anything to do with Linux, it was in the Red Hat 6 days. Since that product no longer exists, I'd have to use Google to find out where to get Linux, and I wouldn't have the foggiest idea of which particular flavor I should use. I'd have to do a significant amount of research before even knowing where to start ...unless I was willing to just download the first thing I stumbled across.
I think you might be experiencing a little "forest for the trees" thing here.
Put a Mac -- either from the same era or a modern one -- on the Internet, though, and what happens? Nothing. Because Macs are just inherently more secure than either Windows or, apparently, Solaris 2.6.
Which I think is just what the author of the column was trying to say.
Note, in particular, the date on that article. That's right. It was more than five years ago. It's still running WebStar today.
I didn't realize that we were calling the process of dicking around with your computer trying to get it to do the most rudimentary tasks "playing games" now, but okay.
I'm pretty sure you're plunging into semantics here. I don't mean to be rude, but that kind of back-and-forth does not interest me. If you want to call software that's bundled with an operating system part of the operating system, that's no skin off my nose.
Best wishes.
Samba is part of Darwin, for example
Samba is distributed along with Darwin. It's not part of Darwin. Similarly, iTunes is distributed along with Mac OS X. It's not part of Mac OS X.
There are even bits of Linux code here and there in Darwin.
No, there aren't, for licensing reasons. Linux is encumbered by the proprietary Gnu license, which Apple has rejected out of hand. There is no Gnu-licensed code in Darwin.
If Linux were available under an open license, maybe Apple might have been able to benefit from some pieces of it. But as of right now, it's impossible.
Er, no. CAD/CAM and visual simulation created the need for accelerated 3D. Video games got it for free. After all, what is a video game but a visual simulation with a really lousy simexec?
That doesn't actually have anything to do with Darwin, or with XNU. See, on top of the kernel are two user-space frameworks called Foundation and AppKit. These both started out on NeXT, and were ported to the new hardware and kernel as part of the Mac OS X development process, but they've both evolved significantly since.
Yes, if you go spelunking in the AppKit classes, particularly NSWorkspace, you find lots of NeXT-y looking things. But at that point you're not really programming; you're doing archaeology.
It seems like some people don't know the story there.
Back in the mid-90s, Apple developed their own port of Linux running on Power Mac hardware. It was called MkLinux. Apple shipped a number of developer releases.
The problem was that, compared to the work Apple was doing on what would eventually become XNU, the Linux work was just not very encouraging, particularly in the area of device drivers. The Linux modular kernel model was also inferior to XNU's. So when it came time to choose a kernel for their new operating system, Apple dropped Linux like a hot potato and chose XNU with I/O Kit instead.
This Web page gives a decent very high-level overview of how XNU was designed, explaining why it was a better fit than Linux for a robust, general-purpose, reliable operating system. Of course, Apple's Darwin documentation is the best source for up-to-date information.
LOL. The part where you tried to diagram your own sentence and completely imploded cracked me up. Satire at its finest!
"I [noun] recently [adverb] got [verb] set [verb] to [preposition]..."
Hilarious stuff! Seriously, man, you should write for The Onion or something. You've got a real future in comedy. I only wish you'd kept going, describing "having" as yet another verb or something. It would have been even funnier.
Um. That's basically, you know ...fiction. PDF is an open specification. There are no licenses for PDF. Anybody who wants to can implement a computer program to read or write the PDF file format.
Quartz did not evolve from Display PostScript, except in the vague conceptual sense. There is zero NeXT code in Quartz.
And seriously, you need to go back and read. I never said that Quartz evolved from QuickDraw. It didn't. Nor did it evolve from Display PostScript, or from PDF.
This old saw needs to die, now. It's completely false to say that "the whole graphics subsystem is built on PDF." That simply isn't so. Let me explain where that came from.
...and that's with antialiasing and transparency. It's pretty amazing.
Back in the olden days, there was this thing called QuickDraw. QuickDraw was pretty incredible. It consisted of a full-featured set of routines for drawing on the screen, and the whole business fit inside something like 32 KB of ROM.
QuickDraw was based on the idea of pixels. Everything was a pixel. Drawing with QuickDraw was based entirely around pixels.
Quartz abandoned the idea of pixels in order to give programmers a device- and resolution-independent graphics toolbox. Quartz consists of two parts: a drawing library called Quartz 2D, and a windowing and real-time compositing system originally called Quartz Compositor. A couple years back, Quartz Compositor was re-implemented in GPU code and re-christened Quartz Extreme. (Quartz Compositor still runs on Macs without programmable GPUs.)
The imaging model used for Quartz 2D was inspired by both Display PostScript and PDF, but it's not the same as either of them. Unlike QuickDraw, where everything was about pixels, in Quartz 2D it's all about paint. Quartz 2D establishes a floating-point coordinate system called a context, and the programmer draws on the context by defining regions and filling them with paint. Internally, everything is represented as a display list, as opposed to a bitmap like in the old days. The display list gets rendered to the screen by Quartz Extreme.
Because Quartz 2D uses a similar imaging model to PDF's, Quartz 2D display lists can be translated to PDF trivially. The whole business is handled for you. All you have to do is request a Core Graphics PDF context instead of a regular Core Graphics context and draw to it just like you were drawing to a window. Core Graphics is responsible for translating your Quartz 2D display list into PDF.
So let's be totally clear here: None of the graphics on your Mac are represented internally in PDF format until your program explicitly requests that a display list be saved in PDF format. Internally, everything is a Quartz 2D display list. The computer converts to and from Quartz 2D quickly and easily through the use of some highly optimized Core Graphics code.
Now, you wanna know why Acrobat is so much slower than Preview? Because Acrobat uses its own PDF interpreter to go from PDF to QuickDraw. This takes a ton of CPU time, compared to going from PDF to a Quartz 2D display list. So Acrobat is both much bigger (because it includes a whole PDF interpreter) and much slower than Preview.
On Windows or Linux or whatever other incredibly lame operating system you want to consider, a PDF reader is necessarily going to be big and slow, because it's gonna have to translate from PDF into some bitmap format. Old operating systems don't have the advantage of having an internal display-list graphics format that's conceptually similar to PDF, or a hardware-accelerated compositor that's responsible for turning those display lists into pixels. But that still doesn't change the fact that the PDF specification is wide open, and anybody who wants to should be able to write his or her own PDF reader for those old operating systems.
Incidentally, Quartz 2D used to be notably slower than QuickDraw for doing lots of basic tasks. If you take antialiasing and transparency off the table and just deal with drawing lines, QuickDraw used to kick Quartz 2D's ass. No more, though, because Quartz 2D has recently been rewritten to take advantage of programmable GPUs, just like Quartz Compositor was rewritten and became Quartz Extreme. Now, depending on the kind of GPU you have, Quartz 2D can be anywhere up to 40 times faster than QuickDraw
Frankly, it kinda makes me wonder why more people aren't raving about Quartz. I guess it's probably because most people don't unde