I hate OSX and yet I use OSX because alternatives (by which I mean Linux, obviously) seem even worse. Here's a very short list of pros and cons as I see them.
Most important things:
- OSX pro: TextMate. I really cannot use any other editor without feeling physically ill, they just do everything wrong. There are some attempts at getting semi-decent editors for Linux like redcar, but I have no idea how good they are.
- OSX con: MacPorts - source based distribution systems are just failful, and MacPorts is far more failful than most. It is completely routine that upgrade will leave you with broken packages - neither upgradable nor downgradable.
- Linux pro: apt-get. I wouldn't even seriously consider any Linux without apt-get for anything.
- Linux pro: same software on desktop and servers. It saves me a lot of complications, 32bit vs 64bit is annoying enough without OSX vs Linux.
- Linux pro: better development tools. strace, ltrace, and LD_PRELOAD for example. It is system made for developers by developers and it shows.
- Linux pro: virtual desktops. Spaces on OSX doesn't work and it will never work as long as OSX stays Application-centric instead of document-centric like Windows and Linux GUIs.
- Linux pro: better internationalization. Especially if I want to type in multiple languages. There's proper Polish Dvorak keyboard for example. (I remember I once haxored such for Windows 95 by editing binary drivers... these were good times).
- Linux pro: Amarok. It's vastly more awesome than any OSX music playing program, especially shit like iTunes. Even old Winamp is far better than iTunes.
- Linux pro: shell. Ubuntu bash has smart tab-completion, command not found suggests what to install, and everything else in shell got as much attention to detail as GUI got for OSX.
- Linux con: Support for laptop hardware. Last time I tried it, even something as simple as getting external monitor in and out was a massive pain.
- Linux con: GUI usability: Now that Windows 7 finally catched up, KDE is in general the second least polished GUI, the absolute worst being GNOME of course. It's not just looks, it's all the minor things that make it work seamlessly.
- Linux con: GUI programming. C++ based Qt, and fake-OO-C based Gtk are both massive pain in the ass compared to even less than amazing Cocoa. There are Ruby etc. bindings for all, but it's just like putting lipstick on a pig. Everyone develops GUI for web these days - that even dealing with MSIE6 and all ridiculous web limitations is still far less pain than desktop GUI programming shows how bad it is.
- OSX pro: It's prettier. Font rendering is a particularly good example
- OSX pro: Omnifocus. Every other GTD software I tried was so bad I simply stayed with paper, but Omnifocus suckiness is fairly moderate.
- OSX pro: Development for mobiles. Right now the only categories of mobiles are iPhones and turdbricks - one needs OSX, the other nobody wants to develop for. It might change in 2-5 years, but right now I need OSX if I wanted to develop for OSX.
- OSX con: Support for laptop hardware. It's ridiculously bad, even though it's Apple's own hardware. The only way to turn off laptop monitor is by sacrificing a chicken (put computer to sleep; wake it up without fully opening the laptop screen; then maybe it will work, maybe not) - and routine software upgrade broke the "turn off trackpad when mouse is in" option.
I see no chance of OSX ever catching up with Linux before I get old.
Linux would need at least a decent editor - and if redcar won't work, I'm out of hope - Emacs and vim are stuck in 80s and haven't improved the slightest since I started using Linux. All KDE/GNOME-based editors are made without any clue.
Laptop hardware support gets better each year, while Mac seems be to getting worse somehow, so that problem doesn't bother me that much. And I can live with ugly fonts and less GUI polish.
I might miss Omnifocus a bit, but that's definitely something I can live without, especially since Omnifocus is OK but not that awesome, and fairly moderate amount of GUI programming should make it possible to make something more or less as good, if only GUI programming wasn't such pain.
So I'm quite tempted to switch to Linux. Am I missing some big pro or con of either system?


digg
reddit
del.icio.us
DZone
27 comments:
Why is apt-get so important? Every other serious Linux distro has a package manager that handles dependencies. Even emerge can install binary packages sometimes (though I haven't actually tried that).
You clearly haven't used apt-get if you're asking about that.
I tried Gentoo some time ago, and emerge has been a massive pile of fail - and that's still better than MacPorts.
I won't use linux anymore for one simple reason: I spend too much time configuring it.
Also, homebrew, while still a source package manager, is much much nicer than macports.
Bill Mill: I don't buy this - Ubuntu out of the box is vastly more usable than anything else out of the box.
I have a very long document around in which I explain to myself how to get OSX from installation to something useful for software development and general use. It is about 10x more effort than a comparable thing with Linux.
I have Gentoo on my desktop and Kubuntu on my netbook and at work. I definitely like emerge more than apt-get. Updating ubuntu can really bork it (and it happend to me the one time I tried). No such problems with emerge (if you update often and manage unstable packages wisely). Compiling from source is a pain though.
As for Linux pros... I can't live without the Yakuake console.
Pomyk: Oh my god, I cannot believe I forgot about Quake console. As you say, it is totally awesome.
Try Scribes for a decent editor.
http://scribes.sf.net/
Also see:
http://mystilleef.blogspot.com/2010/04/scribes-50-less-fat.html
Mystilleef: I will believe it's any good when I see people demand it be ported to OSX to compete with TextMate (it might still be better than Emacs for all I know, that's not difficult at all).
There has been demand to port it to windows and os x. I just don't have the resources to do it. Although someone is currently working on a port for Windows.
@taw: buy it or not, I have expermiental evidence that shows I spend ton more time configuring linux than I do Mac.
The problem's not usability, it's flexibility.
Bill Mill: The difference is that on Linux you can waste time on this, on OSX you must waste time on this.
Protip: Use Linux and accept the defaults unless you really absolutely have to change something.
@taw: Maybe you're strong enough to accept default options, I'm not. I really do wish I could do so. Mac gets the job done.
Also, I apologize for my awful typing, I have a broken hand.
Okay! Neither vim nor emacs will do for you. And all other editors dripping GUI are not good enough either. Huh? I wonder what exactly you do with computers besides writing vacuous posts! Can you blog about some of your work so we can see how good it is?
Have you ever tried http://e-texteditor.com ?
Try your luck compiling it under linux/macosx/windows http://github.com/etexteditor/e/
I don't know what is so special about TextMate. Tried to figure out that myself but failed. My friend, Apple fanboy, wasn't able to explain that to me as well.
Anyway, you can give a try to Geany a neat and powerful editor. I've found it to suck much less than others (especially Gedit). It plays nice with XFCE desktop being fast and powerful.
Actually support for laptop hardware is pretty good nowadays. Configuring external monitors is a breeze with XRandR 1.2 (as long as you're ok with command line tools for configuring, I'm not sure if there's a decent GUI for that); most GPUs (with notable exception of Nvidia, which last time I checked still needed proprietary drivers) work out of the box with AIGLX desktop (effects) on free drivers, most wireless NICs work flawlessly on free drivers. Certainly beats the shit out of Windows (7) hardware support, although I guess that's no contest really.
I don't remember when was the last time I actually had to set up any hardware after popping in a livecd. Even default touchpad settings are comfortable enough, although you'd be well advised to swap two-finger tap to be 3rd button and three-finger to be 2nd one, and to turn on circular scrolling, which is quite possibly the most awesome thing ever to be done with a touchpad.
Divided Mind: It's not about configuring the hardware, it's about system not getting confused when I plug in/out external monitor live and system adjusting automatically.
Linux 2 years ago still got confused and it needed running nvidia-something-something to make it unconfused.
What do you mean turning off the monitor in OSX is a problem? I must be misunderstanding you because that is no trouble at all.
Ctrl+Shift+Eject puts the display to sleep or you can configure a hot corner in Exposé for the same.
I have to admit I'm not a developer, but am still curious as to what you consider a "usable" system. To that end, I'd be keen on seeing that long document. I've always thought that OSX was pretty usable straight outta compton.
Bas: You misunderstand what I want. I want to turn off laptop monitor and only use external monitor.
This is possible if I start up system with external monitor connected and laptop lid closed - or if I put it to sleep then wake it up with lid closed (but this works or not randomly).
There is no way to turn off laptop monitor without at least putting display to sleep.
And no, I cannot just darken it because windows will still appear on it (I've heard stupid suggestions like that before...).
XrandR 1.2 does just that; it tends to do the right thing. You can use xrandr command line tool to tweak it to your special needs thereafter (like having internal display show just part of the desktop, zoomed in). Turning off the internal display is just xrandr --output LVDS --off.
Linux pro: xmonad tiling window manager.
Probably it would require more messing with the defaults than you want, and unfortunately it requires the Haskell compiler to be installed, but using multiple monitors without it is hard to imagine for me.
oliverdyas: I don't care for multiple monitors, my single 2560x1600 30" already maxes out double link dvi, and computers (let alone laptops) have more output than that.
But your point is valid that Linux has a lot of such things.
I think emacs is a really nice editor. The learning curve is not really nice but once you get used to it you are godly. I have configured it with autocomplete and such stuff. I actually use linux at work for developing and osx at home. I prefer linux for developing.
Marc: You'd be godly by standards of 1980s. Unfortunately for you Yannis's Law means 1980's godly is 2010's below average.
I really don't understand everyone's fascination with TextMate. Kate has everything I need, and what it doesn't (read: proper cursor movement shortcuts) I've added myself, e.g.:
http://pastebin.com/N3tyPFms
(Note: Dvorak keyconfig.)
A simple LD_PRELOAD hack that makes editing text a joy - I don't need to touch the mouse nor get my hands off the „main” keyboard to push home/end/page up/page down/arrow keys/whatever, I just hold my left alt and I can manipulate the cursor with the letter keys. I really have no idea how people can comfortably edit text without that.
kouteiheika: I've heard this many times, but not once from anyone who has used TextMate much.
It's a lot like people using Nokias wondering wtf people see in iPhones.
Post a Comment