Hacker News new | ask | show | jobs
by 1996 1842 days ago
Windows 10 is going to become a better option for Linux development than MacOSX : before, it was already good with WSL1 and 2, and the lighter options like msys2.

With that, all I need is a better filesystem to move disks with unix permissions.

I predict BRTFS or another "modern" filesystem like XFS will soon be supported out-of-the-box.

5 comments

Very sad to see an alternative view point downvoted. I've used professionally Linux, Windows and macOS, and I agree with your assessment.

Issues I have with macOS dev I don't have with WSL 2 or native Linux:

- crappy Docker performance. Need hacks such as NFS mounts.

- case insensitive filesystem. I had to create a special volume for MySQL on a case-sensitive version of HFS or some client projects would fail with random errors

- I'm not a fan of Homebrew.

- BSD coreutils are not as good as GNU's (YMMV)

- it might be a certified UNIX™, but the OS fights you if you try to work outside /Users or /usr/local. Changing a conf file in /etc means losing any modification on the next OS update.

- very definite feeling the machine isn't my own (SIP, Gatekeeper)

--

These days my OS of choice is Windows, and my second choice is Linux. macOS is great for any other task which isn't gaming or working as a full stack engineer.

For some reason I don't think Apple cares about full stack engineers, or developers in general, unless you are developing for Apple.
Most interesting thing here that's if Microsoft cares about developers more than Apple why i should care about Apple
Microsoft only cares about developers to the extent that they can get them interested in Azure. Anything more than that is a happy coincidence.
They have a lot of work to do before anything competes with Mac OSX terminal out of the box especially paired with Brew.

WSL1 and 2 aren't super approachable even now, and the terminal (the new and old) are pretty limiting.

Homebrew is very bad, probably one of the worst package managers I've used, and light years worse than Arch Linux pacman or apt, which I'm not a fan of, but better than Brew.

It's certainly one of the better macOS package managers, just because it's the most used — so it has more packages than the competition.

What's the best package manager in your opinion?
We can generally characterize a package manager as one of the following:

  • source-based
  • binary
  • virtualized
  • installer-wrangler
  • functional
It can be hard to say what's best altogether, since paradigm (rather than individually differentiating virtues) might dominate a user's preference or need.

There's a set of common problems that all package management systems eventually have an opportunity to address, and each tradition is committed to a few fundamental tradeoffs in its solution to those common problems. Additionally, there are problems specific to each paradigm, and solutions within a given tradition address those with varying degrees of success. Package managers generally inherit the virtues and defects of their traditions when it comes to how they solve the common problems, but they can excel individually in terms of how well they resolve the problems specific to their paradigm.

Incidentally, Homebrew is a ‘traditional’ source-based package manager, but it's also been developed more or less naively (i.e., without serious examination of any other package managers in any tradition). So it has most of the annoyances that are common to traditional source-based package managers, and it additionally bungles a lot of the fundamentals compared to competitors in its class.

As for what's good: how detailed of an answer do you want?

As detailed as possible.
Not the one you're asking but I use snap, flatpak, apt, nix, and guix all on one laptop and nix and guix are far and away the finest, minus the invisible autoupdates of snap, a feature which tons of people hate but I love.

Any package manager that manages mutable and non-deterministic packages should be doused in gasoline and set aflame.

I've only spent a lot of time with homebrew, apt, yum, dnf, pacman, and the latter is miles ahead in speed, efficiency, with the only drawback behind non-sensical option mnemonics: so instead of `pacman update all`, you get used to doing `pacman -Syu`

Then add Arch Linux's AUR, and you get the best ecosystem in the Linux world bar none.

> WSL1 and 2 aren't super approachable even now

It takes very little effort to setup them up, you can install via Windows Store, and start the VMs like any Windows program. What's not approachable?

> the terminal (the new and old) are pretty limiting

Windows Terminal is a big leap forward, but it still feels clunky compared to terminals in OSX/Gnome/KDE. It's little things, like copy/paste or even highlighting text - the lack of a right-click context menu is frustrating. But it's still a welcome effort, and native ssh support means I can rely on putty a little less.

Yes, Windows Terminal allowed me to retire putty. Proper font support and tabs beat out the putty scroll buffer advantages.
> ...anything competes with Mac OSX terminal out of the box...

Would you like to explain how? Maybe not iTerm2, but the Windows Terminal is a pretty capable terminal compared to Terminal.app and it's development progress has been phenomenal.

> WSL1 and 2 aren't super approachable even now...

How so? WSL2 ships with a full Linux kernel, the GUI/Audio support has already hit Insiders and installing Ubuntu is literally two clicks on the MS Store.

Compare the install instructions for a non-Insiders build[1] to the zero install steps to get a unix CLI on Mac OS. (One step if you want homebrew).

[1]: https://docs.microsoft.com/en-us/windows/wsl/install-win10

You're kidding, right? It's less than 5 minutes of setup. We spend more time on Google/StackOverflow trying to find the right setting for Docker or other random things.
macOS is already *nix-based, so that's not really surprising. Besides my questions were completely different than what you answered.
I had to use windows terminal today and I hated it. It's way better than cmd or whatever the thing before was but it still sucks.
Windows 10 is going to become a better option for UNIX like development than Mac OS X.

The best option for Linux is Linux distribution.

> I predict BRTFS or another "modern" filesystem like XFS will soon be supported out-of-the-box.

I've been using Linux with ext4 for quite some time. Am I missing out on something by not using BRTFS or XFS?

Not for casual use. There's no reason to use BRTFS or XFS on single-drive computers, unless you have a specific need for something like snapshots or checksums. BRTFS does let you do crazy things like split a single drive into 2 partitions, and run them RAID1.
The advantages with BTRFS mainly lie within its copy-on-write snapshotting, and subvolume features.

I can't speak to the benefits of XFS.

It's all fun and games until you try to expose a networked application from within WSL2. Throw Docker into the mix and you've wasted half a day configuring this nonsense.