Best Mac for Programmers


Best Mac for Programmers
Best Mac for Programmers

Our Picks

Developers flock to macOS—and MacBook Pros in particular. That’s because MacBook Pro is a great choice for them: Apple hardware has excellent build quality and battery life, and Apple’s operating system provides an ideal environment for programmers.

But which Mac should you buy? While you can program on any Mac, some models offer significant advantages for coders.

Many developers value being able to work from anywhere, which means a MacBook Pro. The has a lot of advantages over its smaller sibling: more screen real estate, a more powerful processor, and a discrete graphics card that’s useful for game development.

If you’re on a budget, though, the provides fantastic value for your money and is the cheapest Mac model available. The downside: it doesn’t include a monitor, keyboard, or mouse. However, that gives you more control to select components that best suit you.

If you’re a game developer, you’ll need a Mac with a powerful GPU. Here, the gives the best bang for your buck. The smaller iMac can’t be configured as powerfully or upgraded as easily, and the iMac Pro is a lot more computer than most developers need.

In this article, we’ll cover every Mac model that’s currently available, comparing them and exploring their strengths and weaknesses. Read on to learn which Mac is best for you.

Quick Navigation

// Why Trust Us?// What Are the Computing Needs of a Programmer?// How We Tested// The Winners// The Competition// Other Gear

Why Trust Us?

I’ve advised people about the best computer for their needs since the 80s, and I’ve used Macs personally for over a decade. In my career, I’ve set up computer training rooms, managed the IT needs of organizations, and provided tech support to individuals and businesses. I recently upgraded my own Mac. My choice? A 27-inch iMac.

But I’ve never worked full-time as a developer. I have a degree in Pure Mathematics and completed several programming courses as part of my study. I’ve tinkered with many scripting languages and text editors when editing content for the web. I’ve worked with developers and taken genuine pleasure in checking out their computers and setups. Of course, all of that only gives me a small taste of what you need.

So I worked harder. I got opinions from real coders–including those of my son, who recently started working as a web developer and is purchasing lots of new gear. I’ve also paid close attention to gear recommendations from developers on the web and referenced them where relevant throughout this review.

What Are the Computing Needs of a Programmer?

Programming is a broad niche including front and back-end web development as well as developing apps for desktop and mobile. It involves many tasks including writing and testing code, debugging and compiling, and even branching in code from other developers.

Hardware needs can vary significantly among programmers. Many devs don’t need a particularly powerful computer. But while writing code uses few resources, some of the apps you write in do. Compiling code is a CPU-intensive task, and game developers need a Mac with a powerful graphics card.

Programming Software

Developers have strong opinions about software, and there are a lot of options out there. Many write code in their favorite text editor and use other tools (including command-line tools) to get the rest of the job done.

But instead of using a collection of independent tools, many choose a single app that includes all the features they need: an IDE, or Integrated Development Environment. IDEs give developers everything they need from start to finish: a text editor, compiler, debugger, and build or make integration.

Because these apps do more than simple text editors, they have higher system requirements. Three of the most popular IDEs include:

Beyond those three, there are a wide range of IDEs available—many specializing in one or more programming languages)—including Eclipse, Komodo IDE, NetBeans, PyCharm, IntelliJ IDEA, and RubyMine.

A wide range of options mean a wide range of system requirements, some of them very intense. So what does it take to run these apps on a Mac?

A Mac Capable of Running That Software

Each IDE has minimum system requirements. Because they’re minimum requirements and not recommendations, it’s better to purchase a computer more powerful than those requirements—especially as you’re likely to run more than one app at a time.

Microsoft includes a few more details in their Visual Studio Code 2019’s system requirements:

Just about every model of Mac is capable of running these programs (well, the MacBook Air has a 1.6 GHz dual-core i5 processor that’s just barely below Visual Studio’s requirements). But is that a realistic expectation? In the real world, does any Mac offer what a non-game developer needs?

No. Some Macs are underpowered and will struggle when pushed hard, especially when compiling. Other Macs are overpowered and don’t provide developers decent value for their money. Let’s look at some more realistic recommendations for coding:

Game Developers Need a Mac with a Powerful Graphics Card

You need a better Mac if you’re doing graphics, game development, or VR development. That means more RAM, a better CPU, and crucially, a discrete GPU.

A lot of game developers use Unity Core, for example. Its system requirements:

Again, those are just minimum requirements, and they come with a disclaimer: “Actual performance and rendering quality may vary depending on the complexity of your project.”

A discrete GPU is essential. 8-16 GB of RAM is still realistic, but 16 GB is preferred. Here is Laptop Under Budget’s recommendation for the CPU: “If you are into something intensive like game developing or programming in graphics, then we recommend laptops powered by Intel i7 processor to you (hexa-core if you can afford it).”

Finally, game developers need significantly more space to store their projects. An SSD with 2-4 TB of space is recommended.

Portability

Programmers often work alone and can work anywhere. They might work from home, or at a local coffee shop, or while traveling.

That makes portable computers especially tempting. While it’s not a requirement to purchase a MacBook, many developers do.

As you look over MacBook specs, pay attention to the advertised battery life—but don’t expect to get the amount claimed in the specifications. Development software can be highly processor-intensive, which can cut battery life to just a few hours. For instance, “Programmers complain that Xcode eats a lot of battery,” warns MacWorld.

Loads of Screen Space

You don’t want to feel cramped when coding, so many developers prefer a large monitor. A 27-inch screen is nice, but obviously not a requirement. Some developers even prefer a multiple-monitor setup. MacBooks come with smaller monitors but support multiple large external ones, which is super useful when working at your desk. When on the move, a 16-inch MacBook Pro has a clear advantage over a 13-inch model—unless maximum portability is your absolute priority.

What does all that mean? It means you should Include the cost of an extra monitor or two in your budget. Extra screen space can have a positive impact on your productivity. Fortunately, all Macs now feature a Retina display, allowing you to fit more code on the screen.

A Quality Keyboard, Mouse, and Other Gadgets

Developers are particular about workspaces. They love setting them up so that they’re happy and productive when working. A lot of that attention goes to the peripherals they use.

The one they spend the most time using is their keyboard. While many are happy enough with the Magic Keyboard that came with their iMac, or the butterfly keyboards that came with their MacBooks, many developers upgrade to a premium alternative.

Developers don’t want to compromise on their keyboard, and that includes the keyboard’s layout. While more compact keyboards are getting popular, they’re not always the best tool for programmers. Most prefer a keyboard with more keys over one that requires holding down multiple key combinations at once to accomplish a task.

Quality ergonomic and mechanical keyboards are terrific options for coders. We’ll recommend some options for both in the “Other Gear” section at the end of this article. Premium mice are another popular upgrade. We’ll include a list of those at the end as well.

Fortunately, all Macs include fast Thunderbolt 3 ports that support USB-C devices. Desktop Macs also have plenty of traditional USB ports, and you can purchase external USB hubs if you need them for your MacBook.

How We Tested

Now that we’ve explored what a programmer needs from a computer, we compiled two lists of recommended specifications and compared each Mac model against them. Fortunately, there are more models suitable for coding than, say, video editing.

We picked winners that are sure to give a frustration-free experience, but there’s plenty of room for your preferences. For instance:

Additionally, you need to determine whether you’ll be doing any game (or other graphic-intensive) development.

We chose winners that comfortably meet those specifications without offering costly extras. We also asked the following questions:

The Winners

Best Mac for Programming: MacBook Pro 16-inch

The is the perfect Mac for developers. It’s portable and has the largest display available on an Apple laptop. (In fact, it has 14% more pixels than the previous 15-inch model.) It provides plenty of RAM, tons of storage, and enough CPU and GPU power for game developers. Its battery life is lengthy, but don’t expect to enjoy the full 11 hours Apple claims.

This MacBook Pro is ideal for programmers, and the only Apple laptop suitable for serious game development. The default configuration comes with a 1 TB SSD, but you should seriously consider upgrading to at least 2 TB. The biggest SSD you can get is 8 TB.

RAM can be configured up to 64 GB. Get the RAM you want upfront: upgrading after you purchase it can be difficult, but not impossible. Like the 21.5-inch iMac, it’s not soldered in place, but you’ll need the help of a professional.

Storage is also not user-accessible, so it’s best to choose the desired amount when you first purchase the machine. According to OWC’s Mark C, it’s likely to be soldered in. If you find you need to upgrade your storage after purchase, take a look at our recommended external SSDs.

It also includes the best keyboard of any current MacBook. It has more travel than other models, and even a physical Escape key (despite having a Touch Bar), which will keep Vim users, among others, very happy.

While a 16-inch display is the best available when you’re on the go, you may want something larger when you’re at your desk. Fortunately, you can attach multiple large external monitors. According to Apple Support, the MacBook Pro 16-inch can handle two 5K or 6K displays. One good choice would be the LG 27MD5KB-B UltraFine 27-inch monitor, which you connect to one of its high-speed Thunderbolt ports.

Speaking of ports, this MacBook Pro incorporates four USB-C ports, which many users will find sufficient. To connect your USB-A peripherals, you’ll need to purchase a dongle or different cable. A better option may be Purgo’s aluminum USB-C hub adaptor. It’s designed specifically for MacBooks, looks fantastic, and adds additional connections, including USB-A.

While I believe this Mac is the best solution for those who want something portable, there are other options:

Budget Mac for Programming: Mac mini

The seems to be becoming increasingly popular among developers. After its significant spec bump in 2018, it’s now powerful enough to do some serious work. It’s small, flexible, and deceptively powerful—tests at ProToolsExpert give it a Geekbench score higher than a 2013 Mac Pro! If you’re after a Mac with a small footprint, it’s a great option.

The Mac mini is the cheapest Mac available—partly because it doesn’t come with a monitor, keyboard or mouse—so it’s an excellent choice for those on a tight budget.

Most of its specs compare favorably with the 27-inch iMac. It can be configured with up to 64 GB of RAM and a 2 TB hard drive and is powered by a fast 6-core i5 processor. That’s more than enough to program on. While it doesn’t come with a monitor, it supports the same 5K resolution as the larger iMac, and you’re able to attach two displays (one 5K and the other 4K), or three 4K monitors in total.

For game development, you’ll need more RAM and storage. It’s better to get the configuration you want the first time—expecting to upgrade later is not a good plan.

There is no door to replace the RAM, so, while you can upgrade it, you may need professional help. And the SSD is soldered to the logic board, so it’s not replaceable. It also lacks a discrete GPU, but you can remedy this by attaching an external GPU. You’ll find more details in the “Other Gear” section at the end of this review.

Of course, you’ll also have to purchase a monitor or two, a keyboard, and a mouse or trackpad. You may have your favorites, but we’ll recommend some models in “Other Gear” below.

Best Desktop Mac for Development: iMac 27-inch

If you do most of your coding at your desk, the is an excellent choice. It includes a large display, a small footprint, and more than enough specs to run any development app.

If you don’t need portability, the iMac 27-inch seems to be the perfect choice for coders. It has all the specs you need, even for game development, though for that we recommend you upgrade the RAM to 16 GB and the hard drive to a large SSD. You can max out the iMac’s power by choosing a 3.6 GHz 8-core i9 processor, though that configuration is not available on Amazon.

This iMac has a large 5K screen—the largest on any Mac—that will display lots of code and multiple windows, keeping you productive. For even more screen real estate, you can add another 5K display or two 4K displays.

Unlike a lot of modern Macs, it’s relatively easy to upgrade the 27-inch iMac after purchase. RAM is upgradable (all the way to 64 GB) by placing new SDRAM sticks in the slots near the bottom of the monitor. You’ll find the specifications you need on this page from Apple Support. It’s also possible to add an SSD later, but that’s a job better left to a professional.

There are plenty of ports for your peripherals: four USB 3 ports and two Thunderbolt 3 (USB-C) ports that support DisplayPort, Thunderbolt, USB 3.1, and Thunderbolt 2 (which with adapters allows you to plug in HDMI, DVI, and VGA devices).

The ports are on the back, and a little challenging to get to. The solution: add an aluminum Satechi hub that mounts to the bottom of your iMac’s screen or a Macally hub that conveniently sits on your desk.

While the iMac 27-inch is a great option, it’s not for everyone:

The Competition

1. MacBook Air

The is Apple’s most portable computer and its most affordable laptop. The Air’s specs are quite limited, and it’s impossible to upgrade its components after you buy one. Is it up to the job? If you do most of your coding in a text editor rather than IDE, then yes.

If you write your code in a text editor, this little machine may meet your needs. You’ll run into bottlenecks, though, when using it with an IDE. Its lack of discrete GPU makes it unsuitable for game development. Even though you could add an external GPU, other specs hold it back.

Its small Retina display now offers as many pixels as the 13-inch MacBook Pro. One external 5K or two 4Ks can be attached.

If you’re thinking about using one as a portable development machine, take a look at this feedback from other developers:

2. MacBook Pro 13-inch

The isn’t much larger than a MacBook Air, but it’s far more powerful. It’s a good alternative to the 16-inch Pro if you need something more portable, but it’s not as powerful or upgradable.

Like the 16-inch model, the MacBook Pro 13-inch has all the specs needed for development, but unlike its big brother, it falls short for game developers. That’s because it lacks a discrete GPU. To some extent, that can be remedied by adding an external GPU. We list some options for that under “Other Gear.”

But the 13-inch model can’t be specced as highly as the top-of-the-range MacBook Pro, and you can’t upgrade its components after purchase. If you want more screen real estate when you’re at your desk, you can attach one 5K or two 4K external monitors.

3. iMac 21.5-inch

If you want to save some money and desk space, the is a reasonable alternative to the 27-inch iMac, but be aware it’s an alternative with some compromises. Besides the smaller screen, this Mac can’t be specced as highly or upgraded as easily as the larger machine.

The 21.5-inch iMac is hundreds of dollars cheaper than the 27-inch model and will fit on smaller desks if space is an issue, but it leaves you with fewer options.

It provides more than enough power for most developers, even game developers. But if you need more power, the maximum specifications are lower than the iMac 27-inch: 32 GB of RAM instead of 64 GB, a 1 TB SSD instead of 2 TB, a less powerful processor, and 4 GB of video RAM instead of 8. And unlike the 27-inch iMac, most components can’t be upgraded after purchase.

The 21.5-inch 4K monitor has plenty of room to display your code, and you can attach an external 5K display (or two more 4Ks) via the Thunderbolt 3 port.

There are plenty of USB and USB-C ports, but they’re on the back where they’re difficult to reach. You may like to consider an easier-to-reach hub. We cover a few options when covering the 27-inch iMac above.

4. iMac Pro


TechCrunch calls the a “love letter to developers,” and owning one may make your fantasies come true. But unless you’re pushing the limits—with, say, heavy game or VR development—this is more computer than you need. Most developers would find the iMac 27-inch a better fit.

The iMac Pro takes over where the iMac leaves off. It can be configured way beyond what most game developers will ever need: 256 GB of RAM, a 4 TB SSD, a Xeon W processor, and 16 GB of video RAM. That’s more than enough room to grow! Even its space gray finish has a premium look.

Who is it for? Both TechCrunch and The Verge thought first of VR developers. “The iMac Pro Is a Beast, but It’s not for Everybody” is the title of The Verge’s review.

They go on to say, “If you’re going to buy this machine, my opinion is that you should know precisely what you plan on using it for.” They suggest those working with VR, 8K video, scientific modeling, and machine learning are ideal.

5. iPad Pro 11-inch

Finally, I leave you with a suggestion from left field that’s not even a Mac: the . This option isn’t so much a recommendation as it is an interesting option. An increasing number of coders use the iPad Pro for development.

Programming on an iPad is not the same experience as programming on a Mac. If you do most of your work at your desk, you might think about an iPad Pro instead of a MacBook Pro as a portable tool for when you’re out of your office.

The number of iOS tools for developers is growing, including text editors and iOS keyboards designed for coders:

There are even a growing number of IDEs you can use on your iPad (some are browser-based and others are iOS apps):

If you’d like to learn more about developing on an iPad Pro, these articles will give you plenty to think about:

One key point of that second article is: “The journey begins by lowering my expectations.”

A bigger 12.9-inch iPad Pro is available. Get it on Amazon.

Other Gear

Devs have strong opinions about the gear they use and the way they set up their systems. Here’s a breakdown of some popular options.

Monitors

While many developers prefer a laptop over a desktop, they also love large monitors—and lots of them. They’re not wrong. An old article from Coding Horror quotes a University of Utah study’s results: more screen real estate means more productivity.

Here are some large monitors you can add to your current setup:

A Better Keyboard

While many developers like Apple’s MacBook and Magic keyboards, quite a few opt for an upgrade. We cover the advantages of upgrading your keyboard in our review: Best Wireless Keyboard for Mac.

Ergonomic keyboards are often faster to type on, and reduce the risk of injury:

Mechanical keyboards are a popular (and fashionable) alternative. They’re fast, tactile and durable, and that makes them popular with gamers and devs alike:

A Better Mouse

Similarly, a premium mouse, trackball, or trackpad can help you work more productively while protecting your wrist from strain and pain. We cover their benefits in this review: Best Mouse for Mac. Here are a few options:

A Comfortable Chair

Where do you work? In a chair. For eight hours or more every day. You’d better make it a comfortable one, and Coding Horror lists several reasons every programmer should take the purchase seriously, including increased productivity.

Noise-Cancelling Headphones

Many developers wear noise-canceling headphones to block out the world and give a clear message: “Leave me alone. I’m working.” We cover their benefits in our review, Best Headphones for Home & Office Workers, and recommend these among others:

External Hard Drive or SSD

You’ll need somewhere to archive and backup your projects, so grab some external hard drives or SSDs for archiving and backup. See our top recommendations in these reviews:

External GPU (eGPU)

Finally, if you’ve been using a Mac without a discrete GPU and suddenly get into game development, you may run up against some performance-related bottlenecks. Adding a Thunderbolt 3-enabled external graphics processor (eGPU) will make a world of difference. Here are some we recommend:

For more information, refer to this article from Apple Support: Use an external graphics processor with your Mac.

Submit a Comment

Cancel reply