In all seriousness, a few of the other notes here are good advice. I'm an old IT guy and I've been in software development a long time. It really depends on what you're coding.

For web stuff, any machine will do. Mac makes some lovely devices (I own three) and they're all going to do great for that.

If you're learning how to code apps for phones, Macs are again an excellent choice because you'll be able to develop for iOS and Android on the same machine.

If you're going to do systems programming (what I do) macs are *not* a good choice. You'll end up doing most of your work in a virtual machine to make that work on a mac, which is a horrendous experience. Coding should be done on bare metal.

For that, you'll want a PC, and you'll buy hardware according to what sub-field you'll be working in. RAM will be important, and core-count can make a difference in the speed of your builds. If you're working in machine learning, or 3d graphics, you'll need a good graphics card (Nvidia is best for ML).

Windows is an excellent choice for coding, again, depending on your target. I've spent over a year writing Qt applications for Linux using Visual Studio + WSL (Windows Subsystem for Linux). I also used to write applications using WPF that dealt with substantial amounts of data aggregation and search. Visual Studio is a big, giant, lumbering beast, but is unrivalled in how easy debugging and profiling is with it.

The wonderful thing about getting a PC is you won't be limited to Windows though. About six months ago I finally returned home to Linux (I run Arch, btw) and it runs nicely on the same machine I run Windows 11 on, and they coexist nicely. I recommend getting a separate hard drive for Linux to avoid bootloader issues.

If you decide to run Linux, there are several great (and free) choices. There are also excellent IDE's available - I use Rider and CLion from JetBrains for instance - that will make the experience more comfortable.

This is a long post, but I hope it helps you contemplate your purchase. There is no blanket answer for "best for coding." Over the 20+ years I've been doing it, I've learned there are different tools for various kinds of coding. You can force anything to work, but some will be much easier to use depending on the job.

Reply to this note

Please Login to reply.

Discussion

Amazing advice! Thank you! I want a new want just for Machine Learning and web development too.

It sounds like Gary's advice may be spot on then. A gaming computer with a Nvidia video card would serve you well.

You can always learn about Linux on it along the way.

Ok great! Thank you!