Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In my experience, I have three choices: I can have a poor Linux environment with no work, a better but still mediocre Windows/OS X environment with little work or a good Linux environment with a bit of work.

The reason I don't use Windows or OS X any more (and I've used both extensively in the past) is simple: sure, both are easier to set up (with a new computer, there is no set up). But both are strictly less productive than a good Linux setup is.

The reasoning is simple: setting up a computer is a basically an O(1) operation. Sure the constant may be high, but it's just that: a constant. On the other hand, the drain on productivity of using OS X or Windows is in O(n) where n is how much programming I do. And, happily, I do a lot of programming.

So I've never understood the rather condescending argument of simply getting your actual job done. People using Linux aren't all shortsighted or masochists! We use it because we want to get real work done faster.



I'd disagree that setting up the computer is an O(1) operation, because it ignores maintenance. Changes, additions, upgrades, new hardware, new software.

I'd also disagree that Linux is objectively faster for getting "real" work done. An example to illustrate the point: I've been using Ubuntu on and off, and tried to set up IntelliJ to match my Android development environment on Mac OS X.

First of all, the installation process sucked compared to drag-installing on Mac OS X. I had to download a .tar.gz, open up the terminal, run an installation shell script to create the requisite desktop files to make the app visible in the GUI.

Then, once I had it installed, the fonts all looked like crap. I spent about half an hour trying to track down how to make OpenJDK fonts on Ubuntu not look like crap, before finally giving up and resigning myself to the ugly UI. I found lots of people with the problem, but not many solutions.

Stuff like this happens all the time. Before Mac OS X, I resigned myself to dealing with this kind of regular crap. Now, I expect an application to drag-install and just work correctly.

I'll try to get ahead of some common arguments I've heard regarding app installation:

At this point you might start arguing that I should be using software from the official APT repositories, or something. That's a broken model. It's ridiculous to require the OS vendor to maintain an integrated repository of every piece of software available for the platform. It's not sustainable, and it means stale software and extra trouble if the software that would make my job easier (programming, right?) is not open-source and doesn't fit the OS vendor's software licensing ethics.

Then you might argue that I should use a third-party APT repository to fetch dependencies, which means that first I have to find such a repository, then I have to update a bunch of annoying configuration, and lastly I have to trust that their apt repository won't steal precedence on a system package. You can prevent that precedence problem with more configuration, but that's even more complicated.

No thanks. I'll take drag-installs, or better yet, the app store. I realize that Ubuntu is trying to go in this direction themselves, but it's not there yet. I'll reconsider when and if it they ever reach a level of working integration on par with Apple's.

Until then, I'm going to use IntelliJ under Mac OS X with nice looking fonts.


I remember having ugly fonts on Linux... somewhere around 1998.

It sounds like IntelliJ has garbage Linux support and you're blaming the OS for it.


In my experience, Linux is actually easier to maintain.

For example, when I was using OS X (several years ago, now), I could not figure out how to update Java. Apparently it involved using the "Software Center", but it didn't actually work, so I was stuck with the old version. So the project I was working on in Windows at the time just didn't work on OS X because it was using new APIs. Absurd! I've never had a problem like that on Linux.

More recently, I tried to install Git on OS X (without administrator access). It was a horrible pain, so now I only ever log on to the Linux servers at school.

Also, there is no way "drag install" is easier (after learning about it) than "yum install", or whatever your distro provides. I don't have to find anything to drag; if I want to install something, I can just type its name in an voila, I have it. What about programs not in the repository? Well, they're easy too, assuming the vendor packaged it up for you (but you have to assume the same on OS X). I needed to install a beta version of MongoDB recently; all I had to do was download the RPM, click on it and enter my password.

Now, I agree that Linux alone does not make you more productive. But a Linux configured to do exactly what you want? Now that's productive! On OS X, I can't have a full-screen program on one screen and a couple of programs on the other. On Linux (at least with KDE), that is just a couple of settings away. And, to me, that's extremely important: I want to maximize my Emacs space as much as possible on one monitor while having a browser and some other stuff open on my other screen. I've already gotten rid of the flanges, the tool bar and the menu bar of Emacs; it seems silly to have window borders and the annoying OS X top bar still there!

However, the point isn't that any one feature (like the full-screen windows) is important to everybody. Rather, the point is that you can set pretty much any feature that is important up. Sure it's more difficult to configure than OS X--but you can actually configure it! That is exactly what I was talking about when I said O(1): to get a computer that behaves exactly how I want it to behave is only possible on Linux and takes a constant amount of time.

Coincidentally, it isn't even strictly easier to set OS X up for some really basic things. For example, a bunch of people I know use Emacs and LaTeX for a bunch of different things. On Linux, I just type sudo yum install auctex and it gets everything for me. My friend on OS X? He spent hours trying to set everything up correctly, and I'm not sure it all worked in the end.

Also, for what it's worth, I've had the best luck with fonts on Linux. Not only do they look great, but the one I use for programming actually supports all the symbols I need. I want to be able to read and use Greek letters and all sorts of math symbols without worrying, and Deja Vu is the only set of typefaces I've found that let me do that. Deja Vu Sans Mono is also a great looking typeface for code--certainly my favorite of all the different ones I've tried on all of the platforms.


Reading your comment has reaffirmed my decision to drop Linux as a daily desktop OS.

I remember everything you're describing from 10 years ago, and if things are still operating that way, then I'm glad I'm not using Linux.

It's clear from your comment that you don't understand how to use OS X as a developer. I used the BSDs and Linux on the desktop for most of the 90s, and have stayed current with Linux on both servers and desktops (though I don't ever use it by choice on my own). I don't think you're equipped to make a fair comparison.


Right, an ad hominem. Great.

I did use OS X for Java development for a whole year. Moreover, I've had to use it a little bit recently at school and work, so I've played around with the newest versions. If that isn't enough experience to "understand" OS X, I'm not sure what is.

Not much else to say here, because all you've done is act condescending and solely attack my perceived credibility. Because, obviously, if I didn't like OS X, I just didn't understand it!


> Because, obviously, if I didn't like OS X, I just didn't understand it!

No, you just plain don't understand how to use it, so there wasn't really any room left to discuss its relative merits. Whether or not you liked it is irrelevant given that your judgements were based on an acquired understanding of Linux, and a terse at best understanding of Mac OS X.

Let's just take your git example:

> More recently, I tried to install Git on OS X (without administrator access). It was a horrible pain, so now I only ever log on to the Linux servers at school

How exactly was it more difficult on Mac OS X? Did you try to ./configure && make && make install by hand, just like on Linux-sans-admin-access? Or did you try to use MacPorts' or homebrew's support for running without admin access, and simply tried '(port|brew) install git'?

Or, let's talk about Java:

> I did use OS X for Java development for a whole year.

During that whole year, you never stumbled onto Apple Menu -> Software Update? It runs automatically, you don't even have to invoke it manually.

You never googled "Mac" and "Java" and determined that Apple provided the Mac port of Java? Assuming this was in the time period of the 1.5 release, you never found Soylatte using Google, and used that?

Or, your friend with the LaTeX problem:

  port install texlive
Works fine.


For Git, I just followed some examples I found online. I don't remember the exact procedure, but it didn't work. After around an hour of trying I just gave up. In fact, I found it just as difficult as trying to install Git on the OpenSolaris servers, which is saying quite a bit.

As for Java, I couldn't update despite using the Software Update menu. It worked on Windows, but OS X just hadn't gotten around to adding it. And, as is usually the case with Apple, there was no good way around it: since Apple hadn't update Java, I couldn't just install it myself. (Or, at least, there was no obvious way of doing this.)

I don't know exactly what my friend tried to install AucTeX and the rest of the LaTeX ecosystem, but he certainly did not find it easy. And this is somebody studying CS at a fairly good university: certainly not unintelligent or unfamiliar with tech.

Over all, your descriptions make OS X seem worse than Linux in the very areas it supposedly excels in!


> For Git, I just followed some examples I found online. I don't remember the exact procedure, but it didn't work. After around an hour of trying I just gave up. In fact, I found it just as difficult as trying to install Git on the OpenSolaris servers, which is saying quite a bit.

I installed git on a coworker's computer in a couple minutes today, so I don't know what to say.

> As for Java, I couldn't update despite using the Software Update menu. It worked on Windows, but OS X just hadn't gotten around to adding it. And, as is usually the case with Apple, there was no good way around it: since Apple hadn't update Java, I couldn't just install it myself. (Or, at least, there was no obvious way of doing this.)

It wasn't that Apple hadn't "added" it, there simply wasn't a port of that version of Java to Mac OS X, because they needed to port it. If someone external to Apple had produced a port (like, say, Sun), you could have installed it, exactly in the same way that we install Oracle Java today.

Someone did eventually produce a partial non-GUI port, and it later became the base of Oracle's officially supported Mac OS X Java: http://landonf.bikemonkey.org/static/soylatte/

This has little to do with Mac OS X being somehow broken, and a lot to do with the fact that Sun only provided Java binaries for Solaris, Linux and Windows.

For Java 7 on, Oracle will be supporting Java for Mac OS X directly.

> I don't know exactly what my friend tried to install AucTeX and the rest of the LaTeX ecosystem, but he certainly did not find it easy. And this is somebody studying CS at a fairly good university: certainly not unintelligent or unfamiliar with tech.

I'm not sure what intelligence has to do with it. It sounds like he just didn't know what he was doing, and ignorance has little to do with intelligence.

If he'd approached Linux and had never read up on "yum" or "apt", I imagine he'd be equally stymied.

> Over all, your descriptions make OS X seem worse than Linux in the very areas it supposedly excels in!

I don't see how, but I imagine we're talking at cross-purposes at this point.


I don't know... I think you picked some awfully bad examples.

Updating Java on OSX is trivial (download & run), no idea what problem you ran into with git, OSX has full-screen apps and multiple desktops, and OSX has always had the nicest font support and type rendering of any OS -- Apple has always been at the forefront of that.


OS X does have full screen apps and does support multiple monitors, just not at the same time. Which is just absurd.

The problem I ran into with Git was simple: I could not figure out how to build it from source or install it without administrator privileges. After about an hour of screwing around, I just gave up and sshed into a Linux box instead (both were for school).

Updating Java was an issue back when I was doing Java development. I simply couldn't get the version of Java I needed, period. I don't see how it can be a bad example when that's exactly what happened. I think Apple has since given up on packaging Java themselves, which probably ameliorated the issue.

As far as fonts go, I have no doubt OS X has decent font support. My point was that Linux also has great font support these days.

These aren't random problems I heard about: these are actual problems I've personally experienced. I definitely had a higher density of problems per unit time spent on OS X than on Linux or Windows, which says quite a bit.


Judging Linux by what Java looks like is pretty unfair. Java looks fucking horrible on Linux.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: