Ask HN: MacBook Pro still preferred laptop for non-MS development?
At work I've used a MacBook Pro for the past several years, and I'm planning to get another laptop soon for home development use. Is it still the tool of choice, or are the changes towards Mac App Store making it less friendly towards development? Is the extra money worth the value for a serious developer? I'm leaning towards a MBP with 15" matte screen with SSD, but I've heard aftermarket SSDs can be better quality than what Apple provides, but I hear they were Kingston drives in the 2011 MBPs, and Kingston's not terrible, is it? I know Crucial and OCZ make decent ones, too, and Tom's hardware said previously that Intel were the best.
I'm ok using Linux too, but I'd rather spend more time developing and less time messing with driver issues and a crappier user experience like I tend to in Linux. Although, I recently put Lubuntu on a x100e and love it as a fast and modern lightweight OS, though the package manager isn't the easiest to use, but it is much less buggy than the Unity one with the screenshots and icons.
Windows imo is usually not well supported enough for development tools and languages, unless you're using it for .Net/MS development. You end up spending too much time fixing issues that another developer using OS X/*nix didn't test in Windows.
83 comments
[ 4.6 ms ] story [ 112 ms ] threadIf the software is going to be in the browser, you have to look for the tools that make it as easy as possible to do so.
Personally I love Apple products. Indeed, you pay a premium, but my 4 year old MacbookPro is still very fast, and makes no sounds. Second, Node.js, Eclipse, Redis, etc, have great support for MacOS, and I've the feeling Windows is not that much supported.
It is true Apple does not always uses the very best hardware components. For half the price of a MacBook Pro, you can buy an ASUS with the same hardware configuration. But what is important for me: how does the system perform with the hardware it has?
So my prefered choice is a MacBook Pro indeed. But if you don't want to spent the premium, you can also buy a less expensive notebook and install whatever Linux distribution you like.
If you want to buy a new MacBook Pro, I'd wait if I were you, the current model is almost at the end of the life cycle, and I'm waiting for the new release... If you can wait a couple of months more, I'd wait.
Is there any innovation expected in the MacBook Pro line that will be that much of a leapfrog over the current incarnations? I'm wanting to buy a new development laptop in the next two months as well and I can't see anything other than a better form factor coming out of the next generation.
To me, one of the most amazing features of the MBP is the track pad. I never connect a mouse to my PC, and I do Visio and something called Netformx DesignXpert, which require very precise positioning. If you get a MBP or the TrackPad accessory for any other Mac, and you force yourself to learn it for a few days (like a Blackberry user going to iPhone), I believe you too will be sold. Even if I spend 80% of my day in a VM Windows 7 instance, the built-in MBP track pad is better than any mouse or trackpad I have ever used.
Secondly, I believe people are full of it when they say you spend a premium on a MBP. HP had a PC laptop similar in construction of a MBP (solid metal casing, not sure if aluminum), and it cost more than the MBP. If you compare Apples to Apples HW-wise from the enclosure, to the screen, to the keyboard touch, to the trackpad rather than just the GHz rating on the CPU, I believe you will find that the MBP price is very competitive for what you are getting.
If you just want the fastest thing you can get and you do not care if it is made from cheap plastic and is fragile as all get out, and has poor screen resolution, you probably do not want to bother with Apple.
I configured it as such (these are the items that exactly match the MBA):
Windows 7 Pro (closest to Lion), 4 GB RAM (which is the max), 128 GB SSD (max), 3 yr support (vs. 3 yr AppleCare), WebCam (do some PCs not have this??).
Now the differences: 1) PC is 3.3 lbs vs. the 2.96 MBA 2) PC CPU is 1.6 GHz vs. 1.7 MBA (same 2nd gen Core i5) 3) 13" screen is 1366x768 vs. 1440x900 MBA (this is more important than you might think, I have the 1366x768 13" MBP for home, and I always want more height when surfing the web) 4) PC track pad not even close to what you get on the MBA 5) PC 3 yrs of virus software ($79). MBA does not need this.
Price: PC - $1,345.48 MBA - $1,548
Something with similar quality is still $200 less than a MBA, so I guess I accidentally stretched the truth, but that is debatable. Over the course of 2-3 years using the machine which is faster in CPU and the OS itself is faster, higher resolution and better quality display, the build quality is better, the trackpad runs circles around the one on the PC (hey, you don't have to buy a mouse either), and about a third of a pound lighter, I think I go MBA, personally.
To me it is close enough it is a no brainer. If you are a college student on a budget, and $200 is between Top Ramen and Hormel Chili for 2 months, you may opt for the PC and the Hormel Chili ;-) Though after you reinstall windows for the fourth time, you might re-think what your time is worth.
The premium is definitely worth it, Apple products seem to last (and stay fast) for years after their Windows equivalents. The other advantage if you're developing webapplications is OSX, which makes it very easy to replicate a Linux server (nginx, apache, RoR, node, php, mysql, redis, etc, etc all run flawlessly).
I just ordered an Intel 520 to replace it. I've heard great things.
Swap out your optical drive for a second SSD/a massive HDD. I did that with a OWC DataDoubler and it's a brilliant experience: most apps and OS on SSD load in a blink, while data lives on the HDD to avoid heavy writes knackering the SSD prematurely (because it lacks TRIM)
I also have a desktop, mind. Don't know how anyone can do development solely on a laptop.
Mmmm... I work exclusively on an 11" MacBook Air with no external display. My coworkers think I'm a crazy person, but the constraints work for me. I stay focussed on the one thing that's on screen.
I've also got a new Mac mini with a considerably faster processor and twice as much RAM, but the little hard drive in it makes the mini seem slow as molasses after getting accustomed to the SSD in the Air.
I can't go back to hard drives as my booting device.
The only thing that didn't work with stock ubuntu was the optimus video but with bumblebee it's fine, i only use it to switch off the nvidia anyway since 2d works fine on the intel chip. Also if you give windows a partition it's great for games too.
10 hours of battery life which is probably the most important feature. I never need to worry about bringing a charger when i travel on the weekends. I decided to replace the internal drive with an intel SSD which was spendy, but even after that the price was well below 1k.
Thanks to the chipset and SSD it handles everything like a champ. It can even easily run a VirtualBox with win 7 and Visual Studio should you wish to do MS development.
So I would recommend it to every programmer (who needs a laptop).
Comparing SSD's is silly though. It's like comparing supercars. Those small performance differences are irrelevant. Especially when you are used to something very very slow. I would definitely recommend buying something with an SSD for development.
The screen is small but I don't do much development where I don't have a large external monitor. In my home office I use a pricey Thunderbolt Display which gives very good docking capabilities with a simple connection.
I love the nearly invisible weight and very portable size. Highly recommended if your responsibilities don't require massive hardware capabilities.
If I had to buy a non-apple laptop right now though with linux in mind, it'd likely be a hp envy 14 spectre at some big discount. other contenders would be the vaio z or samsung series 7. i'd usually recommend lenovo, but they haven't had any good minimal designs come out aside from the too-small x220
http://support.apple.com/kb/HT1270?viewlocale=en_US
The OS ... depends on what are you developing. Mac OS is about as good for consuming stuff as windows 7, i.e. pretty good. For developing web apps, with textmate and github you're golden. But for full scale unix coding, you can't get better than Linux, in the amount of helpful software available, and while homebrew is cool, it has long way to go from aptitude.
Also, Apple kind of screwed up things with their throwing out of gcc (which was obsolete and strange version anyway) so you can't even compile lot of FOSS on Mac OS right now, especially multimedia software.
EDIT: for the record, I'm using old old old 2007 Macbook with OCZ SSD.
Use the prebuilt packages in the readme.
It's however possible I remember wrong package, so I'll check that out.
Further, there's long been rumors that Apple was re-working the entire "Pro" line to be more like the Air. So people are speculating that the new Pros will be much thinner and drop optical drives, gain SSDs by default and (I hope) have a dual SSD & HD configuration. (so you have the speed of SSD for your boot disk and applications but an HD to store volumous data like photos and video.)
This is rumor, of course, but it seems very logical. Apple is not a company that normally keeps legacy technology around and the DVD has become pretty legacy. There is a very active modding community replacing their DVD drive with a second hard drive or SSD, enough that companies like OWC make special parts for it, so I think Apple's a little behind the curve on booting that legacy technology. (Personally I think they intended to do it last year with the 2011 models, but held off because of a delay in some aspect of the design.)
Even if you don't end up preferring the new model, the older models will get cheap when they're announced.
I've gone shopping looking at other laptops periodically, but the unibody construction of the MacBooks makes them unbeatable. You don't' realize how flimsy plastic laptops feel until you've a unibody. Even the fairly robust aluminum and titanium MacBooks feel flimsy by comparison.
These days so much of the quality of a laptop is very hidden- for instance, putting four WiFi antennas in the MacBook Pro is not something most people know about, and when shopping most people look to see that "wifi is built in" to all the other models, but I've never seen a review that compared the performance of Wifi across models and thus lowest price suppliers are naturally just going to put one wifi antenna in there. And this goes one down the line, chipsets, discrete components, etc. All of these things do have a perceivable improvement on your use of the machine (e.g.: staying in a hotel and not having to set a chair right by the door to get wifi, but being able to sit on the bed. Would you, sitting by that door, think "gee, if I'd gotten a macbook I wouldn't have this problem"? unlikely.)
Plus, if there is ever a problem, getting warranty coverage from other laptop makers is a PITA. Especially compared to walking into any Apple store worldwide and having your machine fixed within 30 minutes on the spot. (They do repairs in the store, and since they have a minimum number of models they have the parts they need on hand, but if they don't they're only a day or two away...)
So, I'd say the Apple Store itself is a big advantage for MacBook Pros, but that only works if you have an Apple store nearby.
Finally, I'd be wary of non Samsung SSDs. I've owned two SSDs: an Intel and a Sandforce based one, and I've had four SSD failure so far. The Intel failed 1 year after buying it taking all of its data (and it had been 2 days since I'd backed up) with it. The replacement is still working. The Sandforce drive failed THREE TIMES. First time sent it back and they flashed it, second time they replaced the drive, third time I gave up on SSDs and went back to spinning rust.[1] Those three failure were within 8 months- the first time it failed was within 2 weeks.
The problem with SSDs doesn't seem to be flash wearing out (not within 2weeks-1year) but with the controllers wedging themselves because they've got a very difficult job managing the flash (and not a lot of RAM and are screwed if they lose power while live data is in the RAM). Since they're doing compression and all kinds of magical tricks to get performance and "manage" the data, that's what causes trouble. Samsung SSDs which aren't nearly as managed, and are just just a bunch of flash, seems to be much more reliable.
So, I won't use an SSD again until its under Apple's warranty because I can just then drop it off at an apple store if it gets wedged, and I think the ones ...
I think it more depends what you want to develop, i've often heard that it's less hassle to play with python etc. on linux than on a bsd.
[1] http://arstechnica.com/open-source/news/2008/08/lenovo-wont-...
[2] http://en.wikipedia.org/wiki/Windows_refund
How are things when you have to compile python extensions on your own?
When Lion came out, I had problems with some C extensions that expect gcc, but found llvm-gcc or clang instead, though that problem is coming up less frequently. I don't use many exotic extensions so YMMV.
Issues 5-6 years ago. No longer a problem.
If you install a user friendly distro like Ubuntu 12.04 yes, everything or almost everything works as expected.
Try to install CentOS on a shiny new laptop and let me know if everything works without messing with a lot of configuration files.
No one with a sane mind (or with enough Linux experience) would install CentOS on a shiny new laptop.
Also when we are at professional tools, things like Autodesk Flare, Flame etc. all run EXCLUSIVELY on linux - so thats not true that you are only left with mac or windows for "real work". Although I admit that most cheap tools will not often have no native versions for linux.
http://lmms.sourceforge.net/screenshots.php - LMMS is also worth noting - mean those tools might not fit your needs but it unfair to make impression there will be problems with general multimedia tools.
That, and also Flare et co still leave a huge hole in the overall toolset and workflow --you can't get by with these alone.
However now, i cant do without my macbook because for web and mobile you really dont need anything else and the frameworks can be configured locally without silly things like cygwin.
Alot of the developer tools are built in and you can do iPhone and android development also (obviously on windows or linux you cant do iPhone dev ) which means if you ever do decide you need to develop an iPhone app as part of your offering you are going to have to get a macbook anyway.
The only downfall is if your still doing any blackberry development you can't do it on a mac though you could always circumvent that by using a VM.
I also really don't like the direction Apple is taking MacOS. Lion chugs resources and does odd things like disable my second monitor when apps go into fullscreen mode. I don't really care much for the direction of the Mac app store, too.
LinuxMint has been great. It's the first time I've really run a Linux desktop since about 2003. What I miss is the polished apps. E.g., Adium is much better than Pidgin and Postbox or Sparrow are much better than Thunderbird. But, overall, I've been pleasantly surprised. Plus, I have 16 GB RAM now (could've gone up to 32 GB) and the OS consumes a lot less of RAM in general.
So, you come to the bizarro conclusion that Apple's direction includes Lion "chugging resources" and having a fullscreen mode bug? Truth is, OS X always had bugs, as did every OS release ever, be it Linux/Gnome, to Windows, to whatever... Some get squashed, some new get introduced. Direction has nothing to do with this.
FTIW, I don't see Lion "chugging resources". Running it on a 2GB, 2007 MBP at the moment. What exactly chugs resources? You can check on Activity Monitor and report to us (or even better, to Apple).
>I don't really care much for the direction of the Mac app store, too.
You mean OS X finally having a software repository, like Debian, Ubuntu, Fedora, etc had all along?
Re: multi-monitor & fullscreen -- based on the animation, it looks pretty deliberate. If it's a bug, I'd never know because of how Apple treats bugs. It hasn't been addressed at all in any of the follow-on updates. But, I can't wait around until the next OS on the off-chance it is a bug they fix.
Re: the Mac app store it's almost nothing like any of the software repositories you've listed. But, you already knew that and just wanted to pick a ridiculous argument. If you're happy with Lion, great. It was a question about what people are using to develop with and I shared my opinion.
How about just one then? I don't see a iOS-ification, I just see a cross-pollination of concepts. Haven't met many people who don't like full-screen apps for example, especially for certain tasks that require concentration, like writing, drawing, etc, even programming. Though, could a full-screen Emacs still be considered a full-screen "app" (full-screen OS?). I also like how I finally have one bloody view for both spaces AND "expose" that is convenient.
>Incidentally, Lion chugs resources when compared to the same exact hardware on Snow Leopard.
It seems like something that it's either obvious (say, a 20% slowdown), or something marginal that needs lotsa testing to find out. I haven't experienced anything of the former. As for the latter, do we have any numbers? At least, some benchmark run on the exact same machine, on a newly installed Snow Leopard AND Lion. This guys ran one, and it showed the exact same performance for both Snow Leopard and Lion, with marginal variation in different areas to one or the other. The more impressive gains were on the Lion side:
http://www.anandtech.com/show/4485/back-to-the-mac-os-x-107-...
Same results as these guys:
http://news.cnet.com/8301-17938_105-20081987-1/snow-leopard-...
So, no, "Lion chugs resources" sounds like a subjective unsubstantiated claim to me, as does every similar statements, whatever the OS or app, if it's not accompanied with numbers.
>I never said their direction was to chug resources -- I implied their new direction chugs resources, and it does.
This makes it sound like the "chugging of resources" is, if not the direction, as you say, an inherent attribute of the direction (i.e like with that direction it would be inevitable NOT to chug resources).
The numbers show that this is in fact not the case at all -- it does NOT chug resouces.
But even if it was, I wouldn't rush to call it an inherent attribute of the direction, but merely an accidental one, some bug or sloppy coding that introduced performance regressions and that can be fixed, whatever the direction.
I'm confused as to what you're trying to win though. The benchmarks you provide are useless because they're synthentic. No one runs one task at a time (well, unless you use the new fullscreen mode :-P). None of the benchmarks have anything to with the task of programming, which is what the original topic was about. I'd imagine if you stay under the upper bound on load, the performance is roughly on par. But, I can make an 8 GB MBP start swapping like crazy in about 5 minutes. I even added an SSD just to deal with slow swapping. Performing the exact same tasks, I didn't run into that with Snow Leopard. I probably need 16 GB RAM with Lion, but dropping another $1,500 to make that happen was a bit much.
We clearly have different work styles. It's really okay if we have differing world views. I prefer to work with two maximized apps, one on each display. It works best for me. As more apps adopt the new form of full screen, which auto-kills the other display, my life gets harder though. It's really not fullscreen apps, it's single-focus apps. Great. It still doesn't work for me.
If you haven't seen anyone complain about Lion, I really can't help you there. I honestly haven't seen anyone use Lion and not complain about it (well, I guess with you now being the notable exception). A good friend of mine just tweeted a few days ago that it took 15 min. to reboot Lion. I doubt he benchmarked it against Snow Leopard, but I doubt he was lyin' either (pun fully intended).
At the end of the day, Apple is all about the customer experience, or so I've been told. The hardware doesn't work for me. Prolonged typing on the chicklet keyboards introduced with the unibody MBPs has destroyed my hands. The OS doesn't work for me. You don't have to agree with me. Maybe you're right and it's not the direction that's a problem but the current manifestation. It really doesn't matter because I need to get work done today and Lion isn't the best tool for the job. I suspect Mountain Lion is going to exacerbate the problem. Maybe it won't, but you don't know either. The nice part for me is I no longer have to care. I'm much happier with my switch.
Huh? Was there some overall spirit I missed, besides a general frustration with Apple's direction overall and the latest OS X?
To that frustration one cannot reply anything, because it's vague and subjective. But one can reply to its constituents, or "pick sentence by sentence".
I take a little offense to the accusation, because technical arguments are responded to "sentence by sentence" (i.e measurable issue by measurable issue), not with generic wand having. What could have I said about the overall theme of "Apple's direction"? One doesn't even know what it means until it is broken down into specific actions and problems.
>I'm confused as to what you're trying to win though.
How about nothing? I read some statement that Lion is resource hungry and slow, and I responded to the contrary. It's a technical question, not a competition. I also tried to make heads or tails of what this dissatisfaction with Apple's direction could entail --it seemed to revolve around this Lion is slow thing too.
>* The benchmarks you provide are useless because they're synthentic. No one runs one task at a time (well, unless you use the new fullscreen mode :-P). None of the benchmarks have anything to with the task of programming, which is what the original topic was about.*
I wouldn't call those benchmarks useless. How one app runs should be indicative of how many of them run, on successive versions of the OS. Except if Apple changed the Lion's scheduler so that despite one task at a time running the same or faster, when running many tasks the performance get worse. Well, with Darwin's code being available, I guess we can check this also. In any case, anecdotal evidence with no numbers is worse than a synthetic benchmark.
As for the "task of programing", when you program you normally run "one task at a time". Mainly XCode, or Vim/TextMate. And then, after you wrote some stuff, a compiler or interpreter. Other apps running, like a terminal, are of negligible impact. Isn't programming, 99% of the time, one of the LESS resource hungry operations?
I'm a programmer too --the heaviest thing I use is a VM, in which I test my code. Seems to go along just fine with 4GB (1GB allocated to the Centos VM).
>I'd imagine if you stay under the upper bound on load, the performance is roughly on par. But, I can make an 8 GB MBP start swapping like crazy in about 5 minutes.
Alright, can you share the process? That would be easy to reproduce, or not, on SL.
In any event, I no longer own a Mac. It would be an assault on the scientific process for me to provide steps for an experiment from memory and possibly use imprecise language or miss a step. Moreover, I fail to see what it would even gain in this case, since neither of us could do anything about the results. FWIW, I did switch to Linux natively on my MBP before outright replacing it and found I hardly ever swapped, so I exhausted my options to rule out bad hardware. I'm quite certain it was the OS, but even if it wasn't and I'm just a fool, at least I'm a happy fool with my switch and that's good enough for me.
(I don't mean to turn this into a review, but just wanted a developers experienced opinion on the issues that nagged me most)
I had the hi-res matte 17" MBP. No doubt about it, that screen was nicer. But, I really don't have any complaints about my new 15" screen. I've been using it actively for about 2 months now and have gotten used to it.
The other two areas the MBP clearly win out are battery life and power supply. I couldn't really use my MBP without a Kinesis, so long battery didn't mean much. But the System76 gets about 2.5 hours like most other brands. The power supply is a beast though and adds another 4 lbs or so when traveling. It also lacks the awesome mag-safe connector.
Bonuses: comfortable keyboard, nice rubber finish, no sharp edges, integrated keypad, plenty of ports and no need for dongles, replaceable battery, easy hardware upgrades, up to 32 GB RAM (I went with 16 GB), and well-supported hardware.
The trackpad is nice. It took some getting used to since I had used a clickpad for so long.
Overall, I'm pretty happy with it. I dual-boot Win 7 for dev work and set it up such that I can access that partition as a raw disk in VMWare. While it works pretty well out of the box, it's a Linux laptop so I would expect to do some tinkering. And while it's a pretty attractive system, it has nowhere near the sex appeal of a MBP or MBA. That matters little to me. I treat it as a portable workstation and really just want to get work done. But, just be aware of what you're buying.
You really need to consider what kind of work are you going to do with your new machine. If for e.g. you are interested in GPU computing then, at least for now, a Mac computer is not a good choice.
If you are interested in having the best SSD and RAM on your laptop you can buy your Mac with the default configuration and simply buy more RAM and a SSD from Crucial, for example. From a economical point of view is cheaper to buy a 512 GB SSD from Crucial than to buy your Mac with a 512 GB SSD, same goes for RAM.