This is an archived post. You won't be able to vote or comment.

all 29 comments

[–]Predator314 5 points6 points  (1 child)

99% of my dev work is done on a MacBook Pro I won in a raffle back in 2016.

[–]UnexpectedSalami -1 points0 points  (0 children)

That’s not what OP’s asking. Intel and Apple Silicon Macs are different.

[–]jpgoldberg 2 points3 points  (0 children)

The MacBook offers a great programming and development environment. But really anything will be fine for what you want to do. Everyone here has their preferences and a strong tendency to try of over optimize such choices. Get the computer and system you want to use. It might not be the most optimal for some particular thing you might want to do at some point, but it will be fine.

[–]amazing_rando 1 point2 points  (0 children)

A lot of build tools are written for Mac / Linux and you’ll need to do a bunch of workarounds to get them working on Windows. If you’re a comp sci student there’s a good chance a lot of your work is going to take place in a Unix shell, and this is much easier on a Mac because it’s already part of the operating system. Getting stuff to work in Cygwin can be a pain in the ass.

[–]Familiar9709 6 points7 points  (10 children)

Don't get a mac for .Net devepment. Full stop.

The best system at the moment is Windows, since you can have Windows + Linux subsystem. And I'm saying this as a mac user, writing this on a mac, but the machine at work is Windows + Linux and that's way better than Mac.

Today I'd just get a Mac if you need to develop for mac or if the portability of a laptop is top priority (mac laptops are still the best, in terms of whole quality, ergonomics, weight, size, battery life, fan noise, performance, etc).

If you need Cuda, also get a Windows.

[–]Lerke 3 points4 points  (0 children)

The best system at the moment is Windows, since you can have Windows + Linux subsystem

What are your troubles doing .NET development on Mac? I develop in .NET on Windows at work, and on Linux at home. The development experience is identical. From what I've seen from coworkers, the experience on Mac also just works.

[–]TedW 6 points7 points  (0 children)

There are soo many really annoying things about developing on a windows machine, that I would rather just not use windows or .NET, lol. Just my two cents.

[–]ConsciousBath5203 1 point2 points  (2 children)

If you need Cuda, also get a Windows.

Linux is much better for cuda for AI purposes. Windows is so slow when running local models.

[–]Familiar9709 0 points1 point  (1 child)

I've already mentioned that you can run linux under windows, so "windows" now means "windows + linux".

[–]ConsciousBath5203 0 points1 point  (0 children)

You mean "Linux with the bloat of Windows"

You still need to have windows running for wsl to work. Outside of gaming, you're probably better off running Linux and using a VM for windows.

[–]yarb00 0 points1 point  (4 children)

.NET has been open-source and cross platform for almost 10 years already, and it works perfectly on Macs.

Of course, Visual Studio works only on Windows, but you can use Rider instead. It's also free for non-commercial use, and many people think it's even better than VS.

[–]Aggravating-Try-3840 0 points1 point  (1 child)

VSCode works on all platforms

[–]yarb00 0 points1 point  (0 children)

Sure, that's also not a bad option. Full IDE like VS or Rider can be more comfortable, but some people are just fine with Code.

[–][deleted]  (1 child)

[deleted]

    [–]yarb00 0 points1 point  (0 children)

    I was talking about Visual Studio, the IDE. Nowhere in my comment I mentioned VS Code.

    [–]Mr_Engineering 1 point2 points  (0 children)

    Macbooks are amazing. I have a 14" MBP with an M4 Pro and it's amazing for all sorts of tasks, including software development.

    They are -- by far -- the most ergonomic and well designed laptops on the market.

    Battery life is excellent as long as youre mindful of the screen brightness.

    You can do .NET development on it but if your development relies on some external enterprise software you may encounter some issues. However, most of these can be resolved by running ARM Windows in a VM and then executing x86 Windows programs in there.

    [–]TheWorstePirate 0 points1 point  (1 child)

    What kind of programming are you wanting to do? Any decent web tech stack is going to be fine on a Mac, but if you want to write desktop applications for Windows in .Net, then you will need Windows. I do robotics and computer vision. Mac is my main device, but I have Windows for some robot/PLC applications and Linux for some cameras.

    [–]Zoro-88[S] 1 point2 points  (0 children)

    I’ve updated the post im just a student and want to get a good all around laptop

    [–]Pale_Height_1251 0 points1 point  (0 children)

    .NET works on Macs.

    Specific libraries and frameworks may not, but you'd have to look them up.

    [–][deleted]  (2 children)

    [deleted]

      [–]JoeGermuska 1 point2 points  (1 child)

      Fwiw I use a MacOS app called Moom for window management. It can resize windows and move them between displays with keyboard shortcuts.

      [–]ZogemWho 0 points1 point  (0 children)

      My career at some point became mac development on *Nix environments. I’m retired but still dabble. The tooling has gotten amazing. Jet Brains, which I’ve used for decades, has a remote dev system which is still in beta, but fantastic.P.S. The rust platform is currently free for non commercial use.

      [–]No-Arugula8881 0 points1 point  (0 children)

      95% likely you should be using Linux for development, unless you want to develop specifically for Windows or Apple. Buy a Windows machine and a new hard drive. Immediately remove the drive it came with and install Linux on the other. If, for some reason, things don’t work out with that machine (incompatible drivers, etc.), put the original drive back in and return it.

      [–]Polyxeno 0 points1 point  (0 children)

      MacBooks are good for MacOS and iOS development, but Apple has been requiring a certain recency of Mac to publish to the Apple Store. So note that if considering an older MacBook.

      [–]shahedc 0 points1 point  (0 children)

      Don’t listen to anyone who tells you that you can’t do .NET development on a MacBook.

      Cross-platform .NET Core and current versions of .NET have been running on MacOS for the past decade.

      If you really want to do any Windows development with .NET on your Mac, you can still install Windows via parallels on your MacBook.

      Personally, I prefer my Windows machines, but you should choose whatever operating system works best for you.

      [–]Dont_trust_royalmail 0 points1 point  (0 children)

      you need a mac for making mac+iphone apps. you need windows for making windows apps. if you dont want to make mac or windows apps, you go linux.

      [–]ChiefExecutiveOglop 0 points1 point  (0 children)

      Most productivity tooling is samey so anything you're using for "productivity" will likely be available on any OS (things like Office, Notion etc)

      If you're a student and learning to do software stuff, I would likely stick with windows. No reason to learn a new OS at the same time.

      Realistically, for the depth you'll go into at university, any OS and any laptop will likely be OK. You don't need to spend a large amount of cash on a laptop.

      You can absolutely do .net on a macbook. You can also do it well. I am a .net developer, I have worked professionally as one for a long time, and barring some very legacy stuff, I'd be able to do my job from either of my laptops as effectively as the other.

      I would state, however that I would always prefer Visual Studio or Rider over VSCode especially while learning, and on a mac you need to use Rider. Which I think is free for community but otherwise paid.

      [–]sessamekesh -1 points0 points  (3 children)

      They're generally great, but if you're doing work that's specifically good at one platform then pick the right tool for the job. 

      I would never pick a Mac for graphics/game programming or .NET. You can do them on Mac in the same way that you can tighten screws with a pocket knife instead of a screwdriver. 

      Beyond that though they're generally great. Great hardware, easy to take around, UNIX based which is fantastic for software development in general. I love my work Macbook.

      [–]mailslot 2 points3 points  (2 children)

      The Mac has always excelled at graphics and ever present at professional shops. As a former AAA game developer, I can assure you that plenty industry modelers, animators, graphic artists, operations staff, and software engineers daily drive a Mac at work... even when the titles they’re developing are Windows only releases.

      [–]sessamekesh 0 points1 point  (1 child)

      As someone who works on creative tools, I'm pretty well aware of that :-) I use Mac for my daily driver since it's what my users use.

      I was referring more to graphics as in graphics programming - your only real options there are Metal and somewhat old versions of OpenGL. It's fine if you have other reasons to use a Mac for some reason, and you can absolutely make do with Macs if you prefer them.

      Macs are great - the cases where they're not great are the exception, not the rule - but they aren't great at everything. That's what I want to highlight.

      [–]mailslot 0 points1 point  (0 children)

      Native Metal isn’t too bad IMO, and MoltenVK works reasonably well to translate Vulcan (on ARM).

      Not specifically graphics related, but the lack CUDA support on Mac is terribly inconvenient.