A free open-source package manager. This solution provides a simple way to install. Because you have paid 1300$+ for an expensive laptop in order to learn programming. So you are bound to be hooked to programming just to get your money’s worth. On a serious note there is no benefit, only if you not are making or building Apple ba.
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:
In short, it offers many of the great programming utilities and languages found in Linux distros and leaves the headaches of Windows behind, all while providing a world-class, flexible, UI. But, I'd agree with you in questioning why people would prefer solely OS X for general programming. Not very good for that.
- 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:

- Battery life is something to consider if you are looking to buy a Mac laptop for programming. Programmers complain that Xcode eats a lot of battery, so expect to be using the charger.
- I am programming a django based website. I actually use a small computer under Ubuntu 10.04. I would like to buy something more professional, so I am wondering whether an iMac is good for that, bec.
- 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
Best Programming Language For Mac
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 article.
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.
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.
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. Shortcut keys for mac excel.
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
Is Mac Good For Programming Apps
Looking for a second-hand Mac? The following models should be fast enough for Xcode, but YMMV!
Is Mac Good For Programming
- 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?
Is Mac Good For Programming For Beginners
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.
Are you a programmer? If yes, you had 3 questions with coding tools. What’s best text editor (IDE)? What’s best programming font? What’s best code color scheme? I got them like you and I spent more than 1 years to choose and using Monaco as programing font but I’m still looking for better programing font than Monaco
I’m using VIM as my default code editor, thankfully, I don’t take too much time to pick it. I felt in love with VIM after tried Emacs, GEdit, NetBean, Eclipse … but the next step to choose a good font that takes too much time than I expected.
Here is a list of my favorite programming fonts that I have tested. I’ve used Linux for 7 years, I take screenshot of each font in VIM with Full of Anti-aliasing. So I can’t really say anything about how these fonts look on Windows or Mac OS, let’s test by yourself but I guess it’s the same.
Programing Fonts Requirement
Most variable-width fonts are not suited for code because programming fonts have different requirements than text fonts. Here are some of the things I’m looking for in a font for coding:
[digitalocean]
- Monospaced assignment operators nicely line up and make aligning code easier. Coding is easiest for most developers when using a fixed-width font.
- Clear and highly readable: The font that I’m looking for must has clear letters, with easily distinguishable punctuation and between certain common characters like zero and O character, 1 and l and | … The font should be easily legible at any size, and in particular at small sizes.
- Unicode to display almost characters with any languages
1. Monaco, Regular, 10pt
This font is my default font. It’s excellent font, originally from the Mac. Monaco shines for legibility at non-antialiased small sizes, when you really want to maximize your on-screen code. This font looks great at 9 or 10-points.
2. Consolas, Regular, 11pt
Consolas is specifically designed to work with ClearType, so may become highly aliased when ClearType is not turned on. Consolas is a commercial font, but is bundled with many Microsoft products, so there’s a good chance you might already have it to use on Mac, Linux. It comes with the newer Windows and it’s a VERY high quality font.
3. Inconsolata, Medium, 12pt
It seems fuzzier than necessary and some letters end up with a nib below them. Inconsolata is designed to be used with anti-aliasing enabled, but it’s surprisingly legible even at very small sizes.
4. Anonymous Pro, Regular, 11pt
Anonymous Pro (2009) is a family of four fixed-width fonts designed with coding in mind. Anonymous Pro features an international, Unicode-based character set, with support for most Western and Central European Latin-based languages, plus Greek and Cyrillic.
There are two versions: Anonymous Pro and Anonymous Pro Minus. Anonymous Pro contains embedded bitmaps for smaller sizes, Anonymous Pro Minus does not.
5. DejaVu Sans Mono, Book, 10pt
This nice open source font family is derived from the Bitstream Vera family, itself close to the Microsoft core Web fonts. Its purpose is to provide a wider range of characters while maintaining the original look and feel through the process of collaborative development.
6. Terminus, Regular, 12pt
Terminus Font is a clean, fixed width bitmap font, designed for long (8 and more hours per day) work with computers, remember to turn off aliasing. Terminus is the closest thing to 6×13 fixed that comes pre-packaged on modern Linux distributions.
7. Source Code Pro, Light, 10pt
Source Code Pro is a set of OpenType fonts that have been designed to work well in user interface (UI) environments. An open source programming font released by Adobe, made with the intent of maximizing usability and avoiding common design flaws in monospaced fonts.
8. Bitstream Vera Sans Mono, Roman, 11pt
It has a fully-serifed i and excellent numerals, and a lowercase. The Bitstream Vera Sans Mono typeface in particular is suitable for technical work, as it clearly distinguishes ‘l’ (lowercase L) from ‘1’ (one) and ‘I’ (uppercase i), and ‘0’ (zero) from ‘O’. I’m using it as default font of Arch Linux.
9. Envy Code R, Regular, 10pt
This typeface contains over 550 glyphs providing full complements for DOS, Windows and Mac versions of the US, Western, Central Europe, Turkish, Baltic, Icelandic and Nordic code-pages. This hits several Unicode ranges including Basic Latin, Latin-1 Supplement, Latin Extended A & B, Box Drawing, Block Elements, Letterlike Symbols, Number Forms, Arrows…
This font offers well distinct programming characters like {} vs. () and the classically confusing 0O and 1lI. Quite narrow (like Anonymous Pro) but squarish, the letters are easy to read and offer a pleasing reading experience.
10. Monofur, Regular, 13pt
monofur is a monospaced font (all characters have the same width) derived from the eurofurence typeface family. It shares the same style characteristics, but the proportions of most characters have been recalculated to fit into a 1:2 character cell. It’s one of the more quirky fonts among those favored by programmers (for things like its unique “e” and “g”).
Conclusion
You won’t find the best programing fonts that is suitable for every developers because choice of programming font is as much a personal preference as anything else.
Of course there are many more fonts out there but as mentioned above, they are my favorite programing font that I’ve tested with VIM. All the fonts discussed here are good choices for programmers, so use whichever font appeals to you.
Have I listed or missed your programming font of choice? If you have a favorite font, let me know, I really would like to know which fonts you are prefer. All comments welcome!
