Slashdot Mirror


Mac OS X Versus Windows Vista

An anonymous reader writes "With Macworld set to start Jan. 8, InformationWeek has a detailed comparison that pits Mac OS X against Vista. According to reviewer John Welch, OS X wins hands down. The important point: he doesn't say Vista is bad, just that technically speaking, OS X remains way ahead. Do you agree?"

14 of 697 comments (clear)

  1. Re:It doesn't matter by Yonzie · · Score: 5, Informative
    come on, make ALL of those popup dialogs keyboard accessible!
    They are.
    Use [tab] to select and [space] to "click". You need to look after the faint blue highlight around the button though, and if you press [Enter], the blue button is selected, not the higlight.
  2. They're different... by cookd · · Score: 3, Informative

    I will certainly admit that there are a lot of things to like about OS X, and for some people, it will be the better choice. For others, Windows is better, and Vista is a big step forward.

    The article comes across as "Why OS X is better than Vista" instead of "Comparison of OS X and Vista". But that's par for the course. The author does have some valid comments about areas that could have been done better in Vista.

    I do disagree on some of the evaluations of Vista's merits. The most misunderstood area is User Access Control.

    Not that UAC is perfect -- I've got a nice list of things I don't like about it. For example, if the system incorrectly detects that a program probably needs to run as Admin, it is a bit of a pain to convince the system to just run it normally. And there aren't any good tools for working with UAC from the command line (i.e. I want an equivalent to Unix su). I've written some myself, but they really should have been included with the system. And some tasks that should be able to be done by accepting one UAC prompt end up requiring 5 or 6.

    However, the author of the article passes UAC off as useless and annoying. Well, it is annoying, but so is finding my car keys every time I want to drive my car. But it is definitely not useless - just misunderstood.

    UAC consists of three mechanisms, along with related tools for configuring them:

    1. The shell of an Administrator can optionally be run with reduced permissions. This means that if UAC is enabled, the user's shell (explorer.exe) will drop privileges when it is initialized (after the user logs on). In other words, the shell tells the kernel that even though it is running under the account of an Administrator, the kernel should deny any requests to use administrator privileges, and should not grant any access to resources based on the user's membership in the Administrators group.

    2. There is a mechanism to regain administrator privileges so that administrative tasks can still be performed. If you are logged on as a user in the Administrators group, this mechanism requires a confirmation dialog (ok/cancel). If you are logged on as an unprivileged user, this mechanism requires a username + password of an administrator ("over the shoulder login").

    Note that this mechanism must be protected from abuse. Potential abuses include: keyloggers (capture the administrator's password), event injection (simulate a mouse-click or keyboard event to respond to the confirmation dialog automatically), and luring (put a malicious executable with the same name as a trusted executable into the user's path, then trick the user into trying to run the trusted executable). Protecting against these abuses leads to a bit more inconvenience, but a lot more safety. This is why nothing else can be done while the UAC prompt is active -- the UAC prompt turns on some security features to protect against keyloggers and event injection. This is something that is more annoying than OS X's system, but also significantly more secure.

    3. There is a mechanism to detect programs that require administrator privileges. Vista-aware applications include a manifest that tells the program loader whether administrator privileges are required. Vista also tries to automatically detect non-Vista-aware applications that require administrator privileges (such as installers). For now, this is a bit of a pain when it doesn't work, but in the future, this will end up working well. For example, as the author indicated, it becomes more challenging to install a pre-Vista application to your personal folder without help from an admin (Vista detects that the installer probably needs admin privileges). In the future, the installer will have a manifest telling Vista that it doesn't need admin privileges immediately, and will ask for them only if the user decides to install the app onto the system instead of to a personal folder.

    --
    Time flies like an arrow. Fruit flies like a banana.
  3. Re:It doesn't matter by Megane · · Score: 4, Informative

    Use [tab] to select and [space] to "click".

    Not by default. First you have to go into the Keyboard & Mouse preferences and select the full keyboard access for "All controls".

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  4. Re:It doesn't matter by lord_rob+the+only+on · · Score: 3, Informative

    I don't remember where I read it, but I think any version of Vista can be run inside a VM. What you can't do is running multiple instances of one licence of Vista inside a VM (also one licence of vista and the same licence running simultaneously inside a vm), unless you use the ultimate edition.

  5. Re:Wrong. XNU source code is no longer available. by Megane · · Score: 5, Informative

    Since the x86 switch, Apple no longer makes the XNU source code available.

    Wrong. http://apple.slashdot.org/article.pl?sid=06/08/07/ 2359256

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  6. Re:Wrong. XNU source code is no longer available. by hattig · · Score: 3, Informative

    Apple made it available a few months after that storm in a teacup.

    They were probably tidying up the code, and people thought that it was Apple not releasing the kernel source code anymore.

    What's worse is that you replied with this to a post that gave you an explicit link to the page you could get all the sources from. One click on "Darwin" and what do I see?

    Mac OS X 10.4.8
    Darwin 8.8
      Source (PPC)
      Source (x86)


    So, yeah, 100% completely wrong.

  7. Re:It doesn't matter by Tim+Browse · · Score: 3, Informative

    The thing about PC gaming is that games on PC don't really use the operating system at all.

    Yes, they do. I tried writing a PC game once without using the OS, but I couldn't open any of my data files.

    They all run in full-screen mode with their own UI.

    Oh, you mean they don't really use the Window manager? The OS is more than a GUI.

    As long as your version of Windows has the needed version of DirectX, etc. etc., a committed PC gamer doesn't really care if he's running Vista, XP, 2K, or 95.

    Unless I'm mistaken, quite a few games now don't (officially) support 95.

    BTW, DirectX uses the OS, which you may not have realised.

  8. Re:It doesn't matter by Joe+U · · Score: 5, Informative

    The thing about PC gaming is that games on PC don't really use the operating system at all

    Except for the sound, video, keyboard, mouse, monitor, network card, hdd, cd/dvd and other drivers the OS provides.

    Windows isn't just the fancy GUI, it's a standard interface to non-standard hardware. Anyone who used DOS for gaming will remember the absolute nightmare of getting sound, video, network and CD drivers all running for every game.

  9. Re:.NET by Agilus · · Score: 3, Informative

    I actually had a reason to do all of those things, with the exception #of 5 (but it might be do-able, don't know off the top of my head) with ancient Java 1.4 a few years back. You can find that Java's Reflection API will handle most of the stuff you're talking about, while its JNI API will let you call separate methods for object allocation and constructor initialization. It's also possible that you might be able to do it all with the Reflection API, without having to resort to JNI - I just came across the allocation functionality while I was creating some Java-C++ bridge code.

    That said, I'm looking to getting my hands dirty with some Objective-C code in the near future.

    --
    hackshop.com - My tech hobby project hub
  10. Re:.NET by nickallen · · Score: 3, Informative

    1. Enumerate all the subclasses of a given class, or classes that implement a particular interface, including those supplied in plug-ins, at runtime.

    This is not directly possible in Java API but can be done with a small utility function that uses reflection.

          2. Call methods by name.

    Again this can be done by reflection. You loose type safety so it's not encouraged.

          3. Query whether a delegate object implements a given method, allowing for informal protocols.

    Again this can be done through reflection. As Java tries to be type safe this is not part of the language syntax. You should use interfaces in this case. But it is possible to do this using reflection API as well.

          4. Handle the case where an object tries to call a method on my object that doesn't exist, to allow the simple creation of generic proxy objects.

    This is something Java and most statically type safe languages try to avoid as in most cases this is a programming error and it is better to catch at compile time. Using reflection you could check if the object supported the method or not though.

          5. Add methods to a class, even if it's part of the standard library and I don't have the source code (I can even do this at runtime, although it's messier, and I haven't ever needed to).

    This can be done with AspectJ.

          6. Separate the allocation and initialisation of an object into separate methods, to allow different allocation policies to be implemented (e.g. pools for commonly re-cycled objects) transparently to users of the class.

    Java implementations try to detect this automatically. In fact I think some implementations of Java can allocate objects faster than a malloc because they do pooling for you. But it would be nice if this could be done in Java I guess.

  11. Re:It doesn't matter by that+this+is+not+und · · Score: 3, Informative

    I wouldn't mind having 'Final Cut Pro' as it's an application that makes it easy to do video editing. It, however, like all programs that makes a task 'easy' tends to direct the user along it's prescribed method for doing the task.

    None of what it accomplishes can't be done using other programs. And I feel more in control picking and chosing components. Plus, the existence of 'Final Cut Pro' on the Mac platform crowds out and eliminates the motivation for other people to come in and develop competing products. On Windoze there isn't a 'clear leader' in the area of video editing, so out of the anarchy come more options and choices. I like options and choices. I also cannot justify spending the tons of money for a new Macintosh, and all the new software I'd have to buy to get equivalent performance with other tasks.

    Really, though, for most purposes at home I use NetBSD these days. But for video editing and reproduction, good old Windows 2000 works okay, and I've registered a collection of shareware apps to meet my needs.

  12. I don't know about Java by melted · · Score: 4, Informative

    I don't know about Java, but you can do much of this in .NET:

          1. Enumerate all the subclasses of a given class, or classes that implement a particular interface, including those supplied in plug-ins, at runtime.

    ** You can, through reflection

          2. Call methods by name.

    ** You can, through reflection

          3. Query whether a delegate object implements a given method, allowing for informal protocols.

    ** You can, through reflection

          4. Handle the case where an object tries to call a method on my object that doesn't exist, to allow the simple creation of generic proxy objects.

    ** That can never happen in C#

          5. Add methods to a class, even if it's part of the standard library and I don't have the source code (I can even do this at runtime, although it's messier, and I haven't ever needed to).

    ** What's wrong with inheritance?

          6. Separate the allocation and initialisation of an object into separate methods, to allow different allocation policies to be implemented (e.g. pools for commonly re-cycled objects) transparently to users of the class.

    ** Not needed in .NET by design. You can't allocate anything on your own.

  13. Helpful Mac Enthusiasts... by DivideByZero · · Score: 4, Informative

    Highlight and [cmd]- C to take data from X11 to the apple side.

    Hold down [opt] and click to paste from the apple side into X11 (That's the middle-click emulation)

    I had this question earlier today, and looked it up.

  14. Re:Summary: Apple is better because it is Apple by Lacota · · Score: 3, Informative

    About the ipconfig thing.. Most Windows users are terrified of using the GUI as it is, can you imagine telling them to use the command line? We're not the normal Windows user. Why do they want their IP (Ever play older online games?)? ipconfig is obscure. It's a throwback to the command-line day. Joe-Six-Pack won't know the difference between backslash and slash, let alone how to navigate DOS. You're making the assumption that the user knows how to find and use the command line, you're also assuming they know what the command line is. It's not one step either. Start Run Type in 'cmd' Type in 'ipconfig' No, you cant just type ipconfig from the 'run' menu. it executes the program, then closes the window, a 'feature' of XP.

    --
    It is not a god that would do evil biddings, but only a mortal and its limited knowledge would let such atrocities exist