DEV Community

loading...

Discussion on: Why I'm sort of leaving Linux

Collapse
jason_espin profile image
Jason Espin • Edited

As someone who has primarly been a Windows user all their life and was introduced to Linux in University back in 2007 I completely get where you are coming from with this. I'm very at home in the command line (use Git daily without any GUI) but I've never bought the whole "Linux is better for development spele" that everyone tries to spin just to make them look / feel better. Don't get me wrong, use whichever OS you enjoy the most but every time I've tried a switchover to Linux I've always found it unproductive, lacking adequate tooling and generally just a mess. Ultimately Windows is a lot more productive which is a shame as I love tinkering with Linux.

Collapse
explodingwalrus profile image
Carl Draper

Well it depends what you need to do with the OS.

Collapse
jason_espin profile image
Jason Espin

I've never seen anything that Linux could do that Windows can't.

Thread Thread
heytimapple profile image
Tim Apple Author

I think the draw to Linux for many is more the libre spirit. The doing things on your own terms and no one will make you do different. Plus the whole privacy thing also.

Thread Thread
explodingwalrus profile image
Carl Draper • Edited

I find that Linux distros have all the tools i want for free, and many are preinstalled. e.g. When i install Windows I have to find a decent DVD writer app when Linux has K3B for free. Mac OS doesn't have an equivalent either, you have to pay for something like Toast

Thread Thread
heytimapple profile image
Tim Apple Author

What’s a DVD?....... I’m just kidding, that is a good point but personally an item that doesn’t matter to me.

Thread Thread
explodingwalrus profile image
Carl Draper

that's just the first thing that sprang to mind. It usually takes me far longer to get Windows how i want it since it lacks so much out the box.

Thread Thread
heytimapple profile image
Tim Apple Author

I'm curious to what it lacks out of the box.. I install, edge-dev, chrome, firefox, VSCode, Slack, Spotify, Standard Notes, Windows Terminal, and WSL... Minus firefox, I have to manually install all that on Linux also after an install.. Of course WSL isn't needed, nor the terminal. But not to big of a difference.

Thread Thread
explodingwalrus profile image
Carl Draper

it's not just what's missing, it's that you have to go through finding all the exe files for them or browse the net for them. In Linux they are an "apt install" or search in Synaptic or whatever away

Thread Thread
heytimapple profile image
Tim Apple Author

Spotify, VSCode, Standard Notes.. I all go to the actual website for and download deb or appimage. No different. I do know Spotify is in a lot of repos now or you can use the snap.. same with code. But I like to get those straight from the source. And Standard notes I have no choice. Once Windows is installed and updated (Which is slow) I can have everything else done after that in 15 or 20 minutes at most. Maybe even less.

Thread Thread
explodingwalrus profile image
Carl Draper

updates are still the major rub for me with Windows. They are so much smoother in Linux, they don't get in the way or slow down boot time

Thread Thread
heytimapple profile image
Tim Apple Author

Updates can suck, but to be honest I haven't had much issue with them. It's a lot like iOS now..where it will download it but you can wait on the install/reboot till the end of the day if you want.

Thread Thread
explodingwalrus profile image
Carl Draper

i don't have set times i use the machine, and it prompts me about updates in the middle of GTA V sometimes!

Thread Thread
heytimapple profile image
Tim Apple Author

That would suck, I haven't been in that situation. I'm usually working and if a update alert comes up I can just ignore it and keep at it.

Thread Thread
jason_espin profile image
Jason Espin

Quick tip on the reinstalling everything front. Use chocolatey. I've have one script setup that installs all of my applications in Windows on a fresh build. Only pre-requisite is installing chocolatey which doesn't take any time at all.

Thread Thread
heytimapple profile image
Tim Apple Author

I just discovered chocolatey recently, used it to install git... I need to get used to using it more.

Collapse
mmikowski profile image
Michael S. Mikowski • Edited

Indeed! @jasonEspin: "I've never seen anything that Linux could do that Windows can't."

Well, there is that whole Supercomputer-IOT-HP/HA-missionCritical-vehicleControls-runsStockMarkets-setTopBoxes-Phones-NAS-CloudComputing-andPrettyMuchAnythingNotTheDesktop "thing" that Linux has cornered.

Don't let me intrude too much on your reality, but the writing is on the wall for Windows. There is very little lock-in left.

Collapse
jason_espin profile image
Jason Espin

You know full well that I was referring to Linux as an OS for a desktop user. As a desktop OS, Windows is still the pinnacle when it comes to productivity.

Thread Thread
mmikowski profile image
Michael S. Mikowski • Edited

The reason Linux is superior for development is because of these markets. Unless you're creating Windows apps (even MS isn't doing to much of that these days), your deployment target is Linux. So why split your time becoming mediocre at notepad++ and vim when you can be a rock star in vim? And who's using install shield to deploy to set top boxes? I'd rather focus on one set of tools and one deployment environment and minimize context switching.

How to make Kubuntu 19.10 rock:
mmikowski.github.io/k19-10-guide/

Why using something besides Linux works against you:
quora.com/Why-do-most-of-the-devel...

Collapse
shaunagordon profile image
Shauna Gordon

While not strictly Linux, I did recently learn about this little experiment DHH did - m.signalvnoise.com/back-to-windows...

It's got some interesting insights into the things the *nix (and Apple, but a lot of what he talked about is the actual *nix subsystem) ecosystem does better than Windows even right now, coming from a guy who knows a thing or two about development. (For those that might not know, DHH is the guy who wrote Rails and Basecamp.)

Thread Thread
mmikowski profile image
Michael S. Mikowski • Edited

The best Linux subsystem is provided by a Linux computer. It is amazing the days and weeks Mac users spend working around these incompatibilities. Any guess why DHH didn't compare the MBP to a recent Linux developer laptop? My guess is it is Linux would win objectively, but works lose emotionally due to the affinity to MBP trophy status.

Thread Thread
shaunagordon profile image
Shauna Gordon

As someone who uses both Mac and Linux extensively, I don't really know what incompatibilities you're referring to with regard to Mac, given that it's a BSD based system.

And did you read the article? It had nothing to do with "trophy status" (whatever that's supposed to mean in DHH's case). He wanted to switch away from Mac because of the drop in build quality and the disaster that is the butterfly switch keyboard.

Instead of judgementally speculating on his reasons for not choosing Linux, you could ask him. There is a comments section.

Given that he was looking into it for his company as much as himself, my guess is that compatibility with mission critical tools and availability of business agreements played more of a part in his decisions than "trophy status."

Thread Thread
mmikowski profile image
Michael S. Mikowski

Shauna, have you looked at the version of the bash shell shipped with Mac OS? It is 6 years old. And those BSD tools are NOT the same as the GNU tools on Linux and have numerous incompatibilities. At my last gig I spent weeks retrofitting scripts to work on the outdated and incompatible MacOS, an OS we will never deploy to. The alternative was to get the Mac users to upgrade bash and use GNU utils. And most of them weren't capable of that.

As for DHH, I'd like him to try a system 76 solution and compare.

Thread Thread
heytimapple profile image
Tim Apple Author

Don’t tell anyone, but I’m running Windows on a System76 galago...

Thread Thread
shaunagordon profile image
Shauna Gordon

Mac's version is where it's at, because they froze it at the latest GPL-2 version, probably for legal reasons, which is a whole other discussion, but it is a fair criticism.

That said, the incompatibilities you're referring to would really only apply if you're trying to switch between a Linux and Mac system. Since DHH has never (or almost never) switched between those two (at least not for the host system), there are no incompatibilities to work around, because there's nothing to be incompatible with.

I run a Docker workflow, too, and it's literally never been an issue going between the Mac host and the Docker containers for me, largely because they serve totally different purposes and therefore rarely have crossover in scripts that I would use with any regularity.

I think it's also worth pointing out that BSD predates Linux by nearly 15 years. If you want to bitch about incompatibilities between GNU Utils and their BSD counterparts, you might want to take it up with the GNU Utils people, instead of the BSD people, because it was the former who implemented the utils differently. In other words, it's Linux that's incompatible with BSD and, by your own logic, you're the one spending a bunch of times on workarounds.

Thread Thread
shaunagordon profile image
Shauna Gordon

Don’t tell anyone, but I’m running Windows on a System76 galago...

::gasp!:: Blasphemy! ;)

Collapse
shaunagordon profile image
Shauna Gordon

I've never bought the whole "Linux is better for development spele" that everyone tries to spin just to make them look / feel better.

There was a time when the interpreters and compilers for various languages literally weren't available for Windows, or if they were, usage was like swimming upstream. Python didn't have Windows support at all until a full decade after its first release. PHP was the same (regardless of what you think about PHP, it was the king of mid/late-2000s dynamic web development). Then, there's the GNU Utils and tools like git itself, which were downright painful to run, even under Cygwin. Powershell didn't exist until 2006, so there was a solid decade or so between the original MS-DOS and the release of Powershell where the command line in Windows was severely hamstrung.

All of these added up to a painful developer experience for anything other than Windows (and later, .Net) development.

Now, the development ecosystem for VB6 and .Net were (and are) fantastic. I mean that sincerely. I actually love Visual Studio, proper, for what it can do. But development on just about any other language family? Not so great until the past decade or so. Even now, some of the tooling for certain things lags behind on Windows.

The combination of things like Github Desktop for Windows (which came with a decent transparent installation of the GNU Utils, if nothing else), Microsoft's shift to start embracing open source, instead of totally fighting it (and they did, even into the mid-2000s; they even had a FUD campaign as late as 2005/2006 against Linux), and Apple's resurgence as a viable end-user ecosystem in the late 2000s (prompting a need for Microsoft to take action to remain competitive and not sit on their laurels) converged to help make Windows more hospitable to development as a whole.

every time I've tried a switchover to Linux I've always found it unproductive, lacking adequate tooling and generally just a mess.

The inverse of this is basically the tl;dr of my response, above -- until the past decade, going from Linux to Windows, for developers, the main complaint was exactly that - lack of adequate tooling, unproductive, and generally a mess.

Ironically, your reasons for not switching to Linux still echo my reasons for not switching to Windows for my primary systems. Not only am I just not really productive on Windows, but the tooling (that I need) isn't there whenever I do consider switching.