Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

beace

macrumors newbie
Original poster
Feb 13, 2024
13
3
Hi, I'm looking to buy a MacBook Pro for software development.

I'm looking at 2 different models of MacBook from Apple's Refurbished store:
  • 14" M3 Pro 11/14 36GB RAM 1TB for £1890
  • 14" M3 Pro 12/18 36GB RAM 1TB for £2030
I plan to do iOS development, web devlopment and other programming. I also plan to try game development on iOS. For these reasons, is the extra £140 a wothwhile/noticeable upgrade? If anyone can layout the pro's and con's I'd be grateful. I know the M3 Pro's are quite a bit worse than the M4 Pro so I'm also considering a M4 Pro 12/16 48GB 1TB for £2400, but I know this is overkill for my needs at the moment.
 
  • Like
Reactions: alexjordan
For iOS development and web development, the cheaper model is more than powerful enough. Realistically, neither of those two fields would particularly demanding even for the cheapest base-level M3 MacBook Pro.
 
  • Like
Reactions: pdoherty
For iOS development and web development, the cheaper model is more than powerful enough. Realistically, neither of those two fields would particularly demanding even for the cheapest base-level M3 MacBook Pro.
How about iOS game dev, would that require more GPU?
 
Hi, I'm looking to buy a MacBook Pro for software development.

I'm looking at 2 different models of MacBook from Apple's Refurbished store:
  • 14" M3 Pro 11/14 36GB RAM 1TB for £1890
  • 14" M3 Pro 12/18 36GB RAM 1TB for £2030
I plan to do iOS development, web devlopment and other programming. I also plan to try game development on iOS. For these reasons, is the extra £140 a wothwhile/noticeable upgrade? If anyone can layout the pro's and con's I'd be grateful. I know the M3 Pro's are quite a bit worse than the M4 Pro so I'm also considering a M4 Pro 12/16 48GB 1TB for £2400, but I know this is overkill for my needs at the moment.
What you need for software development is a LARGER screen. 14" is insanely small for this kind of work. You would typically have several text windows open and a browser for technical reference and maybe the app you are working on is open too. All at the same time. A lot of people use a pair of 27" screens.

OK, you need a portable computer, then go with 14" but be sure to save some money for desktop monitors.

36GB of RAM seems high but it comes in really handy if you need to run virtual machines. I have to run a Linux VM sometimes and I can just do it on my 16GB M2, 24GB would be better if you need to run Linux-based server side software on the Mac. But if you have money, 36 would be even better. If you are running VMs

If you don't need to be portable the Mini is a better deal.
 
  • Like
Reactions: chown33
What you need for software development is a LARGER screen. 14" is insanely small for this kind of work. You would typically have several text windows open and a browser for technical reference and maybe the app you are working on is open too. All at the same time. A lot of people use a pair of 27" screens.

OK, you need a portable computer, then go with 14" but be sure to save some money for desktop monitors.

36GB of RAM seems high but it comes in really handy if you need to run virtual machines. I have to run a Linux VM sometimes and I can just do it on my 16GB M2, 24GB would be better if you need to run Linux-based server side software on the Mac. But if you have money, 36 would be even better. If you are running VMs

If you don't need to be portable the Mini is a better deal.
I would prefer a 14", because I tend to travel a lot, and I have external monitors already. Would upgrading to the 12/18 from the 11/14 improve VM performance noticeably?
 
What you need for software development is a LARGER screen. 14" is insanely small for this kind of work.

If you know how to use Spaces, it's not. I develop primarily on a 14” screen. My main space is always browsers and general computing stuff. My main development environment goes in the 2nd. Notes and logs are in the 3rd. Email is in the 4th. Alternate dev environments like XCode or Android Studio go in the 5th.

I've tried to use multiple displays on a number of occasions, but could never get used to it. If you give me 3 monitors, I'll naturally end up getting fixated on only one screen and do almost everything on that one screen. I find using Spaces to be more natural for me.
 
Last edited:
What will the users of your game be using? You only need a computer that is like the one the users will have.
iOS/ iPhone :)

I’ve not had a Mac before so I’ve been researching and I’m not sure which model is best for me
 
iOS/ iPhone :)

I’ve not had a Mac before so I’ve been researching and I’m not sure which model is best for me
Runnimg a compiler or an IDE does not requires a lot of compute power or RAM. I like to think about screen size. But as a commenter above said, he switches the screens and has a good enough memory to make that work. If you eyesight is good or not matters too.

You need at least the app on the scree and the code you are working on up and maybe an open logfile. If you are smarter then me you can do that with tabs

For IOS development, eventually you will need a collection of old and new phones and iPads for testing or you can simply say "Works on my iPhone14 YMMV"

I could imagine some IOS apps needing a server-based back up to hold user data, the computer is to be able to run that too. Unless you set up a separate physical server.

If the app uses "AI" then you have the problem of training. THAT would be why you want a bigger computer. But maybe not. Do you really want to running training on your primary system? No it will kill its performance. Either use the cloud or setup another computer running Linux and a couple Nvidia cards. I know of someone doing this. Its a Yoga App that looks at you using the camera can offers corrections. Big-time compute power is needed. No one wants that running on a notebook 24x7 for weeks

It could be that your app is a game and you use Bllender to creat characters. Or o=you need to compute background music or do other "media stuff". For this most digital artest prefer to move up "one step" from the base model macs.
one more thing. Code is VALUABLE. You invest much time creating it. Be it needs a real backup system. This means multiple redundant copies and version controls. Be sure to use some of thyour budget for at least two hard drives, a fire safe (yes a fire proof box) and an online automated backup such as a Backblaze or some other.
 
Runnimg a compiler or an IDE does not requires a lot of compute power or RAM. I like to think about screen size. But as a commenter above said, he switches the screens and has a good enough memory to make that work. If you eyesight is good or not matters too.
Not trying to be contrarian here, but how hungry your IDE is really depends on what you're working on. The projects I work on can easily eat up 4-8GB of real memory at peak usage times. Fortunately, that's not sustained and the IDE I use is very amenable to swap usage so even when I had to borrow an 8GB MBP for a couple of weeks once, it wasn't a problem.

A project that can eat up that much memory also can burn up CPUs. I can't speak for other types of projects, but for the kind of stuff I work on, having CPU headroom may be more valuable than extra RAM (granted that being short of RAM will also tax the CPU extra too).

I've very rarely had any Silicon Mac stall out from being under RAM pressure, but it will stop responding when it runs out of CPU. Just earlier today, my new M4 Pro stalled out a bunch of times because I was recompiling a live project on the fly and PHP Storm was set to Goblin mode. Below's what my CPU utilization looked like.

Capto_Capture 2024-12-31_11-25-24_PM2.jpg
 
Last edited:
  • Like
Reactions: heretiq and thoroc
Runnimg a compiler or an IDE does not requires a lot of compute power or RAM. I like to think about screen size. But as a commenter above said, he switches the screens and has a good enough memory to make that work. If you eyesight is good or not matters too.

You need at least the app on the scree and the code you are working on up and maybe an open logfile. If you are smarter then me you can do that with tabs

For IOS development, eventually you will need a collection of old and new phones and iPads for testing or you can simply say "Works on my iPhone14 YMMV"

I could imagine some IOS apps needing a server-based back up to hold user data, the computer is to be able to run that too. Unless you set up a separate physical server.

If the app uses "AI" then you have the problem of training. THAT would be why you want a bigger computer. But maybe not. Do you really want to running training on your primary system? No it will kill its performance. Either use the cloud or setup another computer running Linux and a couple Nvidia cards. I know of someone doing this. Its a Yoga App that looks at you using the camera can offers corrections. Big-time compute power is needed. No one wants that running on a notebook 24x7 for weeks

It could be that your app is a game and you use Bllender to creat characters. Or o=you need to compute background music or do other "media stuff". For this most digital artest prefer to move up "one step" from the base model macs.
one more thing. Code is VALUABLE. You invest much time creating it. Be it needs a real backup system. This means multiple redundant copies and version controls. Be sure to use some of thyour budget for at least two hard drives, a fire safe (yes a fire proof box) and an online automated backup such as a Backblaze or some other.
My job will be done on my work laptop, and this one will be used for full stack web dev (my job) and iOS dev.

out of my options for you think I should get one of the M3 Pros or spend £2400 for an M4 Pro with 48gb Ram
 
Not trying to be contrarian here, but how hungry your IDE is really depends on what you're working on. The projects I work on can easily eat up 4-8GB of real memory at peak usage times. Fortunately, that's not sustained and the IDE I use is very amenable to swap usage so even when I had to borrow an 8GB MBP for a couple of weeks once, it wasn't a problem.

A project that can eat up that much memory also can burn up CPUs. I can't speak for other types of projects, but for the kind of stuff I work on, having CPU headroom may be more valuable than extra RAM (granted that being short of RAM will also tax the CPU extra too).

I've very rarely had any Silicon Mac stall out from being under RAM pressure, but it will stop responding when it runs out of CPU. Just earlier today, my new M4 Pro stalled out a bunch of times because I was recompiling a live project on the fly and PHP Storm was set to Goblin mode. Below's what my CPU utilization looked like.

View attachment 2467666
Do you £1900 for the M3 Pro 11/14 36GB is a good investment, or is the M4 Pro 12/16 48GB at £2400 is a better deal?
 
My job will be done on my work laptop, and this one will be used for full stack web dev (my job) and iOS dev.

out of my options for you think I should get one of the M3 Pros or spend £2400 for an M4 Pro with 48gb Ram

Given that 1 month ago I was doing everything I do on a 16GB M1 Pro with no issues and I'm also a full stack dev who does some iOS development, I'd say you're good to go with the M3 Pro. The only reason I chose to upgrade to an M4 Pro is because I wanted the Thunderbolt 5 port.

Do you £1900 for the M3 Pro 11/14 36GB is a good investment, or is the M4 Pro 12/16 48GB at £2400 is a better deal?
I can't really say as to what the better deal is, but you'll be plenty good to go on the M3 Pro.
 
Given that 1 month ago I was doing everything I do on a 16GB M1 Pro with no issues and I'm also a full stack dev who does some iOS development, I'd say you're good to go with the M3 Pro. The only reason I chose to upgrade to an M4 Pro is because I wanted the Thunderbolt 5 port.


I can't really say as to what the better deal is, but you'll be plenty good to go on the M3 Pro.
Thanks! I’m still undecided on the 11 or 12 core but you’ve been very helpful
 
  • Like
Reactions: heretiq
Not trying to be contrarian here, but how hungry your IDE is really depends on what you're working on. The projects I work on can easily eat up 4-8GB of real memory at peak usage times. Fortunately, that's not sustained and the IDE I use is very amenable to swap usage so even when I had to borrow an 8GB MBP for a couple of weeks once, it wasn't a problem.

A project that can eat up that much memory also can burn up CPUs. I can't speak for other types of projects, but for the kind of stuff I work on, having CPU headroom may be more valuable than extra RAM (granted that being short of RAM will also tax the CPU extra too).

I've very rarely had any Silicon Mac stall out from being under RAM pressure, but it will stop responding when it runs out of CPU. Just earlier today, my new M4 Pro stalled out a bunch of times because I was recompiling a live project on the fly and PHP Storm was set to Goblin mode. Below's what my CPU utilization looked like.

View attachment 2467666

To be fair, fixing the responsiveness under load is a simple case of learning to use the "nice" command.

Yeah I'm old and dealt with multi-user single core machines under load.
 
To be fair, fixing the responsiveness under load is a simple case of learning to use the "nice" command.

Yeah I'm old and dealt with multi-user single core machines under load.

I'm not really complaining about that. The pain is brief and like that other conversation about how long you want your battery to last vs how fast do you want to get your work done... I'm just happy to have the CPU power so that my project finishes re-indexing in 1 minute instead of 5.
 
Last edited:
  • Like
Reactions: thoroc and throAU
My job will be done on my work laptop, and this one will be used for full stack web dev (my job) and iOS dev.

out of my options for you think I should get one of the M3 Pros or spend £2400 for an M4 Pro with 48gb Ram
I’ve been developing primarily using Swift via Xcode (plus occasional python, node, and elixir projects) on a 16” 32GB, 10 core CPU/32 Core GPU, 1TB SSD M1 Max MacBook Pro since I bought it on day 1 of its availability. I also use this device to perform complex process modeling, analysis and simulation using windows-based discrete event simulation via Parallels.

The development and process simulation experience is delightful on this device and I’ve never encountered a situation that caused me to consider a device with higher specifications.

The base M3 and M4 CPUs exceed the M1 Max CPU performance and the M4 Pro matches the M1 Max GPU performance. So if your dev work relies primarily on CPU performance then either the M3 or the M4 with at least 32GB RAM should be sufficient.

However, if you intend to do any on-device LLM-based development I would consider an M4 Pro with at least 48GB RAM. I’m currently working on an on-device LLM-based iOS / iPadOS / macOS app update with my M1 Max MBP and it works, but I can see scenarios where running multiple LLMs simultaneously will increase development productivity — so I’m considering updating to a M4 Max 14 core CPU / 40 core GPU, 64 GB RAM, 2 TB SSD MBP.

This is not a necessity right now but I can see some challenges emerging in the next 6 months for my workhorse M1 Max.

I hope this helps.
 
If you know how to use Spaces, it's not. I develop primarily on a 14” screen. My main space is always browsers and general computing stuff. My main development environment goes in the 2nd. Notes and logs are in the 3rd. Email is in the 4th. Alternate dev environments like XCode or Android Studio go in the 5th.

I've tried to use multiple displays on a number of occasions, but could never get used to it. If you give me 3 monitors, I'll naturally end up getting fixated on only one screen and do almost everything on that one screen. I find using Spaces to be more natural for me.
I’m the opposite. Never can make uses of workspaces. It feels messy and unintuitive. Not that I haven’t tried on every OS I’ve had to use in the last 3 decades. More real estate space trumps any abstraction to hide some work away.
 
  • Like
Reactions: smirking
I’m the opposite. Never can make uses of workspaces. It feels messy and unintuitive. Not that I haven’t tried on every OS I’ve had to use in the last 3 decades. More real estate space trumps any abstraction to hide some work away.

It's kinda like touch typing. Nothing about that is intuitive either, but it can become effortless. If you get to that point, it's a very fast way to work for some use cases. Having to interact with lots of different programs and screens is one of them. I don't have to move the cursor over to another screen. The screen slides underneath my cursor.

I got into doing this after watching a developer blitz through dozens of screens on a 13" MBA so fast you couldn't tell what was going on. I also had some extra motivation. I was dealing with chronic hand pain at the time and couldn't turn my head to my left for long or my hand would start hurting. Moving the mouse a lot was also hard so figuring out how to make the screen come to me was a good solution.

NGL though. It wasn't easy and there are always situations where I wish I had another screen. My hands are fine now. The only thing stopping me from adding another monitor is that MacOS doesn't work well mixing multiple monitors and multiple spaces... or at least I haven't figured out how to get it to behave exactly how I'd want.
 
Last edited:
  • Like
Reactions: heretiq and thoroc
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.