Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Motivation is important for your work. I would not be motivated by using some closed source, walled garden product from a company with business practices I don't like. Linux is absolutely good enough to get most development work done without issue. Even if Macs might be a slightly smoother experience in some areas.

I used to spend a lot of time to fiddle with Linux and my desktop in the past. You can do that if you want. But it's not necessary. Nowadays in 98% of the cases I say "good enough", in rare exceptions I might still use my freedom to fiddle and patch.



>I would not be motivated by using some closed source, walled garden product from a company with business practices I don't like.

Most of the Development flow (and even most of the non-dev flow) happens in Open Source areas:

- Safari - Apps you download, like VSCode - Command line tools

The areas that aren't open source (The Calendar app, file browser) can be replaced as you choose.

I won't tell you to use a Mac, I just want to make it clear that the areas a developer works in are open. And, for anyone worried about things like SIP, that has a fully functional off switch

Oh, and you can run Linux (albeit with some work-in-progress features) - I've done it myself.


Safari and VSCode are not open source.

Most people who value freedom in software for practical reasons are motivated by having a way to fix or work around inconveniences, having a community and an active discussion on features, general composability and hackability of software, …

macOs (with all respect to their UI achievements) gives you none of that.


Safari isn't, you're correct - but WebKit is. And Safari does fall into the category of things that can be fully replaced.


That's a bit of a ridiculous argument. Xcode is not only closed source, it is required for publishing to the App Store. You can't modify the hardware or the software. It's a virtual prison.


> You can't modify the hardware or the software.

It’s a tool to get a job done - I don’t need to modify it.


I don’t know what kind of tool users you hang around, but there isn’t a profession that doesn’t modify or customize their tools (through making jigs, combining pieces from different toolkits, outright rebuilding, making your own tools, …).


That’s the great thing about software - it’s already able to do whatever I need.


Note that the argument you've called ridiculous is a response to someone who does not want a

> closed source, walled garden product from a company with business practices I don't like

Such a person probably won't be using Xcode, nor has any plans of publishing to the App Store, so Xcode being closed-source isn't a factor at all here.


It's the main factor for a developer, actually. We're talking about Apple so it makes sense to discuss their products. It doesn't make sense to talk about Microsoft products.


Well, Xcode only needs to be used if you're publishing to the App Store, which you wouldn't do with a linux machine anyways so that's a moot point when comparing them...


As a professional software engineer I choose to use the best tools for the job. In my case that tool happens to be a a Mac.


Yup - the tool that will randomly prevent you from opening any 3rd party app if Apple's signature checking service goes down.

The tool that defaults to a case insensitive but confusingly case preserving fs.

The tool that has been issued in variations that literally can't be used while closed, or if you plug the charging cable into the wrong "all the same" usb-c port.

The tool that licenses away virtualization, making development slower and harder, in an attempt to force companies to buy them.

The tool that used have a nice little $500 dollar surcharge if you want to put an extra 8gb of ram in it. (Don't worry - it's only $800 to go from 16gb to 32gb today - much better...)

That tool?

That's the best tool for your use-case?

Guess you must develop iOS apps, because otherwise... ooof.


I'm a Linux user who previously used Macs for years. This list barely touches the actual reality of developing on a Mac for most people. It is not nearly as strong an argument as the arrogant tone suggests.


Hey - Fellow linux user here, I get issued a macbook by work because I touch mobile related code. I can tell you - I'll take win10 over macOS any fucking day.

This list is literally just the most obnoxious fraction of items that have impacted me over the last 5 years of use. I can absolutely keep going.

You want me to discuss the rapid phase out of kernel extensions that allowed VMs to operate well?

Or the minor annoyance that is allowing execution for every fucking brew installed tool, since macOS blocks it by default.

Or should I look at the random 2 hour update times, where the computer is completely unusable?

Or the utterly insane memory usage when running even a small scattering of containers? 4 fairly simple containers will eat 10gbs of ram running a mid sized RoR app, elastic, and a db.

Or how about the xcode install times required to use simple tooling, like git, because "muh system integrity protection!!!" - but don't worry, at least you can get away with "just the command line" version of the tooling, which only eats a few gbs, instead of the fucking 40gb that xcode proper wants.


> the tool that will randomly prevent you from opening any 3rd party app if Apple's signature checking service goes down

You mean the Mac needs an internet connection to "work" - there is no "airgapped Mac"?

And that they have an execution blocker you cannot disable? How could you code - make your software run on it?


Apple does signature checking for malware - a year or two ago this service went down. The result was that absolutely no 3rd party apps could be opened on macbooks by default. They would spin for a second, then close. The issue is that the machine was online, but could not get a proper response from the signature checking service.

There are work-arounds, and by default this check is disabled while the machine is offline, but it's not exactly confidence building.

My general take on Apple is that the hardware is decent, the software is absolute dog-shit, and the marketing is TOP NOTCH.


I write Go for a fintech company. I'll take a Macbook running MacOS over Linux or Windows every day of the week. It's simple and easy to set up and maintain my local dev environment. I don't understand why using Linux or hating a Mac is like a religious calling to some people. In my experience I jump few far fewer hoops managing my dev environment in MacOS than Linux for the work I do.


Hey man - you're the one pitching a macbook to the guy who explicitly stated he didn't want a macbook.

I'm just here disputing that a mac is "the best development tool".

My opinion is pretty simple - Apple makes decent hardware that they absolutely ruin with their software.

Honestly - the closer you can be to running the same platform/tooling that you're deploying to, the better off your life will be as a developer, and I bet you money you aren't deploying to a macOS box.

Linux and Windows are both entirely functional - frankly, windows 10 with WSL is a better experience than macOS, in my opinion - and they cost a lot less.

I have used quite a few languages professionally - Java, Golang, C++, C#, Ruby, Js (from the bad days predating jquery to the decent days of not needing jquery any more), Rust, Python, fuck - I've even professionally used Netlogo, which is not something I will ever recommend, and it still boggles my mind occasionally.


Elsewhere in the comments there is a message saying that containers are constant headache under MacOS. Not having used it I can't comment. But containers are a regular part of my work. We have them in production and additionally I use them because I cannot install every required tool / environment to my machine at the same time. In that light the position of the best tool for the job doesn't sound to be undisputed.


icharters is a victim of apple's marketing.

Apple makes decent laptops, and the new m1 machines are not a bad pick. They are absolutely not the best tool for the job unless that job is developing iOS apps.


I have several Docker containers running at any given time with no issues.


I can get Docker working on Mac too, but honestly its much easier and faster on Linux. Might even be better on Windows, too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: