DEV Community

Cover image for Let's Talk Windows vs macOS
Andrew Davis
Andrew Davis

Posted on

Let's Talk Windows vs macOS

When I started writing websites professionally, my work computer ran Windows so I had to learn to set up PHP and Laravel using IIS (an unpleasant experience). However, my personal computer was a 2015 MacBook Pro and I really liked the Bash terminal, Homebrew and Valet. When I moved to my current employer, I had the option to have an HP laptop or a MacBook so I naturally chose the MacBook. I became a full Apple convert. It was really easy to work on web development because macOS is so similar to Linux. Homebrew makes package installation really easy. PHP runs really well on macOS because of the Unix environment. I was ready to ride in the sunset as a satisfied Apple customer.

Well guess what? I am writing this blog post on Windows right now.

Shocked Animals

You do not hear many stories about users going back to Windows after switching to Mac. So what happened?

Well first off, I am not a total Microsoft convert. I still use a MacBook for work and am generally happy with it. I recently got an upgrade to a 2019 MacBook from my employer and it works well. I want my escape key back (my pinky shudders on the cold Touch Bar every time I exit Vim), but overall it is a solid laptop.

At home, my personal computer is a custom assembled PC running Windows. This year my 2015 MacBook started showing its age. I also was running out of space on the hard drive. 256GB does not go very far these days. I found that I was not using the laptop part of my MacBook very much. Generally, I just used it on a desk and it never left the house. When I looked at the prices of a new Mac, an equivalent replacement to what I had would have cost me $2400 (USD) which was not worth it to me because I use my personal computer mainly for blogging, streaming and small side projects. So it was then that I decided to try my hand at building a PC. I ended up with a desktop PC that has better specs than a 15" MacBook and only cost me $1300.

My custom PC has a six core Ryzen 5 processor with 16GB of RAM and a Nvidia RTX video card running off of two SSDs. It is very fast, apps load immediately and basic things like web browsing feel incredibly snappy.

Fast Motorcycle

I also love that I can upgrade the hardware on my PC whenever I want. Do I want to upgrade to 32GB of RAM? Easy. Add another hard drive? Piece of cake. MacBooks will never offer this level of customization.

Unfortunately, there are always downsides. The number one for me is the Windows filesystem. I really miss using a POSIX operating system. Microsoft is working on it with the Windows Subsystem for Linux which I have been using some. I have run into a lot of bugs with it though and Microsoft is having to rewrite it for WSL 2 which supposedly will offer more stability. I am hopeful that WSL 2 will solve my complaints. We will see when it comes out of beta in 2020.

I also am struggling to find equivalent apps on Windows for what I use on Mac. There is no Alfred or iTerm or Sequel Pro on Windows. While I have found some alternative options on Windows, they are not quite as good as the Mac apps.

If you asked me if you should get a Mac or PC, I would say:

Confused and Stressed Computer User

On a PC, you can have faster hardware that can be upgraded for much cheaper than a Mac. However, web development is still easier on a Mac because of the Unix underbelly and app ecosystem. I am crossing my fingers that Windows will improve with projects like WSL 2 and the new Windows Terminal, but only time will tell if they become as good as what Macs offer.

Ultimately, I am happy with my PC right now. I like to play video games so that is another plus in the PC column. If I was having to use it full time for PHP development though, I doubt I would be as productive as I am on a Mac.

What do you like to use for web development? Have you recently switched to Windows from a Mac? What are your favorite apps?

P.S. I have tried to use a full Linux distro (Ubuntu), but had basic issues with it like audio not working, so left it out of the comparison. I may attempt to use a Linux distro again in the future.

Top comments (28)

Collapse
 
tnypxl profile image
tnypxl

I've moved all of my personal hobby software development to a digital ocean droplet. I combine it with Mosh and Ngrok which allows me to use just about anything to write code anywhere there is an internet connection.

For design stuff, I just use Figma.

But if I had to bootstrap things on a local machine, I'd prefer Mac, Windows second, and Ubuntu last.

Collapse
 
pradeepprakash profile image
pradeepprakash

Hi, I bumped into your post during a search on how to make mosh + ngrok work. I see that you have done it.
Could you please help with the steps? ngrok doesn't support UDP right? So how is mosh able to communicate?

Collapse
 
tnypxl profile image
tnypxl

Ngrok simply exposes your local machines ports via ngrok's servers. Mosh doesn't impact how that works in any way.

Mosh is better compared to SSH.

Thread Thread
 
pradeepprakash profile image
pradeepprakash

Yes, I use mosh all the time. But had never used it with ngrok. I noticed that ngrok(free account) is not treating UDP at all , which mosh uses after the initial ssh on 22. And hence mosh client never sees a connection post that. The same works when I use a dynamic dns to reach my box from external world.

Thread Thread
 
tnypxl profile image
tnypxl

So long as the port you're using is accessible to ngrok, what Mosh sends back and forth doesn't matter.

Collapse
 
restoreddev profile image
Andrew Davis

That’s an interesting approach. How do you write code on the server? Using a cloud editor?

Collapse
 
tnypxl profile image
tnypxl

VS Code has a remote development plugin that lets you bootstrap to docker containers, WSL distros, or a VPS via SSH. Its pretty slick honestly.

There are several Code Editors on iPadOS which integrate SSH. I’m still working out kinks for a decent workflow there. I’m also trying to learn some basic Vim and then using something like SpaceVim or some other IDE-ish Vim setup.

Collapse
 
cadams profile image
Chad Adams • Edited

I switched from Windows to Linux to Mac. I still use Linux for servers but I use Mac for development. My biggest pet peeve about Mac is clicking the "x" doesn't kill the application like it does on Windows or Linux. That is really frustrating for me.

I like the look and build quality of a MacBook. The only thing comparable I could find for Linux was the Dell XPS 13/15 but I'm not a big fan of Dell.

The only reason I used Windows at the time was for gaming. Also I want to have a similar environment I use for servers e.g Mac is UNIX so is Linux. Windows servers are generally expensive whereas I can run a Linux server for fraction of the cost.

Collapse
 
rgaiken profile image
rgaiken

Some apps (e.g. iTerm2, iirc) have a setting to kill the app when you close the last window. Helps make osx a bit more tolerable

Collapse
 
cadams profile image
Chad Adams

Yeah I'm surprised Mac doesn't have a setting to change that. I don't use ITerm2, all the programs I use don't exit when its the last window. If I could develop ios apps on Linux I would just use Linux.

Collapse
 
theonlybeardedbeast profile image
TheOnlyBeardedBeast • Edited

I am the windows guy, and I have Ubuntu WSL inside my windows. I keep my windows clean from dev tools, the only dev tools I have directly on my windows machine are VS Code, VS 2019 (and all the sdks for .net development), everything else (git,node,package managers...) are inside the ubuntu WSL, then I use remote VS code with my Ubuntu WSL. For design files I use Invision studio. In work I am using mac (for frontend development), but I hate the design of the OS, and the navigation inside, it is really painful, I miss the snapping window management which is basic on windows, actually when I installed windows on my home mac mini it was much faster than the original OS, and that is strange. If I have to compare windows updates with mac updates, my windows machine with an ssd installs all the updates faster but they are more frequent then the mac updates.

Collapse
 
fabifors profile image
Fabian Forsström

I use this setup too. WSL remote from windows installed vscode and all development tools installed in WSL distro. I run Wlinux though and find that removing all custom features installed features that distro gives you from the start will make the terminal super quick. Use windows terminal preview. Works great for a web dev setup. 💪 WSL works 98% of the time for my work. Though sometimes it bugs out and i just clean the distro and start over. Work of a Surface Book 2 15"

Collapse
 
jimpriest profile image
Jim Priest

I would try Linux again. I've used Linux at home for years and always find it frustrating when I have to use Windows or Mac at work.

Mac is great but expensive.

Windows is cheap and usually horrible but getting better recently with things like WSL and VSCode. WSL is still pretty horrible (LOL) but I'm hoping they fix most of the issues with WSL2.

And using things like Docker are making things even more portable and the platform less important.

Collapse
 
muttsuri profile image
Muttsuri

I've found Listary and as a Alfred like app, I have the beta version doenst require any payment and it has been stable for me.

Collapse
 
restoreddev profile image
Andrew Davis

Nice! I will check that out.

Collapse
 
roh_mish profile image
Rohan Mishra

I still have to use Windows regularly for college and stuff but my daily driver has been Linux for years now. Can't use Windows as daily driver at this point even though Microsoft has made good strides in usability. MacOS is good and I wouldn't mind using it but I don't have any Mac device and hackintosh is too much work.

Collapse
 
ravehunter05 profile image
Francisco Paul Sotelo Rocha • Edited

I'm using MacOS since 3 months ago, and I'm not going back to windows, idk, I'm comfortable with this, and I like the terminal, i could use a PC again, but just for linux, in order to learn cyber security or something like that

Collapse
 
gayanhewa profile image
Gayan Hewa

Windows is gaining momentum. I haven't used a windows machine for ages. 10 years ago I would have tried to shot my self even before considering it. After being on a mac for the past 5 years and having to use Linux on an off for servers and all. I didn't have a reason to use Windows apart from IE testing or bugs :( but with the leadership change Microsoft had and the investments made towards vscode, WSL and recent developer preview with WSL2's Linux kernel things seem to go on the right direction. If things progress in this direction Surface laptops would challenge MBP as a goto Developer machine in the next couple of years.

Collapse
 
dramaticbean profile image
DramaticBean🇵🇹

I use mainly Linux (POP_OS) on my laptop to personal projects and school work. Only use Windows if I have any school course requiring it, like a course where I needed to use Unity to create games

Collapse
 
restoreddev profile image
Andrew Davis

What advantages does Pop offer over regular Ubuntu?

Collapse
 
dramaticbean profile image
DramaticBean🇵🇹

The main reason I stayed with POP_OS was because when I had Ubuntu my browsers were working very slowly, even after I installed the OS. When I first tried POP I didn't have those problems. Besides that (and if my memory is correct POP also helps with the drives) Pop is Ubuntu with a new template

Collapse
 
mrgswift profile image
Matthew Guillot

I've found SQLYog in Windows to be very easy to use, and it pretty much does everything I need it to do when I am not on a Mac with Sequel Pro.

Collapse
 
restoreddev profile image
Andrew Davis

Thanks, I’ll check it out.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.