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.
Per your point #3: I spend a lot of time in both Windows 7/VS2010 AND OSX/XCode (along with a smidgen of time in Ubuntu as well) and crashes are just about a thing of the past in all three environments. That said, Xcode/OSX gives me the spinning beach ball of death at least as much as I get a crash to desktop in W7 and far, far more often than I get a BSOD in W7. The idea that windows crashes a lot is a myth hanging around from before they went to the NT kernel in XP. Granted, it's a myth that was well earned in the Win 3.1/9x days, but still.
The reality is all the major OS vendors (I'm including Canonical here) have reduced crashes to maybe a once a week occurrence or better. Hardly an issue anymore.
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).
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.
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.
I'm definitely going to give it a look. For some reason I thought the single window layout wasn't coming till this version.
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.
I didn't downvote you, I can't downvote, but I like the multiwindow layout because then it's very easy to use an external editor in place of the Xcode editor. I liked using MacVim or TextMate when I first got into iOS development.
Xcode 4's single window interface is a huge improvement, IMO, even though I haven't been able to get my old project to package up yet... "schemes" and "run destinations", oh my.
But I know once I figure it out, it will be better.
Quality is in the eye of the beholder. That being said, my Windows 7 workstation crashes at least once a week, as does Visual Studio 2010. I just checked my uptime in my OSX workstation and it has been up for 52 days and I've just had one instance where Xcode crashed. In my eyes (and in my experience), Windows is just not as stable as an OS for development, although it's a lot better than the past crap they've released.
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.
I usually don't defend Microsoft, but I don't think your unstable workstation is the fault of Windows 7. Most likely it's a problem with one of the drivers, or maybe even a hardware issue.
Well, my other coworkers (some are windows fans, linux fans, osx fans, and one is a total freeBSD nazi) all agree that out of all our workstations, the Windows machines fail the most. Even the Windows fans acknowledge this. All other operating systems almost every time recover from errors (be them our errors or random errors on the OS side) without much trouble, while the Windows machines generally just blow up and need to be re-started.
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.
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.
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?
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.. )
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?
“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.
The SOX rules are about products. Developer tools are a service that repays OS sellers in their being used, because without tailoring the tools developers use, they lose influence on the direction 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.
You could always get the dev tools for free* because they always came with some other purchase. That seems like it would cover the "SOX" compliance to me.
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.
While I can't explain Apple's inconsistency, here's a little bit of "evidence" (admittedly second-hand) from someone who I would not consider to be "uninformed":
All your points go off at a tangent to the original article.
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.
But they are bundled with the OS. They're just not installed by default.
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.
I don't understand. What does an accounting compliance law have to do with charging for previously free tools? And how were they able to release free tools in the years after 2002? What makes 2011 so special that they are compelled by law to start charging $5?
Previous major upgrades to XCode released with new versions of OSX and required that newer version to install/run.
OSX 10.7 (Lion) has not released yet, so upgrading from 3.6 to 4.0 (Major upgrade) is not considered a maintenance release by Apple's accounting department.
Paying members of the Apple Developer network subscribe ($99 per year) and one of the benefits is access to Beta releases of OS and tools. XCode 4.0 was available to members of the Developer network prior to this official release, and after the release, non-subscribers are given access through the App Store.
Apple is in no way preventing anyone from developing for Mac at this point since XCode 3.6.5 is still available for download and installation by any users of OSX 10.6 (Snow Leopard), and as evidenced by the availability of the iOS 4.3 SDK for XCode 3.6, they are not forcing anyone to upgrade to the new IDE just to develop for their various platforms.
The problem is Sarbanes-Oxley requires compliance with certain accounting practices (to be set by regulators; these are not spelled out in the act). I'm not an accountant, but as I understand the problem arises in this situation:
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...
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".
You make a great point; there appear to be some contradictions in their accounting policies. The "App Store" didn't come with OS X, but was free. iTunes and Safari get major updates all the time, yet remain free upgrades. On iOS, you have iBooks, Remote, Find My iPhone, Apple Store, MobileMe Disk, and MobileMe Gallery, all free.
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.
Good question. My guess is it depends on what components Apple officially accounts for as being parts of OSX. Keep in mind Apple was under investigation by the SEC for many years so they are probably following the rules extra carefully. After the SOX rules were changed last year (IIRC) Apple immediately changed some of their accounting practices to provide free iOS updates for the iPod Touch so I tend to believe them.
Perhaps because they can claim iTunes, because of the iTunes Store isn't an end-product so much as a platform upon which people make purchases. They can account for the revenue from the greater iTunes app through each purchase you make in the store. Same goes with the App Store.
Not sure how they deal with people who never purchase anything, but perhaps they don't have to be 100% thorough about it.
The following was said about Apple charging to unlock 802.11n in MacBooks.
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."
Yeah, I hear the "it's about SOX" comment a lot, and I hear the "it's about greed" comment a lot, neither of which make any sense to me... I'd love to get a real explanation.
The sox comment has been explained in numerous places. Basically because Xcode comes with a purchase of a new Mac or OSX it's considered to be part of the value delivered with that purchase. If they update it later, it is regarded as delivering additional value to the original purchase. I.e. Some of the money you paid originally is accounted as having paid for the upgrade. This means that the original transaction wasn't complete until they delivered the upgrade. This means that Apple can't record all of the 'incomplete' transaction on their balance sheet as revenue. They could work around this by holding back a percentage to cover later updates but this would be stupidly complicated and they'd still have the problem of not being able to declare it complete until they were certain of never shipping any new update. Much easier to just charge a nominal fee.
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.
If XCode can't be 'given away' then I would say that SOX is preventing loss leaders, because that is essentially what XCode is. They are giving away the developer tools in an effort to attract developers to their platform. At the most basic level, it's not much different than advertising 'free after rebate' items in order to attract customers into your store.
But they did't give it away. It was part of the Mac people paid for. They are perfectly entitled to give stuff away. What they can't do is retroactively claim that part of what they sold you before was free.
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).
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.
>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.
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...
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.
>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.
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.
I'm so down with an apt-get (or in this case, brew install) for build tools. That's really what I'm getting at. It'd be great if it were installed by default, but if it were just accessibile by any means it'd be a massive step up. Most people don't need all of Xcode.
So perhaps the answer is to allow Homebrew to bootstrap itself with a basic toolchain if one isn't available. It could even deprecate its toolchain if you later installed Xcode.
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.
This sounds absolutely ideal. Homebrew bootstrapping itself using packaged builds of the xcode toolchain which, as someone else mentioned, apple has to provide as it's open source. Homebrew itself is pure ruby, which is already part of the OS.
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.
If there was a package manager for os x that shipped binaries we wouldn't be in this predicament either. brew building from source is just as much to blame as os x not shipping gcc with default install.
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.
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.
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.
Sure, but if you are a dev, installing the necessary tools is a pretty easy and painless thing to do. If you aren't a dev (like most people), why have it installed at all?
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.
Extra languages are still there though. But I think this is good, mom uses her Mac Mini in Hebrew, my account uses English, dad uses our native Portuguese (I live in Brazil).
You likely don't need printer drivers or a developer tool chain to get your computer set up enough to connect it to WiFi or ethernet. You probably do need different languages if the one the computer defaults to is not one with which you are familiar.
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.
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.
It doesn't involve credit cards as xcode 3 is still freely available. If Apple does not include the developer tools on the Lion DVD, and if they remove all free versions of xcode for download, then I don't doubt someone will package up the "build essentials" for OSX and make them available. To date there has been no reason to do this, but if there is a reason, there is nothing preventing it that I am aware of.
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).
Xcode 3 doesn't solve the issue of it being a real pain in the butt to install. gcc by itself is much, much smaller and much less of an issue for a casual user to install.
Anyone who hits the need for gcc is no longer a casual user by any average use of that term. A casual user rarely moves past opening a .dmg or .zip with an installer pkg.
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 define it as a casual user of my libraries. Designers are the best example: they're usually hooked into the development world and would be interested in a clever command line tool, but they normally don't have an entire build chain under their belt.
I'm a designer, and a "user" of software, and I use several terminal commands on a regular basis. I don't consider myself anything approaching a "developer," but I code a little in Ruby, Javascript, etc. It's semantics, sure, but when you draw hard lines around what people are and what they "need," you potentially limit a lot of blurrier, less-stereotypical scenarios. And how is a designer (or a child, or a business-person, or a manager, or whoever) supposed to cross that mystical threshold into beginner developer if the tools are behind a financial or obfuscatory barrier?
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.
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...
That totally outside the scope of this issue, though. If you feel that having to install Xcode to get a gcc install on a Mac, that's fine, but that's the way it's been for a while now. Apple charging for Xcode 4 didn't change that.
There's a scale of developers: from people who regularly do this sort of thing, to people who are more casual about it. That's the type of audience that I like to write for sometimes: they'll use my library (which may use compiled code), but they haven't been exposed to this area of software development before. Designers are the best stereotype for this. Having a massive Xcode install is what I'm saying is detrimental to these sorts of casual users (a lot of the time it wouldn't be appropriate to call them "progammers", really).
It's friction, but, really. It came with their computer. You click a bunch of buttons and it's installed. The size of the install is irrelevant.
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"?
Absolutely. I run into that frequently with my own projects. It's such a bummer to have to tell someone to go through this whole process for such a small `gem install` command.
Honestly, every time I see one of these articles with even a hint at criticism towards Apple, I cringe slightly before I click the comments link...because I know what's coming next. Not that you care, but I'm also tired of Apple hi-jinks, T's & C's, and just general unfriendliness toward devs and I'll stick with Win7/Ubuntu from now on.
VS 2010 is free if you sign up for their webspark program http://microsoft.com/web/websitespark/ -- so is MS Windows Server 2008, SQL Server, etc. Look, I'm no MS proponent. I'm an independent developer and I use all platforms, all tools, all languages. If you fellas watch the news, this URL is kinda like the Fox News of Apple fan-boi-ism. Fair & Balanced...it is not...tiresome...bah, let the downvotes begin.
You can download application and device driver SDKs which come with command line C++ compilers at no charge. Pretty much the same compilers MS uses to build the OS itself and its own products.
There's also a no charge "express edition" of the IDE, but it was heavily crippled last time I checked.
What's this rubbish about Xcode 3 being hard to install?
It's on your OS X CD. From there on, it's just a one-click install process. Even if you downloaded it, the process is the same.
If a developer can't be bothered to do that, then they probably dont give a damn in the first place.
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?
I think the point wasn't that a 4.5gb installation should be quick. It was that it shouldn't require a 4.5gb installation if all you want is gcc. More like a 50MB installation.
What it comes down to is a question of principle. The argument that development tools should be free and readily available is a principle of software freedom.
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.
Every version of XCode I've used has required the OS it is installed to be the latest one. 3.2 required Snow Leopard, 3.1 required Leopard, and so on and so forth.
4 might not require Lion but you can guarantee that 4.1 definitely will.
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.
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...
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.
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?
"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'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.
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.
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?
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.
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?
No, it's not even remotely fixable. If your extension requires natively compiled code for speed, you need a compiler, period. Going back to forcing developers to cross-compile binaries for every OS under the sun is not what I would call a fix.
No one's asking anyone to cross-compile binaries for every OS. You compile binaries for the few important platforms and provide source for the rest. As I mentioned in my other reply, open source projects have been doing this for a long while.
Almost every open source library on my Mac is compiled from source. Name your system: homebrew, ports, fink, they have all switch to compiling from source.
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.
Because then you'd need to ship binaries for every conceivable platform that your gem could be used on and you'd need to make some pretty fundamental changes to the whole Ruby gem distribution system (this probably applies to other languages and their libraries too).
Because then you'd need to ship binaries for every conceivable platform that your gem could be used on
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
You ship binaries for the top 2-3 platforms and provide source for the rest.
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).
You have to deal with dependencies already. In fact, today you have to compile the dependencies. Why isn't downloading their binaries a simpler way to do it?
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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....
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.
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?
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.
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?
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.
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.
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.
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.
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?
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?
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
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.
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...
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.
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.
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.
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.
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.
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?
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.
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
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.
I was thinking of a similar orign-of-life analogy, but unlike life, compilers have sprung up independently of each other many times over. That is, in the early days, it was common to implement everything over again in assembly on a new machine.
Because requiring yet another third party tool is just an extra barrier. And not everyone uses MacPorts anyway, personally I don't want to see MacPorts anywhere near my computer...
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.
Not every non-US developer have a credit card. Particularly if you are talking about young students.
Windows SDK (That means: Compiler, Linker, Libs, Docs and Headers) is a free download from MSFT site. You only pay if you are a masochist and want to use Visual Studio.
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.
Apple's gcc is freely available and open source. If you have a specific reason for non-programmers to need a C compiler on their machine, you can even make an installer for it.
It will make me mad IF Apple does not release Xcode outside the fucking App Store. I do not care paying for an IDE, that I do not use, but I still want a compiler, some assemblers (nasm and gas), and a working linker.
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.
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.
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.
VIM is an editor. I'm talking about the whole desktop environment, especially the windows, also tried to set some keyboard shortcuts while I was using the Macbook Pro my company gave me.
I know what I am missing (a useless, pretty looking hipster GUI) but have never seen an Apple user who knows what he misses.
I'm talking about the OS, not an editor. If you have to touch mouse or trackpad ever, you're doing it wrong.
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.
Hmm ... not saying xmonad and the like aren't awesome ... but as a full-time Mac dev who codes in Python, JS, and Obj-C, I can attest to the certainty that TextMate/Emacs + Alfred (or the like) + DTerm = nearly 0 use for a mouse all day long. And by "all day" I mean all night while coding, too.
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.
Guess it is, but as I pointed, there are companies forcing its folk to use OSX for development because it's popular around the developer community. I think OSX is a multimedia software with unix base.
Hey, Mr. Power User who relies on delicious, you'd better export your delicious bookmarks and take them elsewhere, Yahoo has decided they need to cut corners and is shutting it down.
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.
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.
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.
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).
"for members of the developer program (which is a free membership)."
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.
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.
If you spent 1% of the time you did writing this comment researching your misguided accusations you would realize that xcode 4 isn't free and downloadable for registered (free to register) Apple 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.