The new Apple MacBook Air (M1, 2020) isn't just the best laptop Apple has ever made, it's one of the best laptops for programmers. Fill in the various fields, as you wish, and select C from the Language popup. At this point, you’ll need to learn about how to enter code into the editor, build (compile and link. Graphics cards are not going to really matter in programming unless you’re doing some serious gaming so I’m sure MacBook Air would be just fine. Enea September 10, 2020, 8:54pm #10. #MacBookAir #programmingIs MacBook air good for programming? This is the most asked question in my inbox and I have answered it in this video.

  1. Macbook Pro Vs Air For Coding
  2. Macbook Air 2020 For Coding

Updated Dec 23. 2020

On November 10th, 2020, Apple revealed details of the M1 chip and announced a few updated computers in the Mac line-up that are built on the new Apple Silicon. What does this mean for Software Developers and Engineers? Should you get one?

The new models available are:

Ultimately, the best computer for software development is the one that fits the specification for your projects and desired workflow.

Let’s take a look at some points to consider when trying to decide if you should upgrade to the new MBP 13″.

Hardware

Depending on the type of development you’re doing, your hardware priority may shift. To cover a wide range of development tasks consider the full-stack developer; working on a web app with a backend such as Java, Python, NodeJS, or Dart.

Development Considerations

  1. SSD Storage
  2. Memory / RAM
  3. GPU
  4. CPU
  5. Battery life

SSD

Macbook air for coding

While developing for websites, mobile apps, or cross-platform apps, or interacting with files the number one priority is usually a lightning-fast SSD.

According to this post on Macrumors.com, one user noted that the SSD on their new Macbook Air was 2X faster than the SSD in the previous generation 2019 Macbook Air. The write speed increased from 1007MB/s to a 2190MB/s – that’s wild!

Considering that the SSD affects literally all parts of the development cycle, updating to the new M1 Mac may be a good choice if you currently use the Macbook Air.

If you assume that these findings scale (even if it’s only half as good) across the other models. The SSD that ships with the M1 Mac are not game-changers, but, would be a massive improvement to the QoL for a developer.

GPU and RAM

Next, the GPU and RAM are crazy important if you are manipulating media for the application, designing new screens/icons/images/logos, or rendering video content.

According to Apple, the GPU outperforms many of the competitor PCs in graphics capabilities. However, at this time the M1 architecture does not allow for the use of Apple’s eGPU to boost performance. Even without engaging the fans, the new M1 GPU cores outperform the previous generation of Intel graphics.

Air

One issue with the M1 architecture is that it does not allow for connecting an external eGPU. This means that you won’t be able to super-charge your graphics performance for rendering or gaming in your off-time. If you wouldn’t use an eGPU anyway, then, the upgrade is worth it. Several sources show that the M1 is able to render RAW and 6k images on par with the previous generation 16″ MBP and Mac Pro.

The usability of Memory is very difficult to quantify at this time. With a 16GB maximum for all of the new Mac seems a bit weak. Previous generations of Macbook Pro supported up to 64GB of memory. If having a huge memory stash is important to your workflow, stick with the Intel variations.

Yet, with the new M1 architecture it may be possible for the MBP to use the 8GB more efficiently to achieve the same results a PC with 12GB or 16GB might. Because of the integrated architecture, memory usage with M1 is considerably more efficient. That being said, some have reported that the difference between the 8GB and 16GB M1 Macbooks did not make a significant difference in performance. Very weird.

iPhone users will be quick to point out that the current iPhone 12 has only 4GB of memory and performs just as fast as Android devices with 8GB+.

CPU

The speed of the CPU is important for development and the M1 architecture stands out with some impressive boasts of performance. The first-hand experience says that you can tell the new MBP is snappy while maintaining excellent battery life. Available threads that perform at a variety of speeds is excellent for development.

When comparing the M1 to the i7 1185G7, which is commonly used in PCs with an approximate price range of $1,100-$1,999, the statistics are very intriguing. To get a feel for the differences, take a look at the Cinebench and Geekbench scores.

M1Intel i7 1185G7
Single-Core Score1,5161,548
Multi-Core Score7,6986,263
Single-Core1,7781,518
Multi-Core7,5186,097

Considering that the performance is at least on-par with an industry-leading Intel chip, the M1 should be a solid competitor. oh, wait, one other thing. The M1 didn’t even turn on the fan for most of these tests, these results were achieved by using a fraction of the heat and a fraction of the power consumption. In some cases, the consumption was at must as 6x lower than the comparable Intel chip.

Worth the upgrade if you have an older generation Mac.

Battery

According to several reviews of the new MacBook Pro, while under the same conditions, the new generation shows a significant increase in battery life as well as a decrease in the overall temperature. Less energy wasted as heat.

When compared to the Dell 13″ XPS, a similarly powered and sized Pc, the battery life of the M1 MacBook Pro boasted over 16 hours of casual browsing; where the XPS has a decent but underwhelming 11 hours of browsing.

For strictly battery life, this isn’t a huge deal if you sit at a desk and plugin for development. But, considering how much cooler and quieter the MacBook runs, the battery is a win in my books.

Memory Revisited – Dual Boot

In some cases you may need to configure your MacBook with Dual-Boot or using Parallels and run Windows alongside MacOS. This is where the memory really becomes a stretch from a hardware perspective.

With optimized apps and Rosetta2 on Mac might make the M1 chip better utilize memory for MacOS like Big Sur, yet, Windows 10 will not have these optimizations. When you boot up into Windows, you’ve just got a Windows laptop with 8GB of memory…welcome back to 2014.

When using Parallels or VirtualBox vs a true dual-boot you run into even more of a memory issue as the memory needs to be shared between macOS and Windows, evenly splitting the RAM gives you what? …4GB… No thanks.

If running Windows in a VM is a requirement for your workflow, please, DO NOT GET AN M1 Mac – of any kind.

In the near future, as soon at Spring/Fall of 2021 you can expect that the M1X and M2 chips will become available. Along with this we can expect further improvements to performance as well as large capacities for RAM.

IDE Compatibility

Macbook air for medical billing and coding

Most existing applications that run on MacOS will continue to run on the new M1 chip, thanks to Rosetta 2. However, in order to get the most out of the new architecture apps need to be re-written into “Optimized Apps”.

Without being an optimized app, your current apps will – at best – perform the same as they do already. What does this mean for the IDE? Right now, only Xcode12 is optimized. Other IDEs are a work in progress.

VS Code – Optimized App?

As of now, VS Code has a defined outline for the upgrade to an “optimized app” for Apple silicon and Big Sur. Yet, still accessible through Rosetta 2. You can get a dev build of VS Code if you’re into that. Otherwise, you can follow the Github issue where the roadmap is defined.

Eclipse – Optimized App?

No. However, there are discussions within the project about what support for M1 looks like. Be careful because Eclipse does have a release name “M1” which should not be confused with Apple’s M1 chip, it does not imply support.

IntelliJ – Optimized App?

As of Wednesday November 11th, 2020, the IntelliJ team stated that they are in the process of optimizing the IDE for Apple Silicon. Yet, the IDE works with Rosetta 2.

Conclusion

At this time, I recommend that most developers should consider upgrading to the M1/M1X chips if you are currently due for an upgrade and you don’t require Windows.

However, if you’re considering getting the new MacBook Pro 13″, Mac Mini, or Macbook Air for software development and you require Windows or you are not in desperate need of an upgrade…don’t buy it.Wait for the next iteration of M1 or even M2 to come with the 16″ MacBook Pro.

The current set of devices that are available are a test for Apple. I will personally reconsider the M1 chip once the 16″ MBP, iMac, and Mac Pro are updated.

In order to consider moving to the new Mac line-up Apple would need to do the following:

  • Allow for increased Memory/RAM (minimum 16GB, 32GB+ is preferable)
  • Allow for the use of eGPU or seriously upgrade the encoders
  • More non-Apple companies start creating builds for the latest Apple architecture
Coding

How fast does your MacBook need to be to comfortably code iOS apps with Xcode? Is a MacBook Pro from 2-3 years ago good enough to learn Swift programming? Let’s find out!

Here’s what we’ll get into:

  • The minimum/recommended system requirements for Xcode 11
  • Why you need – or don’t need – a fancy $3.000 MacBook Pro
  • Which second-hand Macs can run Xcode OK, and how you can find out

I’ve answered a lot of “Is my MacBook good enough for iOS development and/or Xcode?”-type questions on Quora. A few of the most popular models include:

  • The 3rd- and 4th-gen MacBook Pro, with 2.4+ GHz Intel Core i5, i7, i9 CPUs
  • The 2nd-gen MacBook Air, with the 1.4+ GHz Intel Core i5 CPUs
  • The 4th-generation iMac, with the 2.7+ GHz Intel Core i5 and i7 CPUs

These models aren’t the latest, that’s for sure. Are they good enough to code iOS apps? And what about learning how to code? We’ll find out in this tutorial.

My Almost-Unbreakable 2013 MacBook Air

Since 2009 I’ve coded more than 50 apps for iOS, Android and the mobile web. Most of those apps, including all apps I’ve created between 2013 and 2018, were built on a 13″ MacBook Air with 8 GB of RAM and a 1.3 GHz Intel i5 CPU.

My first MacBook was the gorgeous, then-new MacBook White unibody (2009), which I traded in for a faster but heavier MacBook Pro (2011), which I traded in for that nimble workhorse, the mighty MacBook Air (2013). In 2018 I upgraded to a tricked out 13″ MacBook Pro, with much better specs.

Frankly, that MacBook Air from 2013 felt more sturdy and capable than my current MacBook Pro. After 5 years of daily intenstive use, the MacBook Air’s battery is only through 50% of its max. cycle count. It’s still going strong after 7 hours on battery power.

In 2014, my trusty MacBook Air broke down on a beach in Thailand, 3 hours before a client deadline, with the next Apple Store 500 kilometer away. It turned out OK, of course. Guess what? My current MacBook Pro from 2018, its keyboard doesn’t even work OK, I’ve had sound recording glitches, and occasionally the T2 causes a kernel panic. Like many of us, I wish we had 2013-2015 MacBook Air’s and Pro’s with today’s specs. Oh, well…

Learn how to build iOS apps

Get started with iOS 14 and Swift 5

Sign up for my iOS development course, and learn how to build great iOS 14 apps with Swift 5 and Xcode 12.

That 100 Mhz i486 PC I Learned to Code With

When I was about 11 years old I taught myself to code in BASIC, on a 100 Mhz i486 PC that was given to me by friends. It had a luxurious 16 MB of RAM, initially only ran MS-DOS, and later ran Windows 3.1 and ’95.

A next upgrade came as a 400 Mhz AMD desktop, given again by friends, on which I ran a local EasyPHP webserver that I used to learn web development with PHP, MySQL and HTML/CSS. I coded a mod for Wolfenstein 3D on that machine, too.

We had no broadband internet at home back then, so I would download and print out coding tutorials at school. At the one library computer that had internet access, and I completed the tutorials at home. The source codes of turn-based web games, JavaScript tidbits and HTML page snippets were carried around on a 3.5″ floppy disk.

Macbook Pro Vs Air For Coding

Later, when I started coding professionally around age 17, I finally bought my first laptop. My own! I still remember how happy I was. I got my first gig as a freelance coder: creating a PHP script that would aggregate RSS feeds, for which I earned about a hundred bucks. Those were the days!

Xcode, iOS, Swift and The MacBook Pro

The world is different today. Xcode simply doesn’t run on an i486 PC, and you can’t save your app’s source code on a 1.44 MB floppy disk anymore. Your Mac probably doesn’t have a CD drive, and you store your Swift code in a cloud-based Git repository somewhere.

Make no mistake: owning a MacBook is a luxury. Not because learning to code was harder 15 years ago, and not because computers were slower back then. It’s because kids these days learn Python programming on a $25 Raspberry Pi.

I recently had a conversation with a young aspiring coder, who complained he had no access to “decent” coding tutorials and mentoring, despite owning a MacBook Pro and having access to the internet. Among other things, I wrote the following:

You’re competing with a world of people that are smarter than you, and have better resources. You’re also competing against coders that have had it worse than you. They didn’t win despite adversity, but because of it. Do you give up? NO! You work harder. It’s the only thing you can do: work harder than the next person. When their conviction is wavering, you dig in your heels, you keep going, you persevere, and you’ll win.

Winning in this sense isn’t like winning a race, of course. You’re not competing with anyone else; you’re only really up against yourself. If you want to learn how to code, don’t dawdle over choosing a $3.000 or a $2.900 laptop. If anything, it’ll keep you from developing the grit you need to learn coding.

Macbook Air 2020 For Coding

Great ideas can change the world, but only if they’re accompanied by deliberate action. Likewise, simply complaining about adversity isn’t going to create opportunities for growth – unless you take action. I leapfrogged my way from one hand-me-down computer to the next. I’m not saying you should too, but I do want to underscore how it helped me develop character.

If you want to learn how to code, welcome adversity. Be excellent because of it, or despite it, and never give up. Start coding today! Don’t wait until you’ve got all your ducks in a row.

Which MacBook is Fast Enough for Xcode 11?

The recommended system specs to run Xcode 11 are:

  • A Mac with macOS Catalina (10.15.2) for Xcode 11.5 or macOS Mojave (10.14.4) for Xcode 11.0 (see alternatives for PC here)
  • At least an Intel i5- or i7-equivalent CPU, so about 2.0 GHz should be enough
  • At least 8 GB of RAM, but 16 GB lets you run more apps at the same time
  • At least 256 GB disk storage, although 512 GB is more comfortable
  • You’ll need about 8 GB of disk space, but Xcode’s intermediate files can take up to 10-30 GB of extra disk space

Looking for a second-hand Mac? The following models should be fast enough for Xcode, but YMMV!

  • 4th-generation MacBook Pro (2016)
  • 3rd-generation Mac Mini (2014)
  • 2nd-generation MacBook Air (2017)
  • 5th-generation iMac (2015)

When you’re looking for a Mac or MacBook to purchase, make sure it runs the latest version of macOS. Xcode versions you can run are tied to macOS versions your hardware runs, and iOS versions you can build for are tied to Xcode versions. See how that works? This is especially true for SwiftUI, which is iOS 13.0 and up only. Make sure you can run the latest!

Pro tip: You can often find the latest macOS version a device model supports on their Wikipedia page (see above links, scroll down to Supported macOS releases). You can then cross-reference that with Xcode’s minimum OS requirements (see here, scroll to min macOS to run), and see which iOS versions you’ll be able to run.

Further Reading

Awesome! We’ve discussed what you need to run Xcode on your Mac. You might not need as much as you think you do. Likewise, it’s smart to invest in a future-proof development machine.

Whatever you do, don’t ever think you need an expensive computer to learn how to code. Maybe the one thing you really want to invest in is frustration tolerance. You can make do, without the luxury of a MacBook Pro. A hand-me-down i486 is enough. Or… is it?

Want to learn more? Check out these resources:

Learn how to build iOS apps

Get started with iOS 14 and Swift 5

Sign up for my iOS development course, and learn how to build great iOS 14 apps with Swift 5 and Xcode 12.