Slashdot Mirror


Explaining The Windows/UNIX Cultural Divide

giampy writes "Joel Spolsky writes a review-like article on the last book of Eric S. Raymond (The Art of Unix Programming). His views on the cultural differences among Windows and Unix programmers are well explained. Overall, an interesting read." Also on the topic of Windows, badriram writes "Microsoft is reorganizing the windows team, it seems the are separating the OS core development. Seems like things heading in the right direction in creating a more secure OS, and making it more business oriented. Read the article here."

10 of 673 comments (clear)

  1. windows users are the problem... by timmarhy · · Score: 4, Insightful

    forget the programmers, until general knowledge of computers improve and stuborn idoits don't need to have things like " why do i need a password to run a program on MY OWN computer" explained the state of computer security will not improve.

    --
    If you mod me down, I will become more powerful than you can imagine....
    1. Re:windows users are the problem... by Zoop · · Score: 4, Insightful

      Joel's theoretical explanation for the divide hinges on the user--his thesis? Windows programmers care about users, UNIX programmers don't.

      My immediate reaction was, "If so, how come Windows programs have suck sucky UI most of the time?"

      A colleage of mine had an insightful comment, "Windows programmers don't program for the user; they program for the buyer."

      I think that explains more about Windows from MS to the end-VBScript-monkey than anything else.

  2. Re:about cultural divide. by Talthane · · Score: 4, Insightful

    The fact that you can't use a *nix machine the way you want isn't a reflection of the Windows/Unix divide - it's a reflection of your personal preferences, experience and background. It's not remotely cultural.

    I can't make my Windows machines work in the way I like to (mix of command line and GUI), whereas I can make my iBook and my G4 work wonders because I know OS X / Unix well. That's not cultural either - it's a reflection of the fact that my computing experience has always been some distance from the Windows world.

    Just because you don't like something or don't feel comfortable with it doesn't necessarily mean it's a fault with the system as a whole. It can equally easily be a "fault" with your own experience.

    --
    "This is why men never share their feelings; because women always remember." -Just Shoot Me.
  3. Re:Separation by js7a · · Score: 4, Insightful
    harder work for "interoperation" etc...

    Interoperation is something Microsoft fundamentally doesn't get.

    Instead of interoperating with published standards, they try to interoperate with Microsoft legacy methodologies (e.g., everything must bee visual basic scriptable.) This is a terrible source of security worm-holes. I wish they would reorganize their visual basic scripting fanatics to Antarctica.

    I make it a point to return any base64-encoded text/plain email to the Outlook-using idiot who sent it, explaining that Outlook is obscuring their email text, along with a list of reasons to switch to another email client and instructions for doing so.

  4. both are, actually... by holy_smoke · · Score: 5, Insightful

    Although I understand and agree with your basic point, I would ask that you consider the "product" of a computer and how that relates to average "consumers" need for a tool to make their lives easier/more entertained (because that is, after all, the basic reason why average consumers purchase computers).

    Consumers want a tool to use, whether it be for games, email, finances, or just internet surfing. Quite frankly they don't want to spend a ton of time learning about how to use it, and many don't care how or why it works just as long as it does work.

    The tug-of-war that exists is that computers by their nature are complex and flexible. Consumers by their nature are very insistant on their desires which in include simplicity, flexability, safety, cost, and utility.

    Calling them "stubborn idiots" only highlights the divide of understanding between the computer literate that understand and desire ultimate flexibility, and the average consumer that just wants to use their computer, like a toaster or a vcr or a Sony playstation, without a lot of hastle.

    Somehow the creators (programmers and hardware vendors) need to accomodate for that, because I assure you that the average consumer won't change.

    Although I despise Microsoft's business ethics, I appreciate their dedication to the principle that I mentioned above.

    Linux is in a very good position to make headways in this regard as well, but it will take a fundamental understanding by the programmers and harware teams of said principle to make real headways in the desktop market.

    Anything less will ultimately limit the adoption of Linux to, for example, server, web, and corporate applications.

    "The masses" are what they are, and deriding them for it won't influence them to change, however it will influence them to avoid the product.

    Lets find a way to meet them where they are while preserving the fundamentals.

    --
    Is the juice worth the sqeeze?
  5. I am clairvoyant, and I predict... by Bob+Cat+-+NYMPHS · · Score: 4, Insightful

    This story will be duped at some distant point in the future.

  6. Re:about cultural divide. by xdroop · · Score: 4, Insightful
    In that sense, Windows offers me greater freedom to do with my computer what I want to.

    Good. Great. Bully for you.

    I'll give you the benefit of the doubt that you truely limit your comments to your wants and needs. The problem is that the standardization naz^Wadvocates (oops, almost invoked Godwin's Law, sorry about that) always extend their needs as trumping everyone else's needs. This is just as much a crime when it comes from those whining that Linux needs a standard GUI (or whatever) because the unstated subtext is always "the one I am using".

    My needs are different from yours -- I find that I cannot use a Windows system the way I want to, and am much more at home on a unix system. I find I cannot use a KDE inteface the way I can use a olvwm interface. With a modular system like unix, I can use the interface I want, even as other users on the same system use a completely different one, and all without causing undue problems between them.

    --
    you should read everything on the internet as if it had "but I'm probably talking out of my ass" appended to it.
  7. Re:can this guy actually code? by 11223 · · Score: 4, Insightful
    Ugh, no. Your approach leaves out the single most important factor in designing a GUI interface to a program - error handling. When your backend program gets confused, or goes off into an infinite spinloop, your GUI frontend simply becomes confused too - it won't pop up an error; instead, it may pretend to work, or it might hang waiting for a response from the program.

    There are two ways to solve this - bring the functionality into the same address space as the GUI (so if it hangs, force quitting won't leave the confused backend around), or use a network-style protocol with a defined ping/pong approach, and when the backend fails to ping, kill it.

    But text-based interfaces are always fragile. Just look at any of the millions of cdrecord frontends out there. They never quite work properly, because cdrecord-of-the-week always has some new diagnostic message, or error, and the program gets confused.

  8. Sucky... compared to what? by Moraelin · · Score: 5, Insightful

    No, seriously? Windows GUIs suck... compared to what?

    Compared to X? The same X where every single programmer just _has_ to use a different layout, different shortcuts, different menu structure, and for bonus points his own widgets? And where 90% of the GUIs were never even tested in any other resolution or font size than what the developper had? (Here's a hint: 100 DPI fonts are an X standard for a long time now.) And where every app is configured in a different way? And in some cases (e.g., IceWM), contrary to common sense, the changes you do through the menus aren't even saved, and you have to launch a different application to configure your start menu?

    Sorry, from the end user point of view, it's the Unix GUIs that suck big time. They suck like an industrial vacuum cleaner. They suck like an expensive hooker.

    They're made by geeks, for geeks. And religiously defended by hordes of flaming trolls, ready to insult everyone who dares doubt their idol's wisdom.

    What a non-geek user expects is to learn some skills once, and apply those skills again and again. It doesn't matter if you have some cute unique idea. He just doesn't want to have to learn a whole new set of skills for every single program.

    He wants that if in Word CTRL+X is "cut", then in every single program it's still "cut". He wants that if F1 is "Help", then by God, it better be "Help" in all programs. And if one program's scrollbars behave in one particular way, then it better be the same way in all programs.

    For you discovering how yet another widget set works might count as fun. For Joe Average, it counts as a waste of his time. He'd rather do something else in that time. Like be done sending that e-mail, grab a beer and watch TV, instead of still being at discovering how it works.

    And yes, the Windows developpers know that it pays to care about the paying customer. That means, yes, caring about Joe Average who's using those programs. Thinking how you can help Joe Average do what _he_ wants, instead of making it all an exercise in programming for your own ego.

    And until more of the Linux crowd discovers the same thing, I just can't see Linux making it big on the desktop. Sorry.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  9. Re:Bubbling frustration by peterb · · Score: 5, Insightful

    If more GUIs are really what's needed in the UNIX world, then writing them is not a problem.


    Y'know, people keep saying that this is such a trivial little matter of implementation, but I can't help but observe that 20 years after the Macintosh came out, cut and paste in X windows is still completely fucking broken.

    At some point, you have to abandon the excuses and admit that it's not just an implementation problem, it's a broken paradigm.

    DEVELOPER: "Here's our GUI! Enjoy!"
    USER: "Wow, thanks! This sure is pretty. So, how do I cut and paste?"
    DEVELOPER: "Well, that depends on which toolkit the app you're running uses."
    USER: "Uh, OK. Thanks." [user turns off computer, goes back to his Windows or OS X machine.]

    In the above scenario, the user is right, and the developer is wrong, wrong, wrong, wrong, wrong.