Is a Mac good for programming?

Why do most professional programmers prefer Macs?

A Macbook is a great piece of machinery, that’s beyond debate. From the build quality to battery efficiency, there aren’t any machines out there that can compete with a Macbook. That being said, there are questions that come to mind when deciding to purchase a Mac. One of them being – is it a good machine to code on ?

No matter which side you are in the Windows vs Mac debate, its hard to ignore the fact that Macbooks have limitations. From a small user base to limited applications to the higher price point, there are obstacles which do not allow Macbooks to be as widely accepted as a machine running Windows. Though in some cases – such as digital content creation, Macbooks tend to be preferred, coding specifically is a domain that’s fiercely debated. On one hand, I have come across dozens of vocal Macbook supporters while on the other, Windows is clearly the preferred choice when seen by the sheer number of coders on the platform.

Therefore, we’ve decided to delve into the hot topic of discussion – not to find out which one is better – but to see how good a Macbook is for a programmer. Hopefully this article will help those readers who are in a quandary between choosing a Macbook as the primary coding machine.

Hardware

First, let’s discuss hardware. Though not extremely crucial for development, you simply cannot code efficiently on a machine that cannot keep up with you. A programmer may not need a beast of a machine, but one needs to have a machine which has decent raw power. On a hardware comparison, even the most basic Macbook is clearly not a slouch when it comes to performance. On the most expensive side of the Macbook range, the hardware just keeps getting better and better. Many individuals who work on a Mac on a daily basis will also tell you how good a Retina display is. Barring the better colour reproduction and sharp display, most people will also tell you that your eyes won’t hurt after a long day of staring at the screen.

On the flip side though, this hardware also comes at a much steeper price. While a Macbook might be mighty powerful under the hood, it is also mighty high on the price point. In the most common reason to refute a Macbook, Windows machine pride themselves in being able to offer the same raw power in a much more affordable price range. Granted, the Macbook range has a design to die for, but it was only a matter of time before other companies in the fray managed to develop laptops that could go head to head in the design department if not better than the Macbook.

Development Environment

Its needless to say it, but if you’re developing Windows apps, Mac obviously isn’t your best option. With the level of support that Microsoft’s OS has for software development for its own platform, one would be best served for developing Windows apps on a Windows machine. That being said, MacOS does have a native UNIX environment – which is what a majority of web servers use as well. In simpler terms, if the server you will eventually use runs UNIX or Linux, it makes sense to consider developing on a machine that runs on the same environment.  In simpler terms, it means that the applications you develop on a Macbook will run on the machine in the exact same way as they will on the actual server once deployed. Web applications developed using PHP, Ruby on Rails, or Node.js will work exactly as they would on the production server as will MySQL and Postgres.

Tools

The Macbook also has access to the 3 major internet browsers which means testing those aforementioned web apps on these browsers will not be an issue.  As a plus point, the Web Inspector of Apple’s native browser Safari can easily connect to an iOS simulator thus allowing you the benefit of testing these apps on tan iPhone and iPad like interface. For an iOS developer, this is an invaluable plus point.

In respect to other development tools, Macbooks play host to a number of text editors including TextMate, BBEdit, SublimeText, Atom, SubEthaEdit (with Google Docs-like live collaboration features). The Macbook range also has access to specialized developer tools like source control GUIs (Cornerstone and Versions for SVN, Tower and SourceTree for git), file comparison and merge tools (Kaleidoscope), GUI design helpers (xScope), quick-lookup documentation viewers (Dash), and file transfer tools (Transmit). In addition to these if you end up requiring access to a different development environment, there always are Virtual environments to be utilized like  VMware Fusion and Parallels Desktop.

In conclusion, there are several tools available to make Macbook a serious coding machine. For developers switching from a Windows environment, if you find some resources missing, you will also find plenty of alternatives. While the high cost of entry is a major obstacle keeping Macs out of reach for students and younger developers , if you are an experienced developer or can afford a Macbook without much investment in the Windows platform, you should consider making a Macbook your next coding device.

Delwyn Pinto
Delwyn Pinto
A person proud to have an alternate view

22 COMMENTS

      • Like the “Apple’s native browser Safari can easily connect to an iOS simulator thus allowing you the benefit of testing these apps on tan iPhone and iPad like interface.” for web based apps Chrome can also do this on windows and mac… and I’m sure he meant iOS Device not simulator if you want a simulator just use the browser capabilities they wont have any extra delay then…

  1. Well I personally prefer using a dual boot Linux + windows. Linux for open source Obviously and windows for Windows apps. As I believe there is always a way to resolve any restrictions on a Linux OS rather than a Mac.

  2. OMG. Are you kidding me? You mentioned no advantage that you can’t get in Linux, android, & even windows (well, if you tweak it — easy if you’re a real programmer).

    Out off all the programmers, script kiddies, & hackers I know (and I communicate or know most of the best ones), the ones that own a Mac use them for some play, or share with their household & friends, or Facebook. Not for real & regular full-time work. Not for corporate work. Do your research & you’ll find the same conclusion.

    For most work except for some die-hard photographers still living in the 1990s, almost nobody is doing full-time serious, successful work on an Apple product.

    For the beginners/newbie programmers Apple might offer a no-fuss advantage because they’re not a real programmer yet.

    I like my Macs, but we would never consider doing a big project, corporate opps, or anything serious on them. Even when those die hard old photographers want to try to have somebody see or sell their stuff, we process, & serve, their stuff on something else.

    Thanks for letting me post. I like my Apple products for when I’m lazy or just out for simple fun. We don’t use that stuff for real work.

  3. With Windows 10 and it’s abilities, and you still think it’s a debate? You definitely aren’t a programmer or a tech novice for that matter.

  4. “There aren’t any machines out there that can compete with a Macbook”, then, just a few words later, “its hard to ignore the fact that Macbooks have limitations”. That’s as far as I made it through this 9th grade essay. What a stupid piece of writing.

  5. This is a really bad article. There are plenty of legitimate reasons to use a mac but you barely touched on one of them and apparently don’t understand enough about Windows or Linux-based OSes to know that the other two points you made apply to every other operating system as well.

    If you’re going to write an article about this subject can you try doing some research first? This is just embarrassing.

  6. Windows just doesn’t have the required tooling and performance as osx. Just to start with homebrew and IDE performance..or running a server..windows and its handling of file systems is a real hindrance here..running a website on local server..on mac or linux the response time is in milliseconds while on windows in seconds..and the performance of the machine will not change anything. So while you can find notebooks with the same performance as a MAC..to biggest plus for a MAC is the combination with OSX which uses the hardware to its full potential..not mentioning retina and battery life 🙂 ..Linux is a great alternative although the tooling is not as great and the os stability and DX is worse than OSX

    • Totally agree.
      And Sketch is the Best tool for designers, it exports the design as json which you can easily import to your reactjs app…. I am .Net developer, moving to .Net core because it’s cross-platform and it has great performance on Mac.
      Stability of the system and performance for me is killing Windows, and Windows is a scam…

  7. The article deals only with win/iOS and web development. But in software development world there is much more – Java, Ruby, Linux apps, embeded devices etc. As a Java developer I’v met only one developer who worked on Apple.
    The MacBooks are great in design and in quality. Performance wise they are not so competitive, compared to windows notebooks. You can get better performance and equal build quality windows machine. Than there is an issue with upgrades. Most windows notebooks can be easily upgraded with more RAM or larger/bigger hdd, so you can keep your win notebook running for many years.
    Regarding software/OS a windows notebook is better choice. More tools, bigger community. For development you have all the tools as on Mac + some more, like Eclipse or Idea. With Linux installed it is equally good choice. The only drawback of linux notebooks is battery life, which is often worse than for windows.
    Sumary: MacBooks are great design, great build quality, portable, but that’s it. Not really first choice for sw development.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Read More

Suggested Post