How Good Of A Unix Is Mac OS X ?
Anonymous Coward writes: "Greg Knauss, a UNIX guy from way back and a contributor to Suck, TeeVee, creator of Metababy, etc., has written a piece for Macworld.com. He looked at the Unix underneath the new Mac OS X Public Beta and has generally positive things to say, with a few caveats." Among these shortcomings are the lack of the GNU tools, about which Knauss says "... [W]hile the arrival of the GNU tool set -- the mainstay of Unix development -- is inevitable, it's a shame that Apple didn't see fit to include it in the Mac OS X beta."
To address your points one by one:
.app extensions, yes? Is n.3 really better than type/creator attributes?
- If there's a consistent interface, then where did my window managers and widget sets go?
Consistant doesn't mean identical. Almost no two mac desktops look the same today. What would make you think people won't customize them on OS X as well?
- If it's "easy to use", then where did my shell prompt go?
Nice use of sarcastic quotes, but easy to use means using the best tool for a particular job. With that in mind, go ahead and use a shell prompt when you want to. It's there and full-featured. What's the complaint?
- How do I turn these (*@#% tooltips off?
Ahh, that's not an OS X complaint, as MacOS doesn't have tooltips. That's more a Microsoft/Adobe/Macromedia complaint, yes? In point of fact, Mac OS X also does away with balloon help, so this is a good thing.
- How do I get a real, 8-bit-clean text editor?
Use TextEdit, the 8-bit-clean text editor that replaces SimpleText in OS X.
- Why does the shell bug me about 'filetypes' all the time? Why do I care?
It doesn't because you don't. You must have noticed all these
Linux does look pretty slick, but personally I've found that when I have work that requires my own skill (coding, composing text, etc) I use my Linux box, but when I have work that requires the computer's skill (page layout, gif animations, etc.) I use my Mac or Win laptop. The Linux OS is slick, the Linux tools are powerful, but the MacOS is friendly, and if it can give me power and slickness(?) too, I'll take it over the alternatives.
Kevin Fox
Kevin Fox
Perhaps they were afraid that, by including the GNU tools, Stallman would badger them into calling it GNU/MacOS X :)
----------------- "I have a bone to pick, and a few to break." - Refused -------------------
This is the most entertaining Slashdot discussion I've ever read.
On one hand, you have Unix weenies who will swear forever that MacOS is as stupid and lame as a jar of rocks painted like jellybeans, even when they themselves have to resort to FUD.
On the other you have people who have actually taken a look at OS X and can see that Apple's done a remarkable job at modernizing their OS to a Unix kernel.
Apple's finally succeded at breaking the Unix ranks into those who like Unix because it's better and those who like Unix because it makes them feel superior.
Kevin Fox
Kevin Fox
I found this in a post from Holt Sorenson on MacWorld.
Why gnu tools weren't included
On another note, I think it's shocking that to this day I still hear talk about:
1. The price of Macs. You can scan this very list to see that it's really not an issue anymore for what you get. I think that people might just be irritated that even a low-end mac is a high-performance machine compared to a less expensive piecemeal Intel box.
2. The availability of software. In the old days, the argument was that critical apps weren't available and so the machines are fully proprietary. This is of course absolutely the opposite now. Most of the things you *can't* get now are shareware or small-scale development items. Kinda like DOS compatibility with Windows right now.
3. The quality of the operating system. The normal Mac OS has stunk for a while. But the Unix in Mac OS X has been well proven in the last ten years (since NeXT).
Here's the post I found:
Posted By: Holt Sorenson Date: 15-Sep-200011:26p.m.
At the 2000 Usenix Technical Conference, Wilfredo Sanchez of Apple gave a presentation on The Challenges of Integrating the Unix and Mac OS Environments. The paper can be found at: http://www.mit.edu/people/wsanchez/papers/USENIX_2 000/
An audio recording of the presentation of this paper at USENIX 2000, including the Q&A session, is available Dr. Dobb's TechNetCast at: http://www.technetcast.com/tnc_play_stream.html?st ream_id=332
During the questions period, he was asked if GNU tools would ship with OS X. He said that they would not because in an e-mail discussion with RMS, RMS insisted that OS X would have to be GPL'd if Apple included GNU tools.
-- Eli Juicy Jones
One important feature that got left out of the article is the "Classic" mode of OSX. It basically emulates MacOS 9, and does a damn good job of it (think WINE written by Microsoft, instead of a bunch of reverse-engineering hackers). This, to me, is one of the most impressive elements of OSX. Never before has an operating system vendor so completely been able to offer full backward compatibility.
---- I made the Kessel Run in under 11 parsecs.
But I am curious. What about the file system? Do Macs still have separate resource and data forks with each file? Will this be supported by the file system in OS X? What about the app and creator 4-byte codes (which are actually in the resource fork). Will that be used, or will they move to the horrible filename extension crap that UNIX and DOS world suffers under? :-(
In terms of size and performance, UNIX installations can be small and nimble compared to MacOS X, which has to support a lot more "stuff".
I agree. Particularly true in devices like Tivo. The author's metaphor is broken.
In terms of software architecture, MacOS is a mess and a dumping ground of legacy technologies: microkernel, UNIX personality, Objective-C, Java, MacOS ROMs, etc.;
I don't really agree with your assessment. There are only two real APIs to be concerned with for Mac OS X: Carbon and Cocoa. Carbon is a cleanup of Mac OS libraries so that old software still runs. Cocoa is a combination of OpenStep's Objective-C and Java. The reasoning for the inclusion of the BSD layer should be obvious. MOSX even comes with built-in Java 2 support. To the best of my knowledge, nobody else is doing that.
Nothing here is too ridiculous. People would be upset if any of this was left out. In fact, one could argue that deciding which Linux environment to develop for (GNOME, GTK) is more of a hassle. Not to mention all the basic services that X is lacking (or whoever is supposed to take care of fonts, printing, graphics, color correction, etc).
no design or taste there
I'm sorry, but I just don't feel Linux has much to say to Mac OS X in terms of design and taste. If you use the software, you'll realize this stuff has been very well thought out, and this is just the beta. Look for, example, at the fact that the configuration are XML-based, and are modified with an XML GUI front end. Linux would do well to learn from this. Consitency is certain an area where Linux could grow.
In terms of appearance, there are plenty of pretty UNIX GUI interfaces.
Pretty and intuitive are different things. Enlightenment is pretty (not as pretty as Aqua, though), but not intuitive. And frankly, that's not really E's fault as much as a function of that fact that it has to remain compatible with the way *nix is setup. Mac OS X does not.
MacOS X, with its consumer market share, may be an OK compromise for people who want UNIX reliability and some kind of consumer-oriented system. But I don't think people have been holding their breath for this
Hmmmm, even just reading slashdot posts (largely an Apple-hostive environment), I would think the opposite. Very interesting comments have also come from Carmack and other people at Id.
MacOS X isn't salvation for the UNIX users of the world, it's salavation for Apple: without it, the company would not have a competitive product at all.
I agree that Apple needs this product badly, but if you really want the Unix userbase to grow (in other words, anything that's not NT), than take a hard look at MOSX before you make sweeping generalizations. You don't have to like it if you don't want to. Heck, Linux might even learn a thing or two from it.
- Scott
(I've used/administered SunOS/Solaris/Linux/Mac OS X/Mac OS X Server and many others)
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
Just the other day, I was reading the infamous Halloween Memorandum that MSFT released. (In case you don't know, it's a briefing for MSFT execs. on the OSS movement, with a particular focus on Linux). While, frightening in many ways, it brings up some interesting points about OSS, one of which in particular is that most successful OSS projects start out trying to recreate existing software.
While this replication may be viewed by some as a lack of creativity, those with an engineering backround will see the strength and resourcefulness of it.
As any introductory engineering text will tell you, the key to a succesfull, manageable project is having a well defined product specification. Replicating an existing product allows the OSS developer to focus on the early organization of the project, as opposed to fiddling over details such as the provided feature set (not to mention the lack of deadlines imposed by the financial side of things).
If Apple can make a marketable, user friendly Unix-based operating system, what's to stop us from doing the same? If nothing else, it will be an excuse to get rid of X Windows for good.
Apple's hit some major points with MacOS X, primarily of which is the inherrent strength of Unix, this is something the OSS community already knows about. The big thing here is that where Linux has been fighting to stay truthfull to the existing codebase, and continuing to use Xwin, OS X threw it away.
What's to stop somebody from developing a Linux Distro that mirrors OS X? We've been strugling for years to find the "Linux your mother could use", and Cupertino has shown it to us. All it takes is getting rid of the kludge that is Xwin, and comming up with a decent GUI (Speaking of, what ever happened to the Berlin project? I can't find any real info on it...) and some user friendly config tools.
As a bonus, we could engineer the new GUI to compatable with the Cocoa/Aqua APIs, allowing for source level compatability between the two systems, finally making Linux development justifiable to a large number of commercial software companies. Wham, two birds dead, and we've still got more stone to go.
Where right now, Linux is still the domain of 'geeks' (as most of the world considers those who can use a CLI), we wouldn't just be making the system 'user friendly enough' for mother, this might finally make Linux the user-friendly choice.
If linux drops the ball on this, there's always the Hurd, which, might arguably be a better choice for this than Linux, as both the Hurd and OS X are based upon the same micro-kernel...
Of course, with big names like IBM and SGI pushing Linux, I'm suprised this hasn't happened yet. Perhaps this is what Sun had in mind when they started their 'Gnome Foundation'...
my sig's at the bottom of the page.
Follow the instructions here to restore the Unix development toolkit to OS X.
Fuck Slashdot
And while the arrival of the GNU tool set -- the mainstay of Unix development -- is inevitable, it's a shame that Apple didn't see fit to include it in the Mac OS X beta.
The reason for this may be so that mortal users are not expected to actually compile their own software to use it. Example: Windows doesn't come with compilers, so virtually all Windows software (even Apache, PHP, etc.) come in binary form.
From what I understand, the dev tools: Project Builder and friends (and even gcc, etc) will be available for free download from the ADC (Apple Developer Connection) site in October.
I'm fairly confident that compilers, in one form or another, will be freely available.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
What category do we put OS X under whenever somebody divides who holds desktop market share. Does this fall uner Apple's OSes or UNIX?
Also, Apple will release the developer tools to all online ADC members (free registration) in mid-October.
Why is that? Many people would love a Unix with an elegant visual interface. Ease of use with the opportunity to get down and dirty in a shell sounds pretty good to me, as well as to folks who used gnome, kde, etc. I dream of the day when I don't have to keep switching back and forth between my Powerbook (graphics tools, authoring tools, etc) and my Linux laptop!
--meredith
--meredith
Sometimes a scream is better than a thesis
1) One thing nobody mentions, is that to a person obsessed with typographics quality (take a look at my machine, all folders are perfectly capitalized and punctuated) those capital "X"'s in from of all the function names are very jarring. The "gl" in front of all the OpenGL function names aren't offensive because they are small. All the B's in from of the BeOS class names aren't offenseive because people are used to seeing capital B's. However, in your daily reading, you almost never come across a capital X in a word, and that is slightly jarring. A small point, but it basically totally ruins X. (Sarcasm) Well, at least they don't have lower-case function names.
2) The programming isn't that hot either. True, I haven't programmed much, but it reminds me an aweful lot of Win32.
3) It's slow. It's really really slow. Even XFree86 4 is slow. Really really slow. You'd think that KDE2 running on XFree86 4.0 and kernel 2.4 (test8) would be fast. But it's not. It's slow. Really really slow. It's so slow, I'm actually glad to be rebooting back into NT. The last time I saw a file manager take as long to load as Konqueror was when I tried Active Desktop on an old 486. Every program seems to have a built in 10-second delay before it shows up, and when resizing programs flicker and rubber-band like mad. It's not KDE's fault (GNOME does it too) and nobody ever said the kernel was slow, so it has to be X. (One day, try resizing Konqueror (on a 300MHz machine) in a folder with a lot of files. Watch the flicker and rubber-banding. Now try the same in WindowsNT. Very little flicker, no rubber-banding. Try it in BeOS. No flicker whatsoever.
4) There are dozens of toolkits for it. What most people (toolkit writers) don't realize is that toolkits take RAM. It is silly that at any one time, I've got over 4 toolkits running concurently on my system. (TK, straight-X, GNOME, KDE, (and GTK and Qt if you count those as seperate, which in terms of size they are))
A deep unwavering belief is a sure sign you're missing something...
Just think of it: the lack of ftpd and httpd
Both come built-in. The former is Apache, btw.
nothing for media playback except for the proprietary QT4 player (hopefully optimized for OSX)
Download RealPlayer. Download Microsoft Media Player. Download Macster (for Napster).
and a TCP-IP stack that's about as stable as a tall stack of dimes
Uh, what? What makes you draw that conclusion?
All of this adds up to an unpleasant unix experience.
Doesn't really sound like you've used Mac OS X yet.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
Hotline: Macintosh Support hotline! How can I help you?
User: Yeah, I am trying to use Perl to do some reporting on my apache access logs. But I have to recompile Perl to fix a bug in the regular expression matching, and there is no gcc installed on the system. What do I do?
Hotline: Ok sir is the computer plugged in?
User: Of course. (annoyed)
Hotline: Well, that fixes about 50% of the problems we get here.
User: But I just want to know how to install the GNU developer toolset.
Hotline: Ok sir, could you reboot the computer?
User: What the hell would that accomplish.
Hotline: Sir, please.
User: (pretends to reboot). Ok, rebooted
Hotline: Wow, you have a fast machine.
Did that fix your problem?
User: *dialtone*
There should be a FAQ...
Anyone know if Apple are planning a port to x86?
No, they are not. It would be financial suicide since Apple is a hardware company. If Apple ever went to x86 -- say, if the other members of the AIM consordium don't come down from their server and embedded white towers to make a good desktop chip again -- it would probably be done in such a way as to require the OS to only run on machines for which Apple got a cut of the revenue. Apple cannot survive as just an OS vendor, and unlike MS, Apple does not have enough other high-priced, high-demand software to subsidize their OS development.
The History of Mac OS X and the x86 family
When Apple was shopping around for an OS to replace the Mac OS, they happened to be pointed the right way to NeXT, Inc. who sold this little known OS called OPENSTEP. OPENSTEP was a cross-platform, non-hardware dependent version of their original hardware-tied OS, NeXTSTEP. It ran on Intel, SPARC, m68k chips (and maybe a few others that I can't remember off the top of my head). Because of this, it had a beautifully portable code base. (It was also about $4000 per license, IIRC.)
Rhapsody is announced. Basically, this would be OPENSTEP on PPC and x86 which a Mac-ified interface and few new pieces of technology such as Java and Quicktime. The native environment will be known as the Yellow Box. All old Mac applications will run as second-class citizens in a seperate application known as the Blue Box environment. All new applications should be developed in the rich OPENSTEP APIs in Objective-C and, soon, Java.
Mac OS X would supposedly be the king of all Java platforms. If that wasn't good enough, the OPENSTEP APIs would be ported as an development layer for WinNT. (This was actually included for a while with WebObjects for NT.) This meant that there would be an extremely powerful and versatile set of APIs for universal Win NT and Mac development in two very clean OO languages -- Objective-C and Java. The first developer release of Rhapsody was shipped for PPC and x86.
Fast forward. Traditional Mac developers are threatening to abandon the Mac completely if they are going to have to abandon their old code base or forever have it run as a second-class citizen without the new benefits of the new Mac OS. Microsoft is one of these developers, and we all should know that if MS Office leaves the Mac, that's the death knell for the Mac -- at least at that time before the Mac's recovery had progressed far enough. Furthermore, MS was rumored to be upset at the prospect of the Yellow Box APIs for Windows and at having a viable competitor consumer OS on x86. Apple was also seeing little support for OEMs putting Rhapsody/x86 on their machines since they already had to pay MS for Windows on each one. Apple also realizes that if developers did adopt the new APIs, there would be less reason for people to by Apple hardware since they could get all the advantages without paying Apple -- especially since Rhapsody/x86 didn't require an Apple ROM.
So, all x86 releases are put on hold and cancelled. Rhapsody (a development name) is officially called Mac OS X (Ten, not Ehcks). The first developer's release of Mac OS X Server does not include an x86 version. In a year or two more, Yellow Box for NT would disappear from WebObjects. Originally, Mac OS X and Mac OS X Server would be different products, with Apple including licenses for some of their server software (WebObjects and Appletalk services) on the server version. Eventually, this is all scrapped in favor of one OS, since the distinctions between the two were minimal.
Fast forward. Apple releases the source code to the underlying BSD layer as they had previously promised as Darwin. Fast forward again. An Apple engineer boots Darwin on x86 and announces it to the world. Carmack does a little work on porting XFree86 to Darwin.
Fast forward to today. There is no x86 Mac OS X. There is an x86 port of Darwin. No, this is not the same. There is no Apple graphics layer and no Mac or OPENSTEP APIs included -- just BSD level stuff. There will probably never be an x86 Mac OS X. It would destroy Apple financially unless they take measures to secure revenue from Mac OS X sales in ways that would also make them unpopular, such as ridiculous prices for the new OS or only letting it run on machines with a special Apple ROM for which they charge money.
In the end, Mac OS X would always be more expensive than Windows since Apple does not have Office and other software to prop up its OS development, and most OEMs have to pay the Windows tax anyway. I repeat, Apple is a hardware company. Seperating the OS and the hardware divisions into two companies or eliminating one will kill them both. Apple needs a superior OS to sell their more expensive hardware, and they need to sell their hardware to pay for developing the OS. United, they stand, divided they fall.
As an aside, this is why Apple will never open the source to the higher level APIs. If you could remove the dependency on Apple to get Apple's OS, Apple would not get any more money. Apple would die. While many Open Source advocate would have no problem with this or even love to see it happen, Apple is not that stupid. This would be destroying the OS side of Apple. See the above paragraph for what would happen to the hardware side. It won't happen -- get over it.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Anyway, the deal is that the development tools aren't in the public beta you can buy from the Apple Store. However, registered Apple developers get all of the development tools, which includes a very nice IDE that is brand new and not based at all on the old NeXT ProjectBuilder.
Apple doesn't expect it's regular users to build software; they will install pre-built binaries. That, combined with the enormous size of all of the development tools and documentation, is the reason why the consumer versions of the OS won't have the tools. The development tools will always be something seperate for developers.
Burris
"strengths of a high-end, modern operating system: true multitasking, true memory protection, symmetric multi-processing." Those were features of a "high-end" operating system 20 years ago. BSD brought those features to the low end.
User: Hello? You guys own Slashdot.org, right?
Hotline: Yes, sir, we do. Is there a problem?
User: Well, you see, I own Slashdot stock, and...
Hotline: Huh. There's no such thing as a stock hotline. The author of this post is such a moron.
User: Shut up, bitch!
Enoch Root: Yeah!
User: Anyway, I went on Slashdot the other day, and there was this post marked Funny...
Hotline: Yes, that's call moderation. What about it?
User: Well, it wasn't funny. It was just this guy calling a hotline, and then making references to the article, but the conversation was really dumb.
Hotline: I'm sorry to hear that.
User: The worst was, it had no punchline. And it lasted too long.
Hotline: Oh.
User: Yes. Without anything happening.
Hotline: Oh.
User: Yes.
Hotline: I see.
User: Anyway, I want a refund.
Hotline: No. User: *dialtone*
Doesn't GNU stand for GNU's Not UNIX? Then why are we basing the purity of MacOS-X based on its lack of GNU programs? Is this the new standard now, for all UNIX systems to come with gcc? Does this mean that Windows *with* a GNU compiler is more of a UNIX than Solaris *without* the GNU compiler?
--
The World is Yours.
A machine the whole family can enjoy, concurrently.
I recommending checking out the recently updated Darwin FAQ. There's actually quite a bit of insight here, including strategic direction, syncing of the Mac OS X and Darwin trees, etc. It's not just PR fluff. Many of the questions were submitted by Dirk Myers of DaemonNews.
Thanks to darwininfo.org for the link!
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
Apple will release all the GNU tools plus their own spiffy IDE (called Project Builder) in mid-October!
The following comes from MacAddict's Article about getting GNU tools:
***********************************************
Apple has announced that development tools for the public beta will be made available to ADC Online members starting in mid-October. If you can bear to wait the month, it'll be worth it.
***********************************************
It is free to become an ADC Online member. I should know, I've done it. I look forward to being able to use all the GNU tools with the MacOS X beta as well.
For those of you who can't wait till mid-October, sign up as a Darwin developer and you'll be able to get all the latest code from the CVS server and you can compile your own GNU tools and new kernels and all that great stuff!
-Tom Hackett
of www.Darwinfo.org
Maybe I'm missing something, but I don't see any free registration.
There are several levels of ADC member. "ADC Online" membership is free, and will get you access to the tools in question. Or, get the compilers from Darwin right now.
I'm considering developing on OSX, but not if it costs $400 for some GNU based tools. That's almost as expensive as Visual Studio...
Not only gcc, etc free, but it looks like Project Builder and company will be available for free as well.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
A real package system would also make it so convenient to upgrade the system, especially during the beta cycle. Right now, there is apparently significant missing functionality in the beta (no airport, no USB printing) that could presumably be "dropped in" as it arrives.
Babar