Slashdot Mirror


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

34 of 831 comments (clear)

  1. Man up and learn emacs? by Anonymous Coward · · Score: 5, Funny

    That's like saying man up and go see the new production of Glitter Boys on Broadway and then go get a pedicure.

    I think he must have meant "man up and go learn vi".

    1. Re:Man up and learn emacs? by vgerclover · · Score: 3, Funny

      $ man up use cat

      No manual entry for up

      No manual entry for use

      CAT(1) User Commands CAT(1)

    2. Re:Man up and learn emacs? by RightSaidFred99 · · Score: 5, Insightful

      Nobody said anything about anyone gay. Wait, you don't think a man acting effeminately and a man being homosexual are the same thing, do you? Talk about stereotypes...

    3. Re:Man up and learn emacs? by clang_jangle · · Score: 4, Insightful

      Gender is a powerful cult in almost every culture. Yes it's lame and probably counter-productive in many ways, but that probably suits most people fine, when you get right down to it. Or as a very wise man once said:
      "People -- what a bunch of bastards!"

      --
      Caveat Utilitor
  2. There's nothing wrong with development on the Mac by Anonymous Coward · · Score: 5, Informative

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

  3. Re:Bullshit. by unity100 · · Score: 4, Insightful

    doesnt matter.

    'xammp in some flavor' running in your desktop os, still means 'different from the production environment' you are going to run the thing on. xammp on mac will need to behave as xammp on a mac.

  4. That's liek your opinion and stuff man by bitroli · · Score: 3, Informative

    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.

  5. Re:Emacs? by blair1q · · Score: 4, Funny

    Damn skippy.

    You should be using vi (1), with cscope (1).

  6. Seriously by justmike2000 · · Score: 3, Funny

    When will emacs or vim be available for Mac??? Python packages are also a huge problem on a Mac. It is not like setuptools exist for Mac OS X.... Also, when I develop for the web I always format all my devices to HFS+. I will never use FTP or SAMBA as they do not work on Mac.

  7. Sorry to have to say this, but... by thestudio_bob · · Score: 5, Funny

    After looking at his website, I really don't think he should be offering advice on what tools to use for designing websites.

    Just saying.

    --
    The real Sig captains the Northwestern. This one captains /.
  8. Voodoo by Dan+East · · Score: 4, Interesting

    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.

    I can't imagine writing code so finicky and unstable that it can only be cajoled into running under such a specific environment. If those details are important, then the software should be developed specifically to handle various cases. They way he describes it, it's a bunch of voodoo that can't fully be understood, and whenever the product doesn't work they simply place blame on some nebulous external factor.

    --
    Better known as 318230.
    1. Re:Voodoo by slimjim8094 · · Score: 4, Insightful

      Particularly when it's written in Python. I mean... jesus. If you've managed to have a problem with your *web application* written in Python, because the scheduler is different? Get out of coding.

      I was writing a C/curses application with pthreads on OSX that compiled with no modifications on Linux. Ran fine, too, after I changed a stupid assumption about select() that worked on *BSD but not Linux. And that was my fault for not following POSIX.

      This guy is an idiot with a rage-on. How did this make Slashdot? Oh right...

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
  9. Let me get this straight by istartedi · · Score: 5, Funny

    You just initiated a PC vs. Mac and an Emacs vs. Vi flamewar in one article? Are you MAD??? Don't you understand the potenia#%#$^#$^ NO CARRIER.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    1. Re:Let me get this straight by mferrare · · Score: 3, Insightful

      There is no need for an Emacs vs vi flamewar.

      Vi won.

      --
      Why would anyone want to use a text editor that is not vi?
  10. Right on. He's an idiot. by jmcbain · · Score: 5, Insightful

    That is exactly his problem. He has a deployment environment that's different from this development environment, and he expects them to be the same when they're clearly not. This is quite possibly the stupidest drivel I have ever read, and obviously he's an amateur programmer. If your deployment environment is Linux, then get a Linux box to develop your code. His argument is just as stupid as saying "Windows is unsuitable for developing Linux software". This clown should be catapulted into the sun.

    Furthermore, if this guy is a Web developer, then why is he concerned about underlying architectures? Stick with HTML and CSS and leave the heavy coding for the adults.

    1. Re:Right on. He's an idiot. by jalefkowit · · Score: 3, Informative

      This is quite possibly the stupidest drivel I have ever read, and obviously he's an amateur programmer.

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

    2. Re:Right on. He's an idiot. by clang_jangle · · Score: 3, Insightful

      Contrary to what many believe here, making money is not proof of virtue, intelligence, or anything else. Lots of total 'tards are rich, look at Trump.

      --
      Caveat Utilitor
    3. Re:Right on. He's an idiot. by truthsearch · · Score: 3, Insightful

      I develop Python web applications using Mac desktops and Linux servers. I use MacPorts for package management. I have never had a single complaint like the author of TFA. One reason Python exists is to gain a certain level of abstraction from the OS, which the author doesn't seem to understand.

  11. Re:I don't get why... by Nerdfest · · Score: 4, Funny

    Apple gives you loads of options.

    Absolutely. They're famous for it. Apple's all about choice.

  12. Ummm by techsoldaten · · Score: 3, Insightful

    Um, ahem...

    This is a very reactionary post and does not belong on the front page of Slashdot. There are a lot of options to address the issues the author brings up and the premise of the article is misleading. Also, the author clearly references Windows development issues, which means he lacks essential open source credibility and should be shunned by the community.

    I mean:

    - How about Eclipse as an IDE? That should be better than emacs and textmate for most things.

    - How about MAMP with SPMPT for Postgres? You could also script start and stop scripts for redis in MAMP similar to the ones that exist for memcached.

    - While fink, macports and homebrew all do suck in their own special way (homebrew is a little suckier), what's to stop you from writing your own ports for them? Isn't this the way rpms caught on, where people knew how to compile them in the first place?

    Maybe the polyphany of OSX package managers leads to issues but the same issues have existed in the Linux world for years and it's taken a lot of effort to resolve them. People took the time to resolve them, and that's what lead to a better system. You can't criticize "Mac culture" for offering the same opportunities available to linux users, sorry you don't feel the need to contribute.

    - As far as file systems go, so help me, most competent developers can deal with this pretty easily. Since the author cites 'grown up' developers in his article, I guess that means grown ups are too lazy to do something about file systems when writing applications. Like make applications for linux and BSD and ignore windows altogether, or use a windows machine for creating windows applications.

    1. Re:Ummm by Haeleth · · Score: 4, Insightful

      How about Eclipse as an IDE? That should be better than emacs and textmate for most things.

      Well, it has certainly finally taken the crown from emacs in the crucial "loading time" and "memory consumption" stakes! Congratulations, Eclipse team, on finally making all those pro-vi arguments about emacs being inefficient look silly.

    2. Re:Ummm by lightknight · · Score: 3, Insightful

      Minutes. 45 minutes. It does not last a full hour.

      And it takes one of my cores hostage when it goes down.

      --
      I am John Hurt.
  13. Re:Who the fuck is Ted Dziuba? by MoonBuggy · · Score: 4, Insightful

    Written an article explaining that you shouldn't choose OSX when you need to develop for Linux, apparently...

  14. Re:Oh by beelsebob · · Score: 5, Insightful

    I have no idea why this troll of an article ever hit /.

    With compelling arguments like "textmate sucks, man up and use emacs" (yes that really is the whole argument for what's wrong with text editing on OS X) I'd expect better from an IRC troll, let alone a slashdot troll. And hell, that's completely ignoring the fact that if you really want to, emacs runs just fine on OS X.

    Personally, I consider a Mac to be pretty much the ultimate web dev platform, because it gives you easy access to all browsers on all major platforms, and gives you some of the best tools (yes, better than emacs, and even better than vi) to develop with. There are many imperfections, but it's better than all the other options.

  15. Re:The Mac sucks for all kinds of development! by Anonymous Coward · · Score: 3, Informative

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

  16. Package management by jbolden · · Score: 4, Informative

    Lets just quote a line from the article:

    I've only poked around a little, but so far I've found three separate package managers for OS X: Fink, MacPorts & Homebrew. Each is heinous in its own special way, but the fact that you have three competing package managers, that don't talk to each other has convinced me that Mac users, in the typical hipster fashion, brutally raped the Unix culture, throwing away everything that made it unique because they did not understand it.

    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:

    I realize that if you're a Mac web developer, your deployments probably consist of ssh and git pull, but when you are older, you will understand the value of automated version dependency satisfaction. Better not tell you now, it would spoil the surprise.

    Of course the point of all 3 of them is dependency resolution.

    One of the unfortunate trends in OS X package management is the idea that the user should be compiling everything. This is being perpetrated mostly by the Homebrew package manager, whose basic building block is the formula, basically a Ruby script that tells it how to download, compile, and install the package. Well congratulations, dipshit, you've reinvented dpkg, poorly. I am simply trying to develop an application, is there a good reason why I am compiling libxml2 and all of its dependencies? What is this shit, Gentoo?

    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.

  17. Re:Oh by beelsebob · · Score: 4, Insightful

    Okay, if you want counter arguments to the "points" in the troll, here you go:

    So you totally ignore the pathetic developer package management in OS X

    The article complains that there are 3 different package managers for OS X and that choosing between 3 tools confuses him... Well here's news for him, there's *way* more than 3 package managers for linux. He then goes on to explain that he uses dpkg on linux and is very happy with it. If this is the case, I suggest he uses fink on OS X, as it's a direct port of debian's package manager. He also complains that he ends up compiling things all the time. Clearly, he fails at reading the manual pages, because fink is entirely capable of installing binary packages.

    the fact no one uses OS X for serious web hosting

    Entirely correct – this is why you use things like (insert favourite scm tool here) to deploy to a test environment and check that your code works in something extremely similar to your deployment environment. This is basic computing 101 – test your binaries where they'll be running. Sorry, but "I'm going to deploy to linux, therefore OS X sucks" is not a good argument.

    then blather on about a cruddy text editor?

    no, actually, I "blathered on about" a cruddy argument. If he had valid complaints about TextMate I wouldn't call him a troll, but instead he simply states "man up and use emacs" – this isn't an argument, it's just plain bare faced trolling.

    You obviously don't develop.

    Wrong, but this is only an appeal to ridicule, a well documented logical fallacy, so I'll chose to ignore it.

    Guess you're another overzealous Apple fanboy.

    Another appeal to ridicule, so I won't grace it by saying "Guess you're another overzealous anti-apple fanboy." Damn, I just did, guess I couldn't help myself.

  18. Re:Oh by mysidia · · Score: 4, Insightful

    Personally, I consider a Mac to be pretty much the ultimate web dev platform, because it gives you easy access to all browsers on all major platforms, and gives you some of the best tools (yes, better than emacs, and even better than vi) to develop with. There are many imperfections, but it's better than all the other options.

    Author is bitching because he thinks the Mac is not an ideal platform to run the application.

    With that I agree. Don't run the server-side of the web application on your development workstation.

    Instead: save the files directly to a remote folder on an actual webserver running the target OS, by remote mounting the filesystem (or automatic synchronization), and run the application on the remote server, for testing during development.

  19. Re:Oh by Cederic · · Score: 4, Insightful

    No, see Beelsebob's post above.

    "Deploy"

    It's a key step in your engineering process. It should be a repeatable testable process. It should take microseconds through automation. It should be configurable to permit deployment to dev, systest, SIT, UAT, stress, OAT, Prod, DR* environments without needing to change the packaged deployable.

    You're entirely correct with "Don't run the server-side of the web application on your development workstation." but mounting production server storage from your dev machine is frankly almost as bad.

    *adjust to fit your SDLC

  20. Re:Who the fuck is Ted Dziuba? by pipatron · · Score: 4, Insightful

    So you suggest that people buy Apple computers even when they fail, because you can run a better operating system in a VM? Let me quote:

    What a total retard.

    --
    c++; /* this makes c bigger but returns the old value */
  21. Re:Emacs? by speck · · Score: 3, Informative

    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.

  22. Re:Who the fuck is Ted Dziuba? by jedidiah · · Score: 4, Insightful

    ...sure. Pick an OS because it is the one that is the most hostile to being virtualized and has the most expensive hardware so when you do decide to run something in a VM you will pay dearly for the priveledge or simply be out of luck.

    The real question is why bother with MacOS in the first place?

    --
    A Pirate and a Puritan look the same on a balance sheet.
  23. Re:Who the fuck is Ted Dziuba? by Draek · · Score: 4, Informative

    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.
  24. Re:Who the fuck is Ted Dziuba? by Pesticidal · · Score: 3, Funny

    You need a truck for that.

    But evidently not a Mack truck.