Why Mac OS X Is Unsuitable For Web Development
Hugh Pickens writes "Ted Dziuba has an interesting and amusing post on how he made a big mistake when he was offered a choice for his company laptop. His options were a Lenovo Thinkpad or a MacBook Pro, and he picked the Mac, thinking it would be closer to what he was used to. So what's wrong with using the Mac as a development machine for Milo, a Python application backed by PostgreSQL and Redis? 'I've only poked around a little, but so far I've found three separate package managers for OS X: Fink, MacPorts & Homebrew,' writes Dziuba, adding that when you are older, you will understand the value of automated version dependency satisfaction. Next is that your development platform should be as close as possible to your production platform, but 'OS X and Linux have different kernels, which means different I/O & process schedulers, different file systems, and a whole host of other implementation details that you'll write off as having been abstracted away until you have your first serious encounter with "It Works On My Machine.'" Finally, he says, Textmate sucks. 'Sooner or later, you have to face facts. Man up and learn Emacs.'"
...unless you expect it to let you do Linux development.
Of course, you can dual-boot Linux on it or run it in VMWare. But you knew that, right?
Lazy asshole gets a laptop, blogs about it. Film at 11.
Most projects have the binaries packed nicely, so you don't have to fiddle with fink/macports/flavor of the month.
Different I/O and process schedulers? Oh noes! If only we had posix and libc to abstract that crap away!
Last one is the best. I guess I didn't get the memo about textmate being forced on all mac users.
What a whiner. I use a Mac every single day for doing web development. Know how I get over the fact that I'm not deploying to a Mac in production? It's called a continuous integration (CI) and staging setup! You build your app locally and ensure the core of the test suite passes and then you push your changes up to CI where everything gets run against a test server stack that should be nearly identical to your production environment. And if the CI passes then the code get auto-deployed to the staging server for QA evaluation by the client, or other responsible party. And after they've signed off you kick-off a deployment of the code into production. And if I can't, don't want to, run CI and staging environments outside my system, I can fire up Parallels or VirtualBox and create a test environment. Boo hoo! This problem isn't remotely interesting unless you don't know what you're doing.
Even if I knew that tomorrow the world would go to pieces, I would still plant my apple tree. -Martin Luther
Ted Dziuba is a co-founder of Milo.com, which just sold to eBay for $75 million.
I'm guessing your leet Web skills brought in more than that last year, which is why you feel comfortable calling him an "amateur."
Read my blog.
Okay so you like nEdit on linux..
ramuh ~ # uname -sr
Darwin 10.7.0
ramuh ~ # port -v search nedit
nedit @5.5 (editors)
A multi-purpose text editor for the X Window System.
so install it?
What doesn't it "do well" with nfs? I use automounted NFS every day on my mac..
Lets just quote a line from the article:
Lets see:
Fink is based on Debian's apt system
Macports is a typical BSD style port system
Homebrew is not designed as a package management system but to allow installs of individual applications easily.
And this one:
Of course the point of all 3 of them is dependency resolution.
Gentoo of course originally was trying to bring a BSD style ports system to Linux, as an alternative to the integrated .apt, .rpm culture. So it seems to me this guy might want to understand package system on Linux before he comments further.
Emacs works fine for python-based web development. I don't use it myself, but there's no particular reason it wouldn't work, and AquaMacs is actually a very pleasant version of Emacs, both true to Emacs's spirit and nicely integrated with OSX. I agree that in general Emacs isn't the best tool for every job, but there is historical precedent for using it to develop a language with strong dynamic types. It's clearly not the best choice for Java-based web development (I can say that with a certain amount of experience), but that doesn't mean it's the worst choice for all web development either.
Angry much? ;)
Besides, my point was clear: you can run Windows on any damn hardware you feel like as long as it meets its technological requirements, and the same goes for Linux, FreeBSD, FreeDOS, Minix, and pretty much every OS I can think of, even freakin' Android. Only exception? Apple's "thou shalt only use thy copy on thy Apple-branded computer" OSX.
Now go back whence you came, angry troll, and trouble our threads no more.
No problem is insoluble in all conceivable circumstances.