
OS X Isn't for Developers - holman
http://zachholman.com/2011/03/osx-isnt-for-developers/
======
geuis
I disagree with all of the OP's points, except for one. Yes, Macs are
incredibly popular with developers.

1) The reason I have _always_ liked Macs since I was a kid is they basically
come with what they need, and its easy to install extra stuff if you need it.
Just because many developers like Macs doesn't mean that most Mac owners are
developers. Most are just normal people who would wonder what is eating up
extra space on their hdd.

2) It is absolutely _not_ a burden to install the dev tools. There's
absolutely no need to include gcc or the other dev tools by default. Non-
developer folks almost never open the Terminal, much less compile their own
software.

3) At most, I have to download the latest version of Xcode every 4-6 months.
Yeah, she's a fat beast of a .dmg, but downloading and installing doesn't take
up more than a few hours a year. Say that for Visual Studio or Eclipse which
aren't as polished in some aspects, crash frequently, or run on platforms that
crash frequently. (I'm not saying that VS or Eclipse share all 3 of those
properties, and the crashing bit refers to Windows).

4) Its been demonstrated many times that Apple charges these $5 fees for
previously free tools and applications because of SOX compliance laws. Apple
has been providing their dev resources free for _years_. They are not hurting
for cash and this isn't a money grab. They're at their all-time height of
profitability, developer influence, and customer and market reach. Its rather
obvious its about SOX.

~~~
nl
_Its been demonstrated many times that Apple charges these $5 fees for
previously free tools and applications because of SOX compliance laws... Its
rather obvious its about SOX._

No, it's not at all. The _only_ "evidence" for that is a bunch of uninformed
developers speculating about things they know nothing about.

OTOH, there is quite a bit of evidence that this isn't the case:

1) Why didn't they charge before? They've used the same accounting standards
since the iPhone was released, so if they "suddenly" discovered they'd been
doing the wrong thing, they can't just fix it going forward. At the very least
they would need to make a statement to the stockmarket they had discovered a
problem.

2) There are a huge number of companies that have similar accounting practices
to Apple and yet manage to give away their tools. RIM & Nokia are two obvious
ones.

3) It would be trivial to work around the problem, _if_ there were one (which
I don't believe there is). For example, they could spin off developer tools
into a wholly owned operating company that would receive income from Apple and
release free tools. The accounts would be separate, and this _wacky_ SOX
accounting theory would not apply.

Edit: 4) (from further down the thread): Why don't they charge for iTunes?

I don't know why Apple pulled this move, but it's not about SOX compliance.

Edit 2: I think I might be wrong on this:
<http://news.ycombinator.com/item?id=2311934>

~~~
rayiner
Just a law student, but I can buy the SOX thing. Companies have very different
approaches to compliance, get advice from different counsel, account for
things in different ways, etc.

I feel like there is a Occam's Razor argument in here. What purpose besides
SOX could Apple have in not giving away XCode 4? Could be pure greed as others
are saying, but when Apple wants to make money they're incredibly good at it.
How many people are going to download XCode? Tens of thousands? Apple might
stand to make, what $100k off the venture? If they were really trying to
monetize XCode why would they price it so they don't make any money off it?

~~~
nl
They why $5? Why not 1c, or 99c, or make it $99 and include a year's
membership?

I said it elsewhere, but I'll say it again here: can you really imagine Steve
Jobs agreeing to charge for something he didn't want to charge for because of
_accounting practices_?

~~~
nupark
_can you really imagine Steve Jobs agreeing to charge for something he didn't
want to charge for because of accounting practices?_

They might have been lying, but Apple has publicly claimed this before:

[http://hardware.slashdot.org/story/07/01/16/2127204/Apple-
Ch...](http://hardware.slashdot.org/story/07/01/16/2127204/Apple-Charges-
For-80211n-Blames-Accounting-Law)

~~~
csarva
This macworld article has the actual quote:

<http://www.macworld.com/article/54948/2007/01/80211nfee.html>

“The nominal distribution fee for the 802.11n software is required in order
for Apple to comply with generally accepted accounting principles for revenue
recognition, which generally require that we charge for significant feature
enhancements, such as 802.11n, when added to previously purchased products,”
said Teresa Brewer, Apple’s Mac hardware public relations manager.

------
Groxx
> _Apple releases their gcc package, installs it in Lion by default, or
> otherwise makes it available. This would be excellent. The holy grail would
> be if Homebrew could use this and we could just run brew install gcc. It
> would be a huge, huge impact to our community._

Or, you could JFGI[1]:
[http://www.google.com/search?ie=UTF-8&q=apple+open+sourc...](http://www.google.com/search?ie=UTF-8&q=apple+open+source)

Do people just not know about <http://www.opensource.apple.com/> ? Apple's GCC
source: <http://www.opensource.apple.com/source/gcc/gcc-5646/> go ahead,
compile it. Add it to Brew. It's still under GPL. They even include
instructions on how to compile it, flags, everything. There's a lot in those
readmes / changelogs.

It seems that every time someone laments that Apple is oh-so-closed and has-
no-source and etc, they merely don't know about opensource.apple.com. I've
seen "how could they not release it, it's GPL!" complaints _all over the
internet_ , and they sometimes go for _months_ without someone doing a search
_anywhere_ for "apple open source". Or in this case, "apple gcc source", where
the first link gives the location to download the source right in the very
first sentence:
[http://developer.apple.com/library/mac/#documentation/Develo...](http://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.0.1/gcc/Source-
Code.html)

[1]: <http://justfuckinggoogleit.com/>

~~~
uxp
Assuming a just-bought vanilla Mac computer, how is someone supposed to
install a tarball of GCC or LLVM/Clang sourcecode without a C compiler?

Keep in mind that OS X does not come with "make", "ld", "as", "nasm", "yasm",
"gcc", "g++", "cc", "c++", or any others I may have missed.

I understand someone else could provide a pre-compiled package of GCC or Clang
for the community, but that is not what the author is talking about in that
point. He is specifically talking about end-users and developers of other
languages besides C and Objective-C that may require installing packages that
need to have native C extensions compiled. ruby-mysql comes to mind, as well
as RVM, the Ruby Version Manager, becoming effectively useless without those
Ruby developers being forced to buy Xcode, not for Xcode, but for GCC.

~~~
Groxx
> _I understand someone else could provide a pre-compiled package of GCC or
> Clang for the community, but that is not what the author is talking about in
> that point._

That's what "brew install gcc" would do, so yes, they are talking about that.
Precisely that. _And_ that it would be nice to have it installed by default
(no argument there). The Homebrew scripts could easily download a GCC binary
and set up PATH to use it, so all someone needs to do is compile it, host it,
and create a script to do so.

 _The entire rant_ about OSX requiring XCode to have GCC is _fundamentally
incorrect_. The rest is stating a preference - that they'd like GCC installed
separately, on its own, with every install of OSX.

------
darkhelmetlive
The few of points I've made about this are:

1\. The Xcode 4 download compared to Xcode 3 is basically just a different
IDE. The gcc version is, for all intents and purposes, identical. There's
nothing stopping anybody from just installing that if all they need is the
toolchain.

2\. The other big 2 OS's (Windows and Ubuntu) don't have any build tools
installed by default either. Granted they are just an apt-get away on Ubuntu,
but it's still something you have to explicitly install.

3\. If I wasn't a dev, I'd be pissed to find some compiler toolchain IDE
gongshow eating up 5-15GB of my disk space, so not having it by default is
probably a good thing. Most people aren't devs.

I paid the $5, but I'd still like to see just the toolchain available as a
free download, though I still don't think it would be a good thing to have it
installed by default.

~~~
petercooper
_If I wasn't a dev, I'd be pissed to find out some compiler toolchain IDE
gongshow eating up 5-15GB of my disk space_

Yeah, but the essentials that most command line builds require wouldn't even
take up 10% of that. Apple already wastes gigabytes on printer drivers and
extra languages you don't need.

~~~
eddieplan9
Your house is not for developers! It did not come with a free computer when
you bought it! Even though a computer would only cost as little as 0.2% of the
cost of the house, and the previous owner already wasted tons of money on the
useless peach trees in the yard.

~~~
mitko
hm, how come gcc comes for free on lunux, and install is as easy as: >> sudo
apt-get install gcc

~~~
Locke1689
You try that command in a base Arch install and get back to me. You're
basically blaming Apple for not having a package manager, even though that's
clearly the responsibility of the community.

------
wmoxam
Argument kinda falls flat. For starters, Xcode 3 is still free, at least for
now. No need for Xcode 4.

Also, I'm certain that someone will package gcc for mac sooner or later now
that there's an incentive to do so. There has not been much incentive to do so
before now since it was included with Xcode.

~~~
holman
I wasn't arguing that Xcode is expensive. I'm arguing that the barriers to
entry are pretty offensive if you need the capabilities of _only_ gcc. An
hour-long process involving credit cards isn't very nifty.

~~~
otterley
What part of "XCode 3 is still free" do you not understand?

~~~
holman
I was more reacting to the common argument that "$5 is not expensive". My
apologies if that's not what they were addressing in this comment.

That said, Xcode 3 doesn't satisfy the requirement of being easy or quick to
install for a casual user.

~~~
dekz
What isn't easy about installing from the disc given when you bought the mac?
Don't have a your mac discs anymore? Download it or borrow someone elses. If
you don't want the extra crud of iOS firmwares, disable it. To be honest it's
quite "easy" to install for any user.

Quick on the other hand, how many 4.5gb installations are quick?

~~~
cytzol
FWIW, it doesn't come with the new Air models.

------
tomkarlo
This whole Xcode/$5 topic (which seems to be getting unnatural air time on HN)
reminds me of an old joke:

A mom is at the beach with her child. Child gets swept away by a wave.

She says "God, if you just bring him back, I'll [insert long set of
promises]!!!"

The next wave tosses the kid back on the shore, unharmed.

She looks up and says "he had a hat!"

How easy our lives have become that we can spend all this ink griping about
$5, or a 15GB download that has to be done twice a year over our very fast
broadband connections.

------
bcrescimanno
Aside from all the other good points brought up here (the most notable being
that this is the first time a major XCode upgrade has been available to non-
registered developers between OS X releases), the most troubling thing about
this submission is the inflammatory, link-baiting title. Honestly, the article
itself doesn't even attempt to defend this ridiculous assertion.

I'm all for stating your opinion, but can we keep the hyperbole to a minimum
on HN please? There's a reason I stopped reading Digg...

------
thought_alarm
In the past these kinds of midstream Xcode upgrades were _only_ available to
registered developers. So other developers should be grateful that this
upgrade is available at all this time. And if 5 bucks is too much for you then
I guess you'll just have to continue to use Xcode 3 and wait for Lion.

------
heyrhett
Steve Jobs wants me to sign up for his service and give him $5 for the
privilege of downloading 3.5G to get gcc on my computer now. Didn't we see
this coming?

[http://www.jwz.org/blog/2002/10/oh-bitty-box-how-youre-
grown...](http://www.jwz.org/blog/2002/10/oh-bitty-box-how-youre-grown/)

"So rzr_grl had a zillion zillion files she wanted to download from a web
site, using her OSX Mac. First she tries to use this program called Fetch,
which is expirey nagware. (And it's just baffling to me that anyone would
actually pay for software that does something as basic as "downloading files",
but that's beside the point.) ...

So I say, fuck this, I've heard rumors that these are real computers now, just
use wget. So I download it, configure… oops, no C compiler. Presumably it was
on some CD that she doesn't have here. So we go looking for an OSX binary of
gcc. (Brief conversation on how it's possible for compilers to need compilers
occurs.) Apparenty the only binaries are on Apple's site, and it takes forever
to find it, because their site sucks. Also they make you register in order to
download gcc. It's gcc! WTF! "

------
dasil003
It's a legitimate point, but the linkbait title just irritates me. This is
something that developers only have to deal with once every year or two. $5 is
not a lot of money for a 4.5GB development package, regardless of whether you
think it should be free. It certainly shouldn't be any kind of tipping point
in platform choice for developers.

~~~
bonch
> It certainly shouldn't be any kind of tipping point in platform choice for
> developers.

It won't be. After the usual anti-Apple trolls have had their say, everyone
will have forgotten about this phony "controversy" by next week.

~~~
flomo
I don't think so.

The article makes a very valid point that people download XCode not because
they care about Mac/iOS development, but only because Unix systems assume you
have a compiler available as part of the software installation process. Folks
like Ruby developers and MacPort users will not be happy to have to pay $5 to
install something, when the equivalent Windows binaries are available for
free.

This is going to cause major disruption in how certain Mac software is
distributed. The problem will not simply "go away" as trolls are distracted.

Most likely Macs will move to a Macs move to a Windows-like model of binaries
instead of build-scripts. However, someone could recreate the Mac toolchain
and distribute it for free in an easy to install package. That's a lot of work
to save someone $5 however, so there will be a lot of bitching-and-moaning in
the short term.

------
joeld42
I don't understand? Can't you release the ruby gems or whatever it is as
binaries? You only need to spend the $5 if you want to change something,
right?

~~~
holman
The end-user needs to have build tools installed on their system if your
library uses C. Same for if you want to install some standard system packages
like ImageMagick.

~~~
sid0
... or, you could just ship a binary instead.

~~~
eliziario
Or ok. And what about your dependencies? Let's say you have a dependency on a
library that is not shipped with OS X, what do you do? Link it statically and
see your tiny gem becoming a monster of a few megabytes? Or do you simply link
it dynamically hoping that somehow there will be a binary with the right
version lurking somewhere for the user to download. Yeah, that's what happens
when you develop OSS for windows. Or do you rely only on native windows
libraries that you know will be there for sure, or do you have to compile
against the latest version of the library you want to use that happens to have
a binary available for windows users to download. Or then, you resort to some
strange things like cygwin, MinGw. But didn't we all complained about that
when windows was the only somewhat userfriendly OS out there? Didn't we all
complained about how much it sucked that you couldn't have a free C compiler
chain on windows. Well, now at least on windows you can download the Windows
SDK and build code without Visual Studio. If and when Microsoft Windows C/C++
compiler, linker, docs, libs and headers are updated you can have a fresh and
free Windows SDK download without having to shell out money to buy Visual
Studio, would it be so difficult to apple to unbundle GCC toolchain from XCode
and make it freely available?

------
MJR
_It’s possible that this will change before OS X Lion ships, but it’s still a
troubling prospect today._

Why is this a troubling prospect today? The Developer tools you need are on
your install disk. You did buy the operating system right? Just install them.
If you don't have the disc handy at least you have the option of downloading
it for free.

You're arguing that spending AN HOUR of your time is offensive. Think of
everything you DON'T have to do since it's built into OS X. If that doesn't
convince you, then yeah, OS X isn't for YOU - not Developers.

~~~
mnutt
No, he's arguing that asking somebody else to spend an hour of their time to
install a gem is placing extra barriers to people experimenting with the
software that came with their computer.

~~~
Terretta
Which is where he loses me. If that person wants to deal with gcc, they're not
casual, and spending an hour grabbing latest libs and tools is how they roll,
Xcode or no. Any time I'm on CPAN I end up updating 50 other things and 3
hours later wonder what I was looking for in the first place.

~~~
mnutt
I think the point might have been that there are some more casual uses
(homebrew, rubygems, python eggs, etc) that aren't as hardcore as writing c
but that have gcc as a dependency.

~~~
ahlatimer
Installing Xcode to get gcc was _already a requirement before this._ I really
don't understand the argument.

Funnily enough, I've never heard anyone mention it before this whole ruckus,
even though installing Xcode was a requirement to get gcc in the past. No one
has taken the time to build it themselves with the source that Apple gives out
for free and host it for those that don't want to install Xcode.

------
rsefer
I think the $5.00 is to deter the average user from seeing a free App made by
Apple and downloading it, eating up significant bandwidth

~~~
k33l0r
Then why not offer the download for free on developer.apple.com and charge the
5 dollars for the convenience of using the Mac App Store?

------
adsr
It's a ridiculous argument, first of all that $5 would deter anyone, secondly
the clang/llvm binaries are available freely, which is the default compiler in
Xcode.

<http://llvm.org/releases/download.html#2.8>

GCC is freely available in source form.

~~~
telemachos
> GCC is freely available in source form.

But of course, source code is useless to you _if your computer has no
compiler_.

I was pretty sure that at least part of Holman's argument was that Apple could
easily do all of us a favor and just ship with gcc pre-built. ("All of us"
meaning the devs who do all this for a living as well as the casual coders who
might want to install a Ruby library with C extensions.) How would that
possibly hurt Apple?

~~~
adsr
Then compile it with llvm (if you absolutely must have GCC specifically), llvm
is the new default compiler in Xcode. The link above has binaries both for
clang and the GCC front end.

Xcode 4 is still a pre-release, normally Xcode comes with the default OS X
install disk. To make it available to non paying developers, it's been put on
App store just one day ago. This is not a present problem, only a hypothetical
future problem. That is another reason the argument is ridiculous. Apple do
ship GCC pre-built, it's on the OS X install disk.

~~~
nupark
_Then compile it with llvm (if you absolutely must have GCC specifically),
llvm is the new default compiler in Xcode. The link above has binaries both
for clang and the GCC front end._

GCC is still the default compiler; Clang is still immature.

------
bobwaycott
To the crux of the article, from an experienced dynamic/static language
developer on Mac, Windows, Linux, and FreeBSD:

The OP argues OS X isn't for casual, inexperienced, and green developers who
run across some random gem/pkg/app/lib/etc online they think is cool and want
to play around with, but are inconvenienced and sidetracked by needing to
install gcc or other non-included toolchain packages.

I'd say by the time such a "casual user" hits this point, she begins crossing
the line over casual & has sufficiently whet her appetite for more meaty
endeavors. S/he might actually look at this "inconvenience" as fun, exciting,
or something equally positive that increases his or her personal confidence
upon completion (yes, even when it's just an installer on OS X). Now they have
cool new tools available to them. They'd probably have an even greater boost
in net positive feelings if Apple provided an Ubuntu-like console window
during XCode installation that gave a nice terminal output of all the
install's goings-on--s/he might feel a buildup of positive feelings for this
systems-level, programmerish, "geeky" insider's view.

I'm afraid the OP is guilty of looking at the casual new developer from the
perspective of the rushed and impatient developer who, like myself, just wants
shit to work and work _now_.

When I pause for a moment to look at it from the not-so-casual-anymore user's
perspective, however, I remember a good couple of years when I thought I was a
badass cos I ran nothing but Gentoo Linux and chrooted, bootstrapped, and
compiled every last package on my system from source for days. I'd watch
compilations fill the screen and would have bet money I'd just grown an inch.
I'd let that stick around a few weeks and then do it all over again for the
excitement of it and to see if I could do it from memory. After a few tries, I
actually _could_ install Gentoo on a bare system without touching the manual,
entirely from memory. This was almost 10 years ago, and I thought I was really
something. But it was _fun_.

There's a lot of excitement when one starts crossing the line from casual to
more meatier development & systems use. I'm doubtful there's as many negative
feelings experienced by the audience championed by the OP as he'd like us to
believe. Especially on OS X.

------
s3graham
> You still won’t see PHP installed on Windows any time soon.

Not preinstalled because that would be undesirable, but
<http://www.microsoft.com/web/downloads/platform.aspx> makes it pretty
painless to install PHP and a whole whack of that style of crap.

Is there a real problem here? It seems like any compiler would do for the
problems you're talking about. Yes, someone needs to package it, but I don't
see that it really _must_ be Apple.

------
upinsmoke
gcc version is the same as Xcode 3. Xcode 3 is free at developer.apple.com

------
Wientje
I am not a GCC toolchain expert, but what is the trouble with someone hosting
a GCC for OS X binary?

~~~
dizm
Then they would have no one to blame their incompetence on, of course.

------
dedward
Let's be honest - it feels like an insult. It's not an about face where they
are charging something like $100 or more for their previously free development
tools... which would anger people for different reasons, but make some sense.

It's $5....... it's like saying, hey, after that super expensive $300
restaurant meal you just ate and paid for? We're tacking on an extra $2 if you
want to leave the restaurant.... you can buy tickets over there.

Apple better watch it, or they may lose some loyal customers....

~~~
bonch
Give me a break! $5 for accounting legislation compliance is a personal insult
to you? How is it at all comparable to selling tickets to leave a restaurant?
You _have_ to leave a restaurant. You're perfectly free to download the Xcode
3 developer tools, which are still available on the developer page.

The melodrama from people criticizing this is embarrassing to read. People on
Reddit were acting like it's some huge scandal.

------
callumjones
Let's no overreact until we either A) see Xcode 3 disappear B) no longer
receive the OS X Dev Tools on the OS X install discs.

~~~
callumjones
*not

------
dventimi
I don't own or use a Mac anymore, but when I did in grad school a few years
ago (using Tiger) I always got gcc binaries from here:
<http://hpc.sourceforge.net/>

I never installed XCode.

I very very far from being an expert on this, so forgive me if I'm mistaken,
but is there a reason these do not suffice?

------
cschep
If Xcode 4 is on the Lion disc, I think we're all going to be juuust fine.

If it's not, I agree. Fuck. Until then, we don't know!

------
terhechte
Isn't the llvm toolchain a free download, and doesn't it offer a gcc front
end?

------
benatkin
For many types of development, there's this:

<http://vagrantup.com/>

It makes VMs free and easier. It uses VirtualBox, an open source VM
environment.

~~~
technomancy
This.

We've got a mixed team of Ubuntu/Macosecks people, and _nobody_ does actual
development work on OS X any more. It's a lot more convenient if your
development environment matches your deployment environment. Working otherwise
is swimming upstream.

~~~
nupark
Requiring an exact match between deployment and development is swimming
upstream, as you'll quickly introduce unintentional dependencies on specific
facets of your host OS.

Plus, having to use VMs for development is even worse, why slow yourself down
with non-native tooling?

~~~
benatkin
The way you phrase this makes it a pain to debate, to I'll try saying it a
different way first. You give two reasons for not developing inside VMs:

* It forces you to deal with different configurations, which results in being able to move between systems more easily. * It's slow.

The problem with your argument about dependencies is it invites distraction.
The cross-environment difficulties don't happen when you control; they happen
on their own schedule. The proper way to make sure things are portable is to
have a process for it.

As for the performance thing, that may or may not be an issue. It's not wise
to just assume it's going to be an issue. Usually a VM is fast enough for
development.

------
futuremint
Except that right now when someone wants to try your gem and doesn't have
XCode installed... they can _also_ still grab their install disc. Nothing
precludes them from doing that instead of buying & downloading XCode 4.

Also... chances are really good that if they're trying out your gem, they've
tried out other gems. They've probably already had to install XCode at some
point in the past. If they're a developer used to using OS X, they probably
installed XCode out of habit as soon as they got their new Mac booted up.

It is a little early to talk about the sky falling about this XCode thing
until we see if a gcc toolchain is shipped as a free optional install on
future hardware.

The day a Mac isn't shipped with gcc somewhere in the box (DVD, memory stick,
HDD, SSD) is the day you might have a point.

------
fpgeek
This reminds me of the controversy when Apple decided to stop developing (and
pre-installing) Java. Strictly speaking, nothing any Java developer had been
doing became impossible, but a lot of things became more inconvenient, more
complicated and / or more frustrating. It felt like Apple didn't care and they
thought (rightly or wrongly) Apple should.

This Xcode 4 situation feels like the same thing. Maybe the status quo will
return after Lion is released, maybe not. Right now, however, things are a bit
more inconvenient / complicated / frustrating and it feels like Apple doesn't
care all over again.

~~~
yardie
What happened was that Oracle was to assume continued development of Java on
OSX. What was reported was Apple was completely dropping it. In fact, I just
received a notification that a new version was ready.

And up to that point Apple was slowly killing Java development on the Mac.
Updates were less frequent and ages behind other platforms. And you only had
one choice to get the JDK, Apple. At least with Oracle, it's assumed, updates
should be arriving regularly and in line with other platforms.

Which is what Apple was saying all along when the controversy started.

------
scott_s
I'm not sure why having to separately install XCode to get gcc is a "blight."
OSX is a consumer OS. If you are a developer, you're savvy enough to know that
you stick in the OSX DVD after booting your Mac up for the first time and
install developer tools. Then you never have to think about it again. Where's
the blight?

------
teyc
OS X won marketshare not because it won developers from Windows.

Macs were already popular with web designers, but people who write the
backends were programming against linux.

By making Macs run on Unix, it initially took marketshare away from people who
were installing Linux on commodity laptops.

------
bgruber
once upon a time, it was either really hard , really expensive, or both, to
get your hands on a c compiler for whatever platform you were on. nowadays,
thanks to rms and all of the folks who have worked on gcc over the years, the
very idea of charging for a compiler seems crazy. now, gcc is dead easy to
install on almost every platform, and we take its availability for granted.

(as an aside, have you ever tried to download xcode for a version of osx which
is not the current one? i have had to do this several times, and it is an
absolute nightmare.)

i see that clang has a license that would allow apple's version to have
proprietary bits. do they? under what license does apple distribute their
binary?

------
HomeSen
Actually, you don't need to buy Xcode4 just to get gcc ;) Just have a look at
the opensource page of apple: <http://www.opensource.apple.com/source/gcc/>.
You can get all the sources you need and thus could also create your own "brew
package", or am I missing something here?

Also you can still ask your users to find their OSX-DVDs and install (though
an older version of) Xcode from there.

If someone already mentioned the above, I apologize, but I'm too lazy to read
220+ comments :P

------
morroccomole
I'll toot my own horn and say that I saw the writing on the wall 4 years ago
and moved to Ubuntu. Best decision ever. I lack for nothing. Apple is the new
Sony - no thanks.

------
yMcDonald
Eclipse.

That's enough to turn any iMac (well, any computers) into a programmer's
powerhouse.

Last year, I led a small team of 3 devs to build a homebrew app for the NDS
portable game console. We all used different OSes/IDE for development out of
necessity (WinXp, Linux/Eclipse, MacOS X/xCode). Although I had no problem
installing arm-gcc on the Mac and configure xCode to use the NDS-specific
toolchain, I still prefer Eclipse.

Maybe xCode 4 will change that perception... Looking forward to give it a
spin...

Yves McDonald

------
wpdev
I've been using mac for over 6 years, but less and less often. Ubuntu is far
more smoothy for developers, especially for backend developers.

------
ochronus
Well you can choose to install the console toolchain from the XCode dmg so you
don't waste 15GB. Also what do you mean by "spend a decent amount of time
installing xcode"? 5 minutes? 10? Whoa, not a big deal.

Anyway I fully agree that apple should be very quick in releasing a free
downloadable compiler toolchain and charge only for the IDE.

------
chalst
You can install a custom gcc, and then tune gcc_select and its configuration
files to support it. It's been while since I've done this, but I did it when I
was trying to use a version of gcc that was later than that supported by the
most up-to-date Xcode available for OSX Tiger. Worked fine, and worked through
Xcode.

------
AppleDev
I think Zack goes to great length to spread FUD by leaving out facts. First of
all, you can join the iPhone developers program "FOR FREE" and download the
Xcode tools for free (you just can't release iPhone apps on the app store with
the free membership). And yes, a 4.5 GB download is quite large to be sure.
However, as the previous poster points out, it's a few hours a year at most.
Even if you download all the beta releases too. A large majority of mac users
have a cable internet connections making it a non-issue. Really a small price
to pay (download size) given the quality of the tool set Apple provides. And
Price, have you checked the PRICE and download sizes of Microsoft's Visual
Studio and SQL Server lately? And your argument about all this work to use one
of your gems is ridiculous. Anyone who does rails or ruby development and Uses
a mac for development already has the proper tools installed. and by the
content of your article, knows substantially more than you about developing on
OS X. Finally, Buying a new Mac gives you the latest tool set on DVD. I really
think this post made for 1 or all of the following reasons. Some people just
hate Apple because they have managed to succeed during the worst economic
downfall since the depression. Not only succeed, but thrive despite the higher
price of their Superior quality products and Software. The same way some hate
Microsoft just because they are Microsoft. No rational, logical, or even
factual reasons given, just Apple/Microsoft Bashing. More a demonstration of
these peoples IQ than anything else. Bashing Apple is currently in Vogue.
Those posters with a lack of knowledge, but trying build a following are
jumping on the bash Apple train trying to establish credibility. Judging by
Zack's article, you've achieved the opposite. You have demonstrated your LACK
of ability and knowledge.

------
jorisw
"its popularity grew from their recommendations".

Really? You think developers drove Mac OS X popularity ?

That's how Apple reaches consumers?

------
sclarson
You really shouldn't neglect to mention Mono among those developers. There are
a lot of them of C#/Mono developers out there making applications for every
platform that love using OS X and monodevelop.

------
jacknagel
It's also possible that Xcode 4 is only on the App Store because Lion is going
to be on the App Store, and people who buy a physical copy of Lion will get
Xcode 4 on the disc.

------
harryklein
Why not use XCode to compile GCC, Binutils and provide an installable GCC
package to end users - apart from Fink and Macports?

------
MatthewPhillips
I can't stand developing on a Mac.

1) Linux has better language/tool support. 2) Windows has (much) better dual-
screen support.

------
ironchef
I don't get it. What's wrong with "sudo port install gcc46 ruby19 ruby186"?

~~~
kluikens
Assuming no other available build toolchain (e.g. Xcode 3), you won't have
macports installed. How will you compile gcc, ruby if you don't already have a
compiler?

~~~
tvon
Well, I'm pretty sure gcc can bootstrap and self-compile, but I don't know if
macports is setup for that.

edit: apparently it's not self-compiling, at least not in the way I was
thinking.

~~~
scott_s
You need an initial compiler for the boostrapping process.

Obvious question: how did the first C compiler exist, then? Answer: it was
implemented in assembly. And the first assembler was written in machine code.

~~~
scott_s
It's been long enough that I can't edit what I wrote, but I forgot my history.
The first C compiler was grown by modifying a B compiler that was implemented
in B. That B compiler, however, was originally implemented in assembly:
<http://cm.bell-labs.com/cm/cs/who/dmr/chist.html>

~~~
Wientje
It kinda makes you think. If we delete all compilers in the world, there would
be no easy way to make new compilers. It also means that your compiler on your
PC can trace its heritage back to the first machine coed compiler ever
written, like life itself evolving from one generation to the next.

~~~
Locke1689
You're basically just saying that if you delete all copies of X software in
the world it would be really hard to recreate X software.

Anyway, writing a C-- compiler in x86 ASM isn't really that bad. It'd probably
be even easier to run the compiler in an interpreter.

------
nivertech
Isn't gcc a GPL? How can Apple not distribute it?

~~~
rayiner
First, Apple does make the GCC source available:
<http://www.opensource.apple.com/source/gcc/gcc-5646/>

Second, Apple doesn't ship GCC in the default install, why would they need to
make it the source available?

~~~
DougBTX
Also, the download via <http://www.opensource.apple.com/release/developer-
tools-324/> includes a built version of gcc, i686-apple-darwin10-gcc-4.2.1.

------
cmsj
Surely MacPorts or Ubuntu in a VM? Sorted! :)

------
harryklein
and BTW, you get PHP on Windows from Microsoft through the Web Platform
Installer

------
sabat
Compared to what other platform? Windows? Developer support out-of-the-box on
Windows?

Linux, sure, but Linux is since its inception a developer's OS. Mac OS lies
somewhere in between. There are many happy developers running OS X, and paying
$5 for XCode doesn't make me mad enough to rant. Dude, it's $5. You paid
nearly that for Angry Birds.

~~~
holman
I'll pay $100 for Xcode and not use it and not even care. We're not the point.
It's the casual users that want to get into a library that I'm concerned
about. That want to use a C library on their machine. That want to use
ImageMagick in their PHP site. Those are the ones that an unavailable gcc hurt
the most.

~~~
redacted
It's the casual users that want to use ImageMagick in their PHP site?!

No offence intended, but I think we have different definitions of "casual
user"...

------
bonch
I didn't see anything in the article that supported the dramatic claim that OS
X isn't for developers.

------
mkramlich
the title is demonstrably untrue

------
diamondhead
I agree with the title, but am not interested at the OSX / XCode stuff because
I'm a very happy, satisfied Linux & Lenovo user.

My old company tried to force me to use a Macbook Pro, saying "developer
community uses it", and I refused, saying "I give no piece of .... to a
software with stupid and pretty looking icons, windows etc." because that
stuff requires us to use mouse/touchpad stuff, which are useless, time
wasting, uncomfortable and much less programmable, compared to a good keyboard
( good means not the ones apple produces )

As a coder, I want to be able to program my desktop to save time. There are
many better ways to start a program clicking a pretty icon like a smiling cow,
because we have a keyboard and also a program called dmenu -a real life
saver-.

Guys claiming that OSX provides a developer friendly desktop environment
should give a try to an ideal linux desktop. I'm not talking about the crappy
ones trying to compete against pixar, like gnome kde etc, I'm suggesting the
tiling window managers such as xmonad, dwm, dmenu etc. Especially, I love
dmenu. It makes possible to find a bookmark I saved to my delicious account,
in just one second, pressing window+p buttons. This awesomeness counts for my
browser history also. I type URLs calling dmenu that completes my input by
searching my history, no need to open a browser window, no need to use a mouse
or sth equivelent. Another awesomeness I love about Linux is the customizable
browsers like UZBL, it's very easy to bind a key for a specific task. I'm
saving 30-40 bookmarks each day, thanks to the B button. Only thing I need to
do to save a bookmark to my delicious account is to press B button.

Linux provides much more richer desktop environment with thousands of options,
for the developers not fan of hipster UIs.

~~~
Terretta
Friend of mine who loves VIM recently switched from Ubuntu on PC clone to OS X
on MacBook Pro. He doesn't use a mouse for anything, ever.

Just because the icons are there doesn't mean you have to click them. Sounds
like you just need someone to show you how Mac keyboard customisation works.

~~~
threedaymonk
You do have to change some keyboard accessibility settings, though, for the
interface to be usable without a mouse (dialogs etc.). Out of the box, you
can't use OS X with the keyboard alone.

~~~
Terretta
Out of the box means without third party add on. Changing a pref is available
in the box.

------
stray
C'mon it's five bucks.

That's less than the cost of the average meal at a fast food restaurant - and
Xcode only has to be bought once (and _we_ don't have to buy it at all).

------
fierarul
Wow, that's a long complaint-blog for $5!

The cheapest new mac is $699 and the install DVD comes with XCode 3. Pretty
sure new macs will come with XCode 4 preinstalled.

I don't see how this is a problem. Even if you are building a Hackintosh,
you're pirating OSX anyhow so pirating XCode too doesn't seem so far fetched.

I have to use iPhoto'08 since that's what my Mac came with. But they just
released iPhoto '11! Should I also write a long blog post complaining how Macs
are not for normal people that take photos?

XCode is just another app: it costs money to create and maintain and they
charge for major revisions. Same as OSX, iLife apps, iWork, etc.

~~~
zzzmarcus
OP isn't complaining about the price, or at least not principally. He's
complaining about the 4gb download, the 15gb of HDD and the time of installing
Xcode just to get gcc.

The price is just another barrier to entry to add to the list before you're up
and running.

~~~
fierarul
Well, technically this Xcode doesn't come just with gcc, it has the iOS SDK
too. For example, on my machine I see this:

du -h -d 1 /Developer/Platforms/ 10M /Developer/Platforms//MacOSX.platform
4.4G /Developer/Platforms//iPhoneOS.platform 4.2G
/Developer/Platforms//iPhoneSimulator.platform 8.5G /Developer/Platforms/

Of the 10GB the /Developer folder takes, about 8GB are the iOS stuff.

It seems normal they would bundle these since if you are downloading XCode,
pretty sure you are doing Objective-C for iOS.

4GB is a big download and it does take space and it does take a while to
install. But frankly, most people should be able to manage this quite nicely
(and maybe even find a way to take back some of that space).

If anything, the whole thing deserves a tweet not a huge blog post.

~~~
angrycoder
You are missing the point, the only way to get gcc on your mac is to install
some version of Xcode.

~~~
fierarul
I see I keep getting downvoted but I'll bite: why should Apple distribute GCC
in some other way?

The subset of people that need GCC on OSX but can't handle the whole XCode is
probably pretty small.

Why not try Fink (<http://pdb.finkproject.org/pdb/package.php/gcc45> ) instead
of expecting Apple to provide that?

------
aeontech
What a lot of people seem to miss is that Xcode 4 is still a free download on
<http://developer.apple.com/xcode/> for members of the developer program
(which is a free membership).

~~~
teilo
No, this is wrong. A developer _login_ is free. The developer _program_ costs
$99 a year.

You cannot get XCode for free unless you have ponied up your $99.

~~~
aeontech
I stand corrected.

------
tylrdotorg
If you spent 1% of the time you did writing this article researching your
misguided accusations you would realize that xcode 4 is free and downloadable
for registered (free to register) Apple Developers.

Exactly like most Apple tools. It's frustrating seeing all these people
accusing apple of charging for XCode when it's really no different than
before.

~~~
psi
This doesn't actually seem to be the case. I just logged in to my (free) Apple
Developer account and got the following message:

\-- You must be an iOS or Mac Developer Program member to download Xcode 4 or
you can purchase Xcode 4 from the Mac App Store. \--

According to <http://developer.apple.com/programs/> both the iOS and Mac
Developer programs are $99 per year.

