I've had repeated issues compiling different "cross platform" applications on MacOS that compile painlessly under various Linux distributions and even Windows! So you end up being heavily reliant on "port" to install software instead of "./configure / make / make install". The last thing that drove me up the wall was a bizarre failure in statically-linking SQLite into a QT application. Every other platform worked. MacOS failed spectacularly.
If you want a Linux laptop, get a Linux laptop. I'm only on a Macbook for video editing and iPhone/iPad development. It is excellent for that and it is a beautiful machine in many ways (love the chassis), but it is not nearly as good a platform for developers as Ubuntu by any means.