views:

60

answers:

3

This question is for experienced Unix/Linux developers.

If you have found that you like Mac OS X better than *nix as a development platform, why is that?

I know that hardware configuration is more convenient and graphics are generally more polished, but I'm not referring to those things. I'm asking specifically about functionality related to software development.

Also, do the benefits still apply if you are mainly targeting Windows or Unix/Linux?

+2  A: 

For most purposes, OS X is Unix. Aside from Xcode (which I personally don't care for), there isn't really anything there to make it better or worse than any other Unix-like system for development.

Most of the typical tools, libraries, languages, and interfaces are there, you'll even be using GCC for C/C++ work. As long as you're not developing against Apple/OS X-specific interfaces like Cocoa, you are developing on Unix.

I use OS X because it just works, thus not interfering with my development, not because it has magical fairy dust that makes it better than any other Unix for development.

Nicholas Knight
Several old-time Unixers have told me that once they tried OS X, they didn't want to use anything else. I'm trying to understand what the deal is.
@wrp: "It Just Works" pretty much sums it up. No configuration nightmares, polished UI, etc.. You're looking in the wrong place. It's not about the development environment, it's about being able to use the development environment without the rest of the system getting in your way. We like it because we can do Unix development, but don't have to care about Unix's traditional weaknesses in user experience. Developers are users, too -- we want our computers to be easy to use.
Nicholas Knight
+1  A: 

I love Apple as a dev platform because I get all the power of the *nix commandline as well as Apple's developers tools (XCode).

The additional software/hardware polish, and quality of third party software make it all that much more enjoyable.

Brian Wigginton
+1  A: 

Mac OS X is not better than a Unix environment, it is a Unix environment: http://www.opengroup.org/openbrand/certificates/1190p.pdf

I'd go as far as saying it's probably the most used Unix, considering it's also in all iPod Touch and iPhones.

(As far as I'm aware, Linux isn't a certified Unix, but I may be wrong, perhaps a distribution/vendor went through that process.)

Sometimes, for professional reasons, you just have to have tools that are compatible with what your boss or customers use. This often includes proprietary tools like MS Office, whether you want it or not (OpenOffice can't always deal perfectly with Word documents). OSX provides this intermediate ground, where the developers can also be users or closer to their user base.

Bruno
Each individual Linux distribution would have to go through the certification process on its own. It's been tried before, but I don't think any have actually been certified. It's more a problem of the certification process being an expensive PITA than actual non-compliance, though. They just don't really find it to be worth it.
Nicholas Knight
@Nicholas: No Linux Kernel hackers always said they don't intend to follow standards if they dont like them. The pthreads desaster was one proof of it. They like to apply the "it works for me" (with a large number of me's) style of development. And they are not compliance at the moment to any standard posix. But who cares about unix standards anyway - the only left relevant posix systems in non niches are linux, freebsd and macosx.
Lothar
@Lothar: The kernel hackers aren't the final arbiter of whether a Linux-based system becomes compliant. It would not be overly difficult for a company like Red Hat or Novell to bring their distribution(s) into compliance. It's not a new notion, nor would it be unprecedented. It just hasn't been completely followed through on for the reasons you cite -- few people care anymore.
Nicholas Knight