LWN.net Logo

Tool approach

Tool approach

Posted Sep 22, 2005 5:06 UTC (Thu) by hppnq (guest, #14462)
In reply to: Tool approach by man_ls
Parent article: Five Pitfalls of Linux Sockets Programming (developerWorks)

So Unix cannot find the difference between some binary files, which is what people want.

That pretty much sums it up, don't you see? First, "Unix" has nothing to do with it, "Unix" couldn't find anything if its life depended on it. In any case "Unix" was not conceived so it could find the differences between PowerPoint files (which is more or less what Pike is saying of course), but then why would one expect such functionality? Because diff is part of the Unix heritage?!

Sure, people use and depend upon graphical interfaces more than they did in 1970. And of course traditional Unixisms like pipes tend not to interface well with GUIs. Anyone who is of the opinion, that, because of this, there is something wrong with Unix, must be quite short-sighted.

Personally, I find it amazing that the same system that started out as a platform for grep and diff is now effortlessly running OpenOffice on PowerPoint files. And it seems to me that the Internet is living proof of the immense success of the sockets implementation on Unix systems, for that matter. Unix is exactly what I want. ;-)


(Log in to post comments)

Tool approach

Posted Sep 22, 2005 6:18 UTC (Thu) by man_ls (subscriber, #15091) [Link]

Yes, I think I see the same thing: the original ideas that were fit for a stream of characters (cat, diff, grep) are not that good for a world of graphical interfaces, complex hierarchical objects and roaming networking. Of course there is nothing wrong with the Unix heritage!

But we do not agree on what follows from there: you say that Unix is exactly what you want. Pike seems to say that Unix might (even should) be extended to encompass this new world of ours. And why not?

Tool approach

Posted Sep 22, 2005 7:54 UTC (Thu) by hppnq (guest, #14462) [Link]

I think it eventually boils down to what development model one believes in. I happen to think that evolution is the way to go. Which almost inevitably leads to compromises when trying to make subsystems play together nicely, especially if they have no common heritage.

The funny thing is, of course, that one of the more sensible remarks in the presentation is the observation that interfaces only work at some level and in some context. So I wouldn't draw the conclusion that there is something wrong with the Unix model, because dammit, I can't "cat homepage.html | netscape | sort". I happily accept this, because netscape's interfaces to me and to the world are optimized for the purpose of browsing, which is what I usually want when firing up a browser.

By the way, there are plenty of examples where both networking and GUIs are interfaced with the more traditional Unix way of working, or one wouldn't be able to implement a webserver in Korn shell or use scripting languages like Tcl/Tk.

Tool approach

Posted Sep 22, 2005 8:15 UTC (Thu) by man_ls (subscriber, #15091) [Link]

I think it eventually boils down to what development model one believes in. I happen to think that evolution is the way to go.
The world is clearly on your side, since we are all using Linux and very few people use Plan 9; I'm not planning to use Plan 9! But the inertia still amazes me.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds