8 ms·
Since I was the lone developer using windows at my workplace, I decided to give Apple/OSX a fair shake. The fact OSX was unix based seemed awesome to me (some
by borlak 14y ago
Since I was the lone developer using windows at my workplace, I decided to give Apple/OSX a fair shake. The fact OSX was unix based seemed awesome to me (some of my projects are in C).
Then began the hell of trying to do anything "unixy" on OSX. Custom libraries just for the mac (custom libev??), needing to install XCode Dev Tools to get gcc compiler(???). Sigh.
In the end I just ended up running a CentOS VM in virtualbox, and I do my development there. The ONLY benefit I currently gain from a Mac is creating iOS apps.
- astrodust 14y agoIf you were on Windows you'd need to install Visual Studio just to get a compiler. XCode is similar. You haven't seen hell until you try and use Cygwin on Windows to get anything "unixy" done. It sounds like you weren't using MacPorts or Homebrew to build your libraries. They're a lot closer to the distributions you see on Linux and BSD.
- finnw 14y ago> If you were on Windows you'd need to install Visual Studio just to get a compiler. Not true, even if you consider only Microsoft software. http://www.microsoft.com/en-gb/download/details.aspx?id=8279 http://www.microsoft.com/en-gb/download/details.aspx?id=8279 And if my project involves heavy use of shared libraries, I'll take cygwin over macports any day.
- evilduck 14y agoApple's command line tools for XCode are available as a separate download from XCode from their developer portal too.
- astrodust 14y agoI didn't know Microsoft had a stand-alone compiler, but I'm not even sure what such a thing would be used for other than to be embedded in some other software. How is cygwin any better than a package manager like MacPorts or Homebrew? If you're having this much trouble with shared libraries, you're doing something quite odd. They're usually less obnoxious than their equivalent .DLL files. Apple has gone to great lengths to get fully POSIX certified. As far as the libraries go, they're nearly identical to their Linux or BSD counterparts. The number of platform-specific issues you'll have to deal with when using standard versions of the libraries are usually small. In looking through open source, I always see a lot more of `#ifdef WINDOWS` than I do for anything OS X specific, especially in the networking and threading departments.
- program 14y agoThere's no need to install XCode in order to have GCC/LLVM and satellite programs. Go to connect.apple.com, authenticate and download the "Command Line Tools (OS X version) for XCode."
- rimantas 14y agoOSX is not "unix based". OS X is unix. And it comes with php, ruby, python installed. I remember having to get gcc toolchain on linux too, maybe it has changed since.
- fauigerzigerk 14y agoOS X is indeed a rather nasty Unix platform right now because Apple in the midst of a long drawn out transition away from GCC. They are shipping a completely outdated GCC and an obsolete libstdc++, yet most libraries are still compiled with that ancient libstdc++. I tried to use LLVM's libc++ instead but I had to recompile so many libraries and make sure the dynamic linker actually picks them up that it was just too big of a hassle. I don't see light at the end of that tunnel right now. I'm thinking of giving Linux another try as a development platform.
- wfarr 14y ago> They are shipping a completely outdated GCC They are shipping a heavily modified GCC that originally was forked in 2008. The version of GCC they ship is entirely based on LLVM via Clang and is intended to be a hold-over for everything to transition to Clang over LLVM.
- fauigerzigerk 14y agoIt's 4.2.1, but the compiler is actually simple to replace anyway. The real problem for me is the C++ standard library.
- fafner 14y agoApple really follows the tradition of commercial UNIX: An ugly thrown together pile of shit as userland and third party libraries. It's worse now with their fear of GPLv3. But even before GPLv3 there were issues. Sometimes you had to wonder where Apple even got the source for such ancient tools. There were security bugs that had been fixed in *BSD or GNU 10 years earlier.
- Supreme 14y agoA thousand times this. I used OSX at one job where everyone else was too and was appalled at how bad it is for getting work done. It's pretty and shiny but broken by design in terms of usability. Switching windows is a pain in the ass (different shortcuts to 'alt-tab' between windows of the same application), maximizing a window doesn't work properly, no way to change the window manager. Those are just my gripes with the GUI. As parent pointed out, the best way to do *nix-based work on OSX is to run linux on a VM. This throws the 'is unix-like' argument out the window. So a crap GUI, crippled CLI, very questionable company policies and politics and to top it off it costs twice as much as everything else. You have to be out of your mind to buy into this.
- Volpe 14y agoIt's funny when people complain that Apple's GUI isn't like the OSes that copied them... When in fact that's because they copied them wrong... :\ I agree there are crippled parts to OSX's CLI, but would be curious to know which bits you think are crippled? As from your other assertions, I suspect they are shallow.
- davidhollander 14y ago> no way to change the window manager Is this actually the case? I use Linux as my primary OS, but I recall seeing xmonad running in osx on a macbook.
- hollerith 14y agoThat xmonad was almost certainly managing the X11 apps while the native apps were being managed by the standard Apple window manager. Most Mac users (including myself) make no regular use of any X11 app. (In fact, shortcomings in X11 and software that relies on X11 are the main reasons I left Linux in the first place).
- nicholassmith 14y agoMostly the window switching is weird for people as the metaphor nearly everyone is used to is 'command + tab switches window' whereas OS X is 'command + tab switches application'. I actually prefer it that way, but it's not for everyone.
- victorma 14y ago>Then began the hell of trying to do anything "unixy" on OSX. Custom libraries just for the mac (custom libev??), needing to install XCode Dev Tools to get gcc compiler(???). Sigh. For the last year or so you don't need to install XCode to get Apple's gcc, there is a separate "Command Line Tools" ~120MB download with gcc and all that stuff. Still, I don't see the "hell" even if you still HAD to install XCode to get gcc. My definition of hell doesn't include getting a nice IDE, with one click installation, and tons of tools and documentation in the process of getting my barebones C compiler. >In the end I just ended up running a CentOS VM in virtualbox, and I do my development there. Which is the smart thing to do, anyway. Get the dev environment to be like the deployment platform. Except for simple coding, why would anyone want to mess his basic system with webservers, databases, competing libraries and stuff, when he can have a clean base system and a multiple virtual development systems, with snapshots? Even when I run Linux (with KDE) as my desktop, I still used a VMWare virtual machine for developing in. >The ONLY benefit I currently gain from a Mac is creating iOS apps. Well, maybe you don't need a Mac then. If you need any of the following though, you might get more from one: 1) Minimal fuss setup, including things like audio, 3D acceleration, video, sleep mode, printing, etc. 2) The ability to run MS Office, Adobe Creative Suite, AutoCAD and numerous other commercial products (and all Open Source stuff too). 3) The ability to edit your vacation video (or a full documentary) without tearing your hair out. 4) The ability to work with Pro Audio / MIDI / plugins, period. Now, if all you do is browser, see mail, and edit some C, then why would you need a Mac for? Hell, if a Chromebook has an SSH client, you might not even need a Linux desktop for that.
- acdha 14y agoFor developer tools, check out the command-line developer tools: https://developer.apple.com/downloads/index.action?=command%20line%20tools https://developer.apple.com/downloads/index.action?=command%... Kenneth Reitz worked with someone at Apple to get a small (~100MB) package containing what you need for opensource work without the full XCode. You should be using homebrew: it's been a LONG time since I've needed to do anything unusual to get most OSS web & media apps built. "brew install libev" and get on with life.