Live data from Hacker News

OS X Isn't for Developers

zachholman.com

181–190 of 252 posts

Re: OS X Isn't for Developers

#181
post #48
post #8

Earlier quoted context omitted.

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:…

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).

Re: OS X Isn't for Developers

#182

For many types of development, there's this: http://vagrantup.com/ It makes VMs free and easier. It uses VirtualBox, an open source VM environment.

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

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?

Re: OS X Isn't for Developers

#183
post #48

Earlier quoted context omitted.

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 en…

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.

Re: OS X Isn't for Developers

#184
post #177

Earlier quoted context omitted.

I have installed new versions of gcc on Linux systems. Installing XCode is much, much easier. But, your point was about developers. When did casual users come into the discussion?

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 detrimenta…

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"?

Re: OS X Isn't for Developers

#185
post #126
post #84

Earlier quoted context omitted.

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). Also see this reply: http://news.ycombinator.com/item?id=2311455 Meh, it isn't insurmountable. Yeah, because forcing a huge inf…

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?".

You have N packages and M platforms.

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

Re: OS X Isn't for Developers

#187
post #169
post #163

> Apple releases their gcc package, installs it in Lion by default, or otherwise makes it available. This would be excellent. The holy grail would be if Homebrew could use this and we could just run brew install gcc. It would be a huge, huge impact to our community. Or, you could JFGI[1]: http://www.google.com/search?ie=UTF-8&q=apple+open+sourc... Do people just not know about http://www.opensource.apple.com/ ? Apple…

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 talki…

>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.

Re: OS X Isn't for Developers

#188

Earlier quoted context omitted.

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…

Ok, but where in this scenario do the SOX compliance laws compel them to charge money for a "major upgrade"?

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...

Re: OS X Isn't for Developers

#190
post #177

Earlier quoted context omitted.

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 detrimenta…

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.
Post reply on HN