Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
well back to the original article it makes sense that ibm is dumping money into linux. it makes sense for big companies that have deep pockets where economies of scale can dictate better returns for putting your code monkeys to work. gnu/linux will most likely be cobbled together for large "enterprise" situations to get rid of the microsoft tax.

it is interesting to read the arguments against UNIX because of the systems i am familiar with i prefer unix-based systems. i can see your arguments that unix is archaic/dated, but to me that signifies a well-designed system; something was designed to be elegant, but not overly-simplistic. there are a host of other systems that haven't had the staying power of unix. vendors only have so much say but more realistically are just their end users' lackeys.

it doesn't matter what system you write code for they all have trade-offs. for instance BeOS that was mentioned above had some really interesting ideas with threading, db file systems, i/o, etc. but they were just neat ideas. a pet project. it won't be integrated into the mainline systems because it didn't capture mindshare. i still think Unix has the upper hand as it has become canon for most techies. the reason is that it doesn't suffer from needless abstractions. everything is a file. the network is the computer. and so on. at some point it is just a stream of bytes this way or the next with the ability to perform computations and change the streams. why muck it up any more than it already is? look at microsofts products. they went the non-unix route and it has served them humble pie at every turn.

but i guess my whole argument is it is all contingent upon developer mindshare and leveraging your developers/users time most effectively. the nuts and bolts of why one system is superior over another really is a waste of time and energy. if you can figure out how to get X,Y,Z done in less time because you can leverage an existing code base or developer's knowledge then your are that much farther ahead of your competition. it makes sense to not have to re-invent the wheel if the wheel works but just needs some tweaking...

Unix will become the one true way(tm) and if you don't like it, well tough. you can always build your own kernel, own system libs, applications, and support files if you don't like it. but oh yeah that's right, that won't happen. you will leverage other people's coding just the same as the rest of us.

It boils down to this- how much time do you spend on your jig vs. end product? You will never have a perfect jig. But if you get it close enough...

-jaromski
 
alex_ant said:
It's like saying counting on your fingers lets you model many common math situations without math. A database filesystem is SO much more powerful and can even facilitate hierarchy if you want it to, but it will never gain popularity in Unix because Unix's proponents will say "Why would you need that? We have SYMLINKS!!!!!!" (*puts head in hands*)

(Unix, btw, didn't invent the hierarchical filesystem, although I will give it credit for attempting one in a few instances)

It all depends on what data you have. If I had a lot of tiny pieces of data (< 1k) with dense linking of course I would use a relational database. But if I had fewer, larger chunks (100k) with not much linking, then the filesystem is the ticket. For a scientific application, I might use an object database.

So if Unix people say the filesystem is the solution for everything they are wrong, but it is the solution for a surprisingly wide range of situations, and I actually think it is underused today. So I sympathize with them to a certain extent. At the company where I work they insist on loading everything in to a relational database, even data that is clearly not relational in nature. This would be the opposite of the Unix fanboys you talk about ("Oracle fanboys"). Neither is being rational.

alex_ant said:
"Unix pipes = powerful" is a popular myth. What they certainly are though is highly fragile and unflexible and unportable and prone to catastrophic consequences as a result of programmer error and a lot harder to learn and manage than higher-level solutions.

Well, I would disagree with the fragile part at least. The pipe model seems quite robust in the face of change in my experience. It is the looseness of the coupling between the individual programs that does it. Typically each assumes only that it's input will be ascii with somewhat regular line feeds. So if due to changing requirements you suddenly need extra data coming in the front, it is not necessary to go down the line changing interfaces at every step. If you had used tighter interfaces, that new data would have broken it. So it is actually quite robust.

alex_ant said:
Everything is a file works fine when you need to communicate in ASCII, like in earlier decades when devices were simple and could be controlled by simple byte streams. It was even really cool then. But we don't use line printers anymore - we use laser or inkjet printers that require complex control languages, we use sound cards that have multiple channels and advanced mixers and DSPs onboard, we use advanced scanners and video capture cards with hardware compressors and software modems. Unix/Linux are still struggling to cope with all of this, and where they do succeed, it is almost always with a nonstandard, hack-job implementation for which user-level software needs to be custom-tailored. This is not good design. Unix is being dragged into the 21st century kicking and screaming.

(And this is only how "everything is a file" breaks down with devices. Unfortunately it applies to more than devices - it applies to everything!)

But a file is just a name that can be read from, written to, or both. So with respect to devices to say every device is a file is only to say that all peripherals are data sources, data sinks, or both.

Now if you went and got a giant warehouse and filled it with every crazy peripheral available today, could you go through and divide them in to those three groups? I think you could. So the abstraction still holds even though it was made all those years ago.
 
alex_ant said:
Read a single word that I said and then get back to me. Thanks
I read everything you posted, and I think I summed it up accurately.

Personally, I'm not convinced you even know Unix/Linux that well. UFS/UFS+ may be the "standard" Unix file system but, by design, it's not the only one. Unix has a filesystem abstraction layer that allows you to write any kind of filesystem you want and plug it in. Linux supports half a dozen different filesystems in most distros (ext2, ext3, reiserfs, xfs, ntfs, fat) not to mention the various network filesystems. If you want a relational or OO database, you have a number to choose from.

Pipes are one type of interprocess communication; it's far from the only one in Unix. There's shared memory, message queues, semiphores, memory mapped files, sockets, rpc, etc. Not to mention the various object broker frameworks, although these are not strictly part of the OS itself.

You represent Unix/Linux as something static, which couldn't be further from the truth. There's nothing inherent in Unix/Linux that precludes advancements and innovation, in fact, it's happening all the time.

Anyway, obviously you're free to believe whatever you want. I just have a bit of trouble with people that stand out on the fringe and throws stones at the status quo, but have nothing better to offer. It's easy to criticize.
 
daveL said:
Personally, I'm not convinced you even know Unix/Linux that well.

...

You represent Unix/Linux as something static, which could be further from the truth. There's nothing inherent in Unix/Linux that precludes advancements and innovation, in fact, it's happening on the time.
Innovation? Linux? I can't even think of a single piece of innovation in Linux that hasn't been ripped off of something else. And yes there are all sorts of impediments to advancements, but that's beside the point. The point is that I'm expressing some quite valid concerns and I'm getting more of this elitist Unix ethos: "Unless you have 20 years of experience as a Unix programmer and sysadmin, you are not qualified to criticize it." I would say that those who are the most unfamiliar with it are the *very people you want* criticizing it. I think that computers should serve all people, not just programming nerds.

Having used Linux exclusively for about 4 years as a desktop OS and also Irix on an old Indigo2 for a couple years as a server (good riddance) makes me more than qualified to rip on it. I don't claim to be a guru, and I'm far from it. I don't need to know how blahdyblahdyblah works to know that it is effing absurd that after a decade-plus in the wild, I cannot get on a Linux box and reliably do drag-and-drop, for example. It takes extended arguments just to get Linux enthusiasts to admit that major flaws even exist at all in their OS, and when they do, they ALWAYS, WITHOUT FAIL come up with stuff like:

- "Linux? Linux is just a kernel! Ho ho ho ho ho"
- "Fix it yourself"
- "Sure, but that's only a problem with _______. You can't blame all of Linux for that"
- "You're using the wrong distro, you should be using Monkeybrain Linux 1.0.4.225.1402-alpha3"
- "It's your fault, you're doing it wrong"
- "It's free, you don't have a right to criticize"
- "At least it's free"
- "But that's the way it should be, because..." (reason based on obscure meaningless history and pointless design principle)
- "Switch to Windblow$ then if you don't like it"

How welcoming... how progressive. You know, it's not even Unix that's so bad. I can forgive an honest mistake. What's even worse is the Unix Attitude. It's this whole brain-damaged, closed-minded Unix mentality, which I see WHENEVER I talk to a Unix weenie: "This is how it is. This is how it's always been. It's the Right Way. Who are you to question it? I bet you've never written a kernel driver in your life. What do you mean there's 'no philosophy' to Unix? Haven't you heard of 'everything is a file?' Haven't you heard of 'one small program doing one thing well?' It's simple and beautiful, like RMS playing the flute. We don't need to base the user interface on the results of scientific usability studies. A 'scientific' UI is absurd - everybody is different. Let people set it up how they like it. I've got mine set up so that I can accomplish any task I could possibly imagine using no more than 32 keystrokes. Let's see Micro$ux Lo$edow$ try that. Besides, all the comp sci people use Unix. These are people who know more about computers than you ever will. So fix it yourself if you don't like it, or shut your mouth."

ARRRRGHHHH!!!!!!!!!!!

Anyway, obviously you're free to believe whatever you want. I just have a bit of trouble with people that stand out on the fringe and throws stones at the status quo, but have nothing better to offer. It's easy to criticize.
I'm happy to hear that you too have trouble with the Linux evangelists who sit on the sidelines, throwing stones at Microsoft and Apple, offering up some cobbled together derivative of a 35 year old POS as the saviour of computing. Now that we agree, let's work together and fight against this. As supporters of the Macintosh Way, it is our duty.
 
Windows has well over 90% marketshare and has been around since the mid 80s... it has staying power too. That doesn't mean there isn't tremendous room for improvement. A very big thing Unix has had going for it has been programmer appeal and access to source code, resulting in a system that programmers can warm up to easily. This allowed Unix to succeed where superior systems failed, helping it to become entrenched in university computer science departments and research labs. Profs indoctrinate students into thinking that "this is the advanced system of the future," and students graduate and take what they've learned into the workplace, where Unix becomes entrenched there. My opinion is that basically Unix is like a giant software/social virus in the way it spreads.

I don't think it's about mindshare. Windows has huge mindshare but it stinks. This tells me that customers will take what they're given, and if you give them a box of poop and stick a "New! Advanced!" label on it, they'll barely notice what's inside. These ideas you mention that BeOS had, jaromski, were not just neat ideas, they actually saw the light of day and worked quite well, and they've been abandoned. I say this is a shame. Unix doesn't care, it keeps chugging along in its own temporal dimension. It's so "advanced," there's no need to pay attention to a toy, "pet project" like BeOS. IBM has loads of cash, and all the time in the world. I wish somebody, IBM or anybody, and this includes Unix/Linux developers, would do like Apple or Be did and make an honest, unified effort to improve the computing experience for the average jim. But I don't see this happening, as Linux is more profitable (it already exists, lowering development costs).
 
With money as no object (and in my dreams)...

Here is what I would like to see IBM do:

- Start from scratch. They're IBM, it's not like they can't afford to. In fact it would be a shame if they didn't. OS/2 is out to pasture and was never that great to begin with. Build a solid yet extensible foundation and design for the future. Maybe they could get a jumpstart by incorporating parts of the BeOS source code?
- Invest heavily into research on optimal human-computer interaction, and design a GUI from scratch based on this. Adjust to the user, don't make the user adjust to the OS. Devise interface guidelines for third parties to follow.
- Strive for simplicity in use even if that means complexity in design. The user experience is more important than the programmer experience.
- Focus not just on the OS but on the whole computing experience, of which the OS is only one component. (another being supplementary applications)
- Question *everything*, from a user's perspective. Why do we need to install a driver and reboot before we can make our printer work? Why does software have to crash? Why do we have to restart our computer after we install new software? Why do our computers have to be susceptible to viruses, spyware, and remote attacks? Why do we have to wait for "prebinding" to finish? On multi-user systems, why do we have to think in terms of separate "accounts"? Why can't we undo anything we do? Why can't we dynamically scale our GUIs and think in terms of ppi instead of pixels? Why do simple things have to be hard to do? Why do we have to have this and that and why can't we do this or that? etc.
- Foster relationships with third-party developers immediately, including Microsoft if possible. The OS can't compete against Windows without major-label commercial software. MS Office would really help it.
 
GUI != OS; OS != GUI. The fact that drag and drop hasn't worked predictably for you on some Linux distro has nothing to do with the OS, it has to do with bugs is Gnome or KDE or whatever GUI you were using. The GUI is basically a piece of middleware that allows users and applications to interact with the underlying OS. Apple could port the Aqua GUI to *any* OS, including Linux. I guess that's why I'm having a problem with your argument; you're not really talking about the OS, per se, you're talking about the user interface to the OS.
 
Probably shouldn't get mixed up in this, but... imho we've got one person discussing the subject and one troll arguing angrily with the rest of the world... I guess it's a nice way to raise your post count if you need to get rid of some agression anyway...

And btw - I think it's great that a big company like IBM throws some resources at open source in general and Linux in particular. The present state of affairs w, in effect, just 2 (barely) OS's on the market is not very "sustainable"...
I don't know if Linux is the future or not, but there sure is a lot of good things coming out of the open source community and any support to that should be very welcomed.

A
 
daveL said:
GUI != OS; OS != GUI. The fact that drag and drop hasn't worked predictably for you on some Linux distro has nothing to do with the OS, it has to do with bugs is Gnome or KDE or whatever GUI you were using. The GUI is basically a piece of middleware that allows users and applications to interact with the underlying OS. Apple could port the Aqua GUI to *any* OS, including Linux. I guess that's why I'm having a problem with your argument; you're not really talking about the OS, per se, you're talking about the user interface to the OS.
Mainly I'm talking about the overarching Unix mentality that infects developers and compromises the quality (to everyday users) of the software. The technical details are only a consequence. By the way, I'm sorry to insult you. Unix makes me snap like a twig sometimes. :p
 
Nermal said:
Stop arguing with each other. One more misstep and I'll close the thread.
Sorry, but I'm *very* surprised by your take on this. If you shut down this thread it's not clear to me why you wouldn't shut down most threads on these forums. People disagree; that's normal.
 
alex_ant said:
Mainly I'm talking about the overarching Unix mentality that infects developers and compromises the quality (to everyday users) of the software. The technical details are only a consequence. By the way, I'm sorry to insult you. Unix makes me snap like a twig sometimes. :p
That's more a matter of the disconnect between geeks (I am one, so no disrespect intended) and "normal" users. That's an age old problem and completely understandable, to me. Myself and many others on this forum are quite happy with a command-line interface. I was a professional in this business for over a decade before the first commercial GUI existed. It's not an issue for me, however, I can understand how arcane computer OSs must appear to joe user, who's just trying to get some simple stuff done. I agree that you should not need to be a rocket scientist to be able to do basic productivity tasks on a computer. Since we are all on *this* forum, I can assume we've realized that doing those things on a Mac is easier than doing them on Windoze. Some of that is the GUI, but some of it is the stability and security of the stuff (OS) underneath.

Well, for whatever reason, folks seem to want us to stop this dialog. So, I guess we can agree to disagree and leave it at that. I enjoyed the discussion, none the less. I now understand quite a bit more about where you were coming from and why, which is a good thing. :)
 
daveL said:
Sorry, but I'm *very* surprised by your take on this.

Me too, I almost couldn't believe I was reading it. There's a big difference between a heated discussion over the facts, and a worthless mud slinging match full of ad-homs. A moderator should be able to differentiate. This is actually a very good thread.
 
Sorry, I admit that I was a bit trigger-happy here, I've been under some stress recently, but thankfully it's gone now :)
 
Nermal said:
Sorry, I admit that I was a bit trigger-happy here, I've been under some stress recently, but thankfully it's gone now :)
Thanks for renewing my faith in MR. Hope you feel better! (Is it possible to feel bad in NZ? What a beautiful place!)
 
Nermal said:
Sorry, I admit that I was a bit trigger-happy here, I've been under some stress recently, but thankfully it's gone now :)

No probs. Moderator is a thankless job and it's good of you to step up and take the reins.
 
daveL said:
Is it possible to feel bad in NZ?

It is, when you haven't finished the 40-page assignment that's due tomorrow! :eek:
But when you complete it and hand it in, all the stress disappears :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.