

Why developers prefer Macs - snydeq
http://www.infoworld.com/article/08/11/17/47TC-developers-mac_1.html

======
pavelludiq
Until the day i can install MacOS X on a virtual box or on my pc i remain an
apple anti-fan boy. Oh and theres also that closed source thing, but i can
live with it, just let me chose the hardware i want to run my software on!(and
i don't mean the color of the MBP), Ill pay for it too, i promise!

~~~
jodrellblank
To paraphrase Steve Yegge's latest: "This succinct yet completely accurate
synopsis shows that all OS's have their attractions, and yet each also has a
niche. You can choose an OS for the busy person, an OS for someone without
much time, or an OS for the dedicated hobbyist, and you'll find that no matter
which one you choose, it's missing some of the abilities you need."

~~~
pavelludiq
upvoted because you're right, but still apple is evil and i don't like them, i
don't know if their awesomeness comes from their evilness or despite it.

~~~
unalone
It's not evil so much as it is closed-mindedness. And yes, that's what makes
Apple so awesome.

You can't be uncompromising in your feature set and design if you don't hold
control over every small aspect of your software and hardware. Apple has
decided that they know what's best for their operating system, and that other
people aren't allowed to undermine them. It means that programmers have to
conform and that hardware designers can't use Apple at all. The result is that
users don't have many options, but that all their options are good ones; Apple
employees are much better-suited to fixing computer problems than retail
employees for other companies; and designers get to focus less on overall
design and more on their features. It's a win-win-win.

Say you get to install Apple on a virtual box on your computer. You lose the
multitouch capacity, if you're using a laptop, because multitouch pads are
rare outside of Apple notebooks. That means you're operating at a loss
already, that Apple's system isn't working exactly how Apple wants it to. You
also lose the preset keyboard controls for stopping and starting music, you
lose keyboards that light up in the dark, you lose buttons for Expose and
Dashboard and ejecting CDs. You lose the Command key. In other words, you're
suddenly using an operating system that isn't operating at its full capacity.
Apple doesn't want that: Steve Jobs is famously quoted as saying that he
_could_ make his computers cheaper, but only at the cost of quality and
reputation, and that in his mind quality ought to be the top concern for
getting a computer. Is that evil? Because I think it's highly principled.

The loss is openness, and that's where you're getting "evil" from. (I'd
assume.) The problem with open is that it's unfocused. You can't demand the
same level of quality with open that you can with a closed, rigid system. And
in my eyes, _that's_ the evil route. The people who say they wish Microsoft
and Apple would crumble and fall away because they charge money for their
systems are people who're saying that they'd do away with an incredibly
efficient system for the sake of something that's buggy and unstable, which is
pretty smug and stupid in my opinion.

~~~
litewulf
Translation: I like it when I am mistreated by Apple because I can believe it
is part of some greater purpose.

(I think this is a very meaningless argument. Some people care about one
thing, other people care about other things. Products may be judged by
different criteria by different people.)

~~~
unalone
It's a meaningless argument in that the two sides won't agree. But I think
it's useful in that some people are interested in the opinions from both
sides. And I don't like people calling Apple "evil." It's immature.

 _Translation: I like it when I am mistreated by Apple because I can believe
it is part of some greater purpose._

So, was my argument entirely invalid? Because I thought I did an okay job of
explaining why being "evil" wasn't actually evil.

In my opinion, Dell and Microsoft mistreat their customers, because they
sacrifice quality for customization. I understand their viewpoint but they
turn out the inferior product. If Apple's "mistreatment" means excellent
screens, keyboards, designs, specs, and software, then by all means let them
go ahead.

~~~
jodrellblank
If Microsoft's "mistreatment" means they produce solidly reliable integrated
systems such as their clusterable database server which integrates permissions
with their directory service and supports hosting code written in their
server/desktop/mobile/web programming language and framework and has its own
reporting server which integrates with their web server which can also host
code written in the same programming language and framework, the same language
that's used to customise their collaboration portal and office application
suite, then let them go ahead.

Microsoft sacrifice quality for customisation? Hah. I dislike it because it's
so high quality and uncustomisable. Means you can't do what you want with it,
but the boss loves it.

~~~
unalone
_Microsoft sacrifice quality for customisation? Hah. I dislike it because it's
so high quality and uncustomisable. Means you can't do what you want with it,
but the boss loves it._

Then that's very different from their OS set-up, which allows for a lot of
options at the expense of unification and aesthetic pleasure. I haven't used
what you talk about, but if they do that then good for them. I still think
they do their OS customers a disservice.

------
tom_rath
>Java development on the Mac is also very popular

Yeah, right.

Get back to me when Apple arrives in 2006 and releases a version 1.6 JVM, or
at least provides an automatic update to Java 1.5 on OS X 10.4!

~~~
tlrobinson
1.6 is available... but only for Intel Macs running Leopard:

<http://developer.apple.com/java/>

Also, I think it's pretty clear that Apple hates Java, at least on the
desktop, and for pretty good reason. Java GUI apps are pretty much the
antithesis of Mac OS X GUI apps. Java may be great for certain applications
but I have yet to be convinced that GUI apps are one of them.

~~~
tom_rath
You'd think that, but digging a little deeper shows: "Java SE 6 is available
on 64-bit, Intel-based Macs only." Unless your customers are running 64-bit
machines (and even they would have waited until this September for
compatibility), you're SOL and have to compile a separate Java 1.5 release for
Mac.

So, Windows 2000/XP: No problem! 1.6 compatibility in 2006.

OS X 10.5: Whoa! This Java thing is too new-fangled for us!

As for the GUI: You can get around that with a Synth theme. Ugly and slow Java
on the desktop is a thing of the past (even on Mac).

~~~
tlrobinson
It's not just the theme that I dislike (Java on OS X tries to mimic native OS
X widgets) Java GUI apps just don't _feel_ like real OS X apps. Whether that's
a shortcoming of Java itself, Apple's implementation, or Java developers, I
don't know. Probably a combination.

I'm pretty sure that all the Macs Apple sells now (and for the past year or
so) are 64-bit. (Also it's been available since April). But yes, it's less
than ideal.

~~~
tom_rath
Restricting your customer base to those who purchased a new computer in the
past year will greatly harm your income (particularly if you're selling
business apps).

As for the _feel_ : Don't get bogged down by the implementation technology.
The vast majority of your customers (presuming you're not targeting the rabid
fanboy subset of Mac) will not notice nor care about the language you've
implemented your application in.

If your software does what a business needs and looks reasonably good while
doing it, you'll make a killing.

~~~
lallysingh
I think you mean restricting your developer base.

You know.... as it's Java. It should run (with modest effort) on a few
platforms.

~~~
tom_rath
No, I mean customer base.

You cannot deploy Java 6 applications to Mac (except 64-bit Intel Mac OS X
10.5 after September, as mentioned above). You can build Java 6 for all other
platforms (back to Windows 98, FFS), but to work for Mac customers you have to
adjust your build to create a Java 1.5 version.

You also have to add in special Java upgrade instructions for those using OS X
10.4 (since the 1.5 upgrade isn't included in automatic updates), and tell
anyone with a Mac earlier than that to piss off, because Java 1.5 (released
over FOUR years ago, in 2004) won't work on OS X 10.3 or earlier.

That is an exceptional pain which isn't present on Windows or Linux.

Apple makes wonderful hardware but they treat their third-party developers
like crap. Microsoft is absolutely awesome in comparison and realizes that
"Developers, Developers, Developers" are the secret to their OS's success.

~~~
neilc
The Java on OSX situation is pretty deplorable, I agree. But that is not
equivalent to "treating their third-party developers like crap." Java is an
underprivileged minority on the OSX desktop, for better or worse.

~~~
tom_rath
It's not just Java. Apple's been awful with backward compatibility for years.

Every time Apple upgrades their Mac OS a frantic application re-write is often
required from third-party developers just to get things working on the new
platform. In contrast, I can pull out an application written 15 years ago for
DOS and fire it up under Windows without a problem. Microsoft realizes how
important it is to keep third-party software working on their platform and
bends over backwards to provide that backward compatibility.

For our own software, we've not had to tinker with the base code (written on
Win 98) at all under Windows.

Building desktop apps for Mac is a (lucrative) pain.

~~~
tlrobinson
Aside from a) the Mac OS to Mac OS X transition (though existing apps worked
under "Classic" mode), b) some apps during the PPC to Intel transition (namely
apps with assembly or endian issues), and c) apps that used private /
unpublished APIs, that's not really true.

It's true Microsoft goes to extraordinary lengths to keep backwards
compatibility. Consider the Joel Spolsky anecdote about SimCity:
<http://www.joelonsoftware.com/articles/APIWar.html>

In case you missed that, SimCity had a bug where it used memory it already
freed. This worked under DOS for whatever reason, but not under Windows. So
the Windows team _hardcoded a special case just for SimCity_.

That is going too far, IMO. Why should my OS have all this extra bloat to
check for buggy _applications_? This is why OS vendors seed preview releases
to developers, so they can test their own damn software and issue fixes for
these kinds of bugs. While it may have been hard to distribute updates 20
years ago, with the internet it's trivial.

~~~
es
_SimCity had a bug where it used memory it already freed. This worked under
DOS for whatever reason, but not under Windows. So the Windows team hardcoded
a special case just for SimCity._

It sounds like there was a some kind of bug in DOS that allowed SimCity to
work with object freed from memory and Windows team tried to hide it in
Windows by making a special case :)

In any case I think it's called going an extra mile for the customer, isn't
it? (I can't believe I'm writing it about MS)

~~~
tlrobinson
Reusing freed memory is a bug. Period.

It _might_ work sometimes, but I'm pretty sure most platforms consider that
behavior undefined.

------
plinkplonk
why _some_ developers prefer macs.

------
shimi
I probably missed the part of: what are the benefits of writing software on a
Mac.

Developing C# on bootcamp is like developing Linux on Windows running
VirtaulBox. I actually experienced the last sentence to one time thing, but on
daily basis I would say its inefficient.

Personally after 4 years of windows development staying with Windows. I've got
a Vista laptop and I admit that there are some challenges to get things done,
but in all its working fine. For what I'm doing I can't see any benefit using
a Mac

~~~
jmtulloss
4GB of memory in a MacBook Pro is a marvelous thing.

I can develop in whatever OS I like and still enjoy being at my computer. It's
the little things, I find, that make me stop working. It's the little things
that Mac takes care of. I don't have to be frustrated, I can just open up
whatever tool I need on whatever OS it needs and work away.

A lot of credit goes to VMWare too. Fusion is a terrific product.

~~~
Tichy
Funny, my impression was that it is rather Microsoft that also takes care of
the little things, whereas Apple seems to be prone to skipping the little
things because they might appear too ugly. It's little things like having the
right menu options at the right place, "Open Command Line Here", stuff like
that - have forgotten the details because I haven't used either OS X or
Windows in a while. But Windows has usability research groups. I am not sure
if Apple even has those, or if they just rely on their fancy designers.

------
rflrob
"It's possible to build a quad-core PC running Eclipse and Gimp for less than
$400 with refurbished hardware. At the time of this writing, the Mac Pro with
one quad-core CPU begins at $2,300. Adding Photoshop and other tools can push
the bill closer to $4,000."

It may be true that it's possible to do that, but part of the reason Macs are
so expensive is that they don't (generally) skimp on parts, and there's a lot
of design that they put into the system.

~~~
evgen
Yeah, I would like to know where someone is going to find a quad-core
harpertown for less than 600 per unit (unless it happens to "fall off the back
of a truck"...)

~~~
wmf
Apple is forcing some customers to buy Harpertown when they really want
Yorkfield.

