OS X Isn't for Developers
zachholman.com
zachholman.com
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.
We're not sure what the litmus test is for their accounting practices. We're not even sure if Xcode falls into that category (e.g. maybe they're charging $5 for it now because they want to). It would be nice if Apple shared their accounting algorithm as that would clarify things.
Can you seriously imagine Steve Jobs being told they he has to charge for something he doesn't want to because of accounting practices?!
In its defense it was initially put forward as speculation ("what about this theory"), but now is being taken as fact.
As an example from a few years ago, when I hired a contract developer, the company required a "Contractor Request Form". Fine. There's payroll to setup and so on. But then one day the form was renamed to be the "Contractor SOX Compliance Request Form".
I suspect this exercise was only so that some bean counter could show the outrageous costs of "SOX compliance".
Not sure how they deal with people who never purchase anything, but perhaps they don't have to be 100% thorough about it.
2005: Company X sells product Y to person Z for $1000. Company's books show $1000 in revenue. 2006: Company X gives Z a free significant upgrade to product Y and records no revenue.
The argument could be made that what really happened was that the company actually made two sales to Z; one in 2005 and one in 2006 and that the revenue of $1000 should properly be split across the two years.
Not having such a rule apparently allows various accounting shenanigans in which totally unrelated things are treated as "free upgrades" to something else and revenue can be booked in whatever year you want.
So there are two important things here for all this to be an issue: 1) The initial purchase must have cost money. If you get something for free and then get a free upgrade to it, there's no problem. 2) The magnitude of the upgrade must be such that one could be accused of slipping an unrelated product in as a "free upgrade".
So for example security updates to safari would fail test #2 above. Major updates to iTunes may fail test #1, since iTunes is generally available for free to everyone (even if you don't buy a Mac or MacOS).
It's possible that something makes Apple's accountants feel that XCode is part of the OS in a way that means that when you pay for the OS you're also paying for XCode. And that XCode 4 is enough of a change from XCode 3 that if it were free it would fall afoul of the accounting stuff above.
Again, I'm not an accountant, so I could be getting all this totally wrong...
Why don't they give it away for free, say with Software Update? Because of the Sarbanes-Oxley Act (which was passed in the wake of the Enron scandal). iLounge quotes an Apple representative: "It's about accounting. Because of the Act, the company believes that if it sells a product, then later adds a feature to that product, it can be held liable for improper accounting if it recognizes revenue from the product at the time of sale, given that it hasn't finished delivering the product at that point."
To you, but obviously not to a lot of us. Please explain.
Obviously this seems like a Byzantine regulation, but it's not aimed at Apple - it's intended to stop certain kinds of fraud involving counting money received as revenue even though there is still a lot to deliver.
As for 'it's about greed' - well they do make a lot of money and that leads people to accuse them of greed. It's just a subjective judgement.
As for the polish comment, it's really a matter of what you're used to and strictly a matter of opinion, but I find Xcode a nightmare to navigate compared to VS2010. Sure, Xcode is shinier and looks better, but the UX is far superior in VS2010 (again, just my opinion). I'm very much looking forward to a single window interface in Xcode 4.3.
As a developer, the killer aspect of OSX to me is the full blown *nix environment paired with high level commercial apps (like Xcode, photoshop, garage band, etc.). Not to mention I don't have to worry about my display card or wireless card working in OSX (like I still have to do with Linux).
Oh dear - you haven't been using the multiple-window layout in Xcode 3, have you? The single window layout is the only way to be productive.
Update: wow - I got downvoted for saying that? Someone must really like the multiwindow layout. If that's you, and you don't want to pay the $5 for version 4, have a look in View->Layout in Xcode 3. Try the single window layout. You'll like it. Really.
The multiwindow layout wouldn't be so awful if OSX were better at windows management && I had more than one monitor to work with on my iMac. As it is, it's a struggle for me.
Oh, and who knows about the downvotes. I thought for sure I'd get nuked for defending VS. Have an upvote.
But I know once I figure it out, it will be better.
UI wise, I hate VS2010. In my head I cannot fathom why you would say it's UX is better than Xcode, but once again that's personal preference and opinion, which is - of course - respected. I always say: "Use whatever you need to get the job done..."
I do agree completely on what the actual allure of OSX is. My past platform of choice has been Debian, and I always thought it was painful to have to dualboot to be able to do my work (specially when on the move). Enter OSX, which gave me all my unix tools and also runs Photoshop.
Don't get me wrong, I do almost all my programming these days in VS2010 and I think it's a pretty decent piece of software (as is Windows 7), but it crashes more than any IDE I've ever used and the UI is just totally subpar. Windows 7 is a huge step up from Vista an XP, but I find it's nowhere near as stable as XP was. Our situation is not a hardware or driver issue, everyone had their preferences on which machines to buy, so they're all different machines.
1). Author doesn't claim that most Mac owners are developers. He attributes "a large part" of Apple's success to recommendations that began with developer mindshare.
2). It's not a burden to use the dev tools if you plan to use the dev tools, but it's a burden to install something on the scale of Xcode if some other tool you want to run just depends on the basic gcc toolchain.
3). For the author's points, you're not comparing Xcode installation to installing visual studio, you're comparing it to '[package manager] install gcc'.
4). Article author's preferred solution is not to stop charging, but to have a separate gcc package.
It boils down to the author thinking Macs would be more developer-friendly if more essential build tools (as opposed to developer tools, if you will) were bundled with the OS. It's an interesting point.
Personally, I have a Mac, and I installed XCode for gcc. I've never used XCode itself. I did not consider it a burden; I did it once, over two years ago, as a part of setting up my MacBook. I have not thought about it since. Optimizing something that I do once everytime I get a new computer is of marginal value.
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
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?
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?
They might have been lying, but Apple has publicly claimed this before:
http://hardware.slashdot.org/story/07/01/16/2127204/Apple-Ch...
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.
I think you might be right and I might be wrong on this.
After reading how Apple pulled this previously (on the iPod Touch upgrade) I now think it's possible they may use SOX as justification for this more.
I still don't think it's good a justification, and I still think Apple could have worked around it if they wanted, but yeah - you are possibly more right that I am.
(I know admitting you are wrong on the internet is unheard of, but Strong opinions, weakly held & all that.. )
Lawyers are good at scaring people, but the SOX thing sounds too much of a stretch for something that is not a revenue item. Charging for it will complicate the accounting. I guess they want to simplify the way they run the ADC.
Examples: you bought a copy of Mac OS X (the dev tools were in the box), you bought an ADC membership (dev tools are included with your membership). Now, XCode 4 from the App Store is the first time you could get them standalone. And they charge for it.
http://www.reddit.com/r/programming/comments/g0o01/xcode_4_i...
I've never used Xcode, but I do use Visual Studio everyday, on Windows 7. In the 5+ years I've been using Visual Studio I've been very happy with it as an IDE. Prior to 2008 there were definitely some quirks and stability issues, but as of 2010, I very rarely encounter any issues. I have lots of unix experience, and I can honestly say that Visual Studio is an excellent piece of software, and a pleasure to write software with.
As for your point about Windows crashing, I've never once seen Windows 7 blue screen or become unresponsive to the point where I had to reboot a machine. Disliking Microsoft and Windows are fine, but without some real evidence that Windows 7 is less stable than OSX, or any other OS I think this is a baseless claim.
Or, you could JFGI[1]: http://www.google.com/search?ie=UTF-8&q=apple+open+sourc...
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...
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.
Take the developer DVD that came with your Mac, put it in the drive, and double-click the install icon?
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.
Courtesy of rayiner at http://news.ycombinator.com/item?id=2311657
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.
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.
Since Snow Leopard, printer drivers are no longer included with the OS either. Instead, they are downloaded through Software Update as soon as you plug a printer in.
Having said that, the fact that Xcode is listed on the Mac App Store instead of just in the developer portal, I suspect that Apple will bundle Xcode 4 with Lion to try to encourage more app development.
No, they didn't. For example, Snow Leopard downloads printer drivers from Apple as you need them.
There's no technical reason why this isn't possible -- the Apple gcc toolchain is, by necessity, available as Open Source.
I use Xcode rather a lot, so this isn't a big deal for me, but it seems like a sane answer for "the rest". Sure, you'd still need Homebrew, but that plus a toolchain is a much smaller burden.
It could be done as part of the homebrew install process. This would be a step forward for everyone. Most OS X devs use homebrew anyway, and for those that don't use xcode this would simplify things a lot.
I hate downloading that massive DMG. I can't even use wget easily because I have to be authenticated. Who cares about what apple decides to do or not do with the tools the community developed for itself? That's what the licenses are for, people. So we can look after ourselves.
"for all intents and purposes"
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.
edit: though I agree a smaller "build essentials" tool chain would be nice, but that was the case before you had to pay for xcode and nobody has bothered to create one. I can't think of a reason why it wouldn't be possible, only that it's probably not worth the hassle of setting it up and maintaining it (though Apple doing it would be excellent).
I agree that a smaller (and free) tool chain would be great, but so far as I know there is nothing preventing anyone from making one.
Related, I realize it is now the case, but when did casual users start needing gcc? Time was, in my pre-OSX days, compiling things yourself if you weren't a dev was seen as somewhat pointless, you just get thousands of users all building the same binary instead of building one binary to be downloaded by thousands of users...
But, your point was about developers. When did casual users come into the discussion?
But I still have difficulty believing these casual-developers-but-not-programmers exist in great numbers. Have people told you "I was going to try your thing, but it asked for this weird gcc thing"?
A casual developer might be a different class of user ... but anyone who hits the point of writing code & installing libraries instead of applications has adequately stepped outside the role of user.
And even granting that, it is still not a firm enough basis on which to argue such an inflammatory statement as "OS X is not for developers"--when the casual developer is far better served by OS X's included toolchain than s/he is going to find in a default installation of Windows/Linux counterparts.
OS X is not "for" developers when it begins removing the tools that create the lowest barrier to entry for casual development I've seen in a default OS installation in the last 10 years (except maybe Gentoo Linux, one of the most "for developers" systems I've had the pleasure of using).
I think that's the main argument. Getting started with command-line tools and developer-type stuff should be as easy as possible, so that people can try new things and break stereotypes and do more than they thought they could do.
That said, Xcode 3 doesn't satisfy the requirement of being easy or quick to install for a casual user.
Quick on the other hand, how many 4.5gb installations are quick?
Casual users =/= developers
I don't want to paint this as black & white, because things rarely are, but on the continuum of free (as in freedom) vs non-free, you'd have to live in a cave on the moon to still cling to the idea that Apple is anywhere near the free side of the scale.
You, as a developer, have to make a decision about how you will support your principles. Apple has certainly made theirs. They view their entire platform as theirs to do with as they wish. That is the anti-thesis of freedom. Do not expect this to change.
There's also a no charge "express edition" of the IDE, but it was heavily crippled last time I checked.
Also, how many Apple developers don't already have an iTunes account?
https://github.com/rmagick/rmagick
4 might not require Lion but you can guarantee that 4.1 definitely will.
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.
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...
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! "
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.
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.
Every scripting extension repository I know assumes you have a compiler to compile native libraries for extensions.
And this has been true for "a long while". The change you are proposing is not trivial, and it has far-reaching implications. It is a step backwards, and one that every developer should oppose.
You don't. You ship binaries for the top 2-3 platforms and provide source for the rest. That's how open source projects have been doing things for ages.
and you'd need to make some pretty fundamental changes to the whole Ruby gem distribution system
Meh, it isn't insurmountable.
I wish it were that simple, but then you also have to worry about library versions (unless you really want to bundle all your dependencies too, bloating your little library from 10KiB to tens of megabytes, or more).
Also see this reply: http://news.ycombinator.com/item?id=2311455
Meh, it isn't insurmountable.
Yeah, because forcing a huge infrastructure change is what we want to do for the sake of having poor GCC distribution on OS X.
Whenever I type "{brew,port} install X" I spend the next few minutes watching a compile and muttering "why? why? why?".
For a well-organized ruby gems system, they're largely orthogonal (N + M resources).
Per-platform binaries expend resources proportional to the cross product (NM resources).
You also have to set up and maintain automated build systems for every platform and they form a whole additional set of dependencies for shipping every little point release.
Avoid it whenever possible.
edit: I always did think N should come before M
Is that supposed to be a lot?
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.
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.
http://llvm.org/releases/download.html#2.8
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?
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.
GCC is still the default compiler; Clang is still immature.
As far as I observed in my coworker Macbook gcc still is the default compiler in Xcode 4. Just compiled some software with it today, and it pops a lot of gcc's in ps aux.
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.
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.
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....
The melodrama from people criticizing this is embarrassing to read. People on Reddit were acting like it's some huge scandal.
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?
If it's not, I agree. Fuck. Until then, we don't know!
It makes VMs free and easier. It uses VirtualBox, an open source VM environment.
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.
Plus, having to use VMs for development is even worse, why slow yourself down with non-native tooling?
* 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.
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.
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.
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.
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.
(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?
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
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
Anyway I fully agree that apple should be very quick in releasing a free downloadable compiler toolchain and charge only for the IDE.
Really? You think developers drove Mac OS X popularity ?
That's how Apple reaches consumers?
1) Linux has better language/tool support. 2) Windows has (much) better dual-screen support.
edit: apparently it's not self-compiling, at least not in the way I was thinking.
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.
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.
Second, Apple doesn't ship GCC in the default install, why would they need to make it the source available?
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.
No offence intended, but I think we have different definitions of "casual 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.
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.
I know what I am missing (a useless, pretty looking hipster GUI) but have never seen an Apple user who knows what he misses.
As noted elsewhere though, you do need to turn on keyboard accessibility. And as for what's missing--window sizing. That's a free or $10 add on depending on how slick you want it.
The only thing I haven't yet figured out is a key combo for clicking a YouTube video to play (Flash is disabled except when clicked across all my browsers).
I'd downvote this if I could, cos it really does read as trolling and is definitely not on-topic.
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).
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.
The price is just another barrier to entry to add to the list before you're up and running.
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.
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?
You cannot get XCode for free unless you have ponied up your $99.
no, it's only free for members of the paid developer program. free members who try and download it are given a link to the appstore or an option to purchase the yearly membership.
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.
-- 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.