Introduction
As a software engineer, I try not to get too attached to a single operating system. Computers are just tools we use to get ...
For further actions, you may consider blocking this person and/or reporting abuse
Thanks for this unbiased view! Personally, as a consultant I don't get to choose which OS I use at work, I usually get a laptop managed by my customer. And usually that means Windows, which I'm happy with since Windows does for the most part "just work". But it's also the fact that I'm a Java developer, so all I need is for the JVM to run, and it runs on all major OS, so there I am pretty indifferent to the OS.
For private projects I recently bought a Mac, and if you think Windows "just works", Mac in my experience even more "just works". And it gives you a pretty powerful command line, so it is kind of good for developers too. And the speed of modern Macs is incredible. I can run local AI models without any performance problem whatsoever. And with solutions like Parallels Desktop I can also run all my Windows games, so I'm totally happy with my Mac.
The downside is that I work with Docker and Kubernetes, and there I sometimes need Linux skills. I have been able to pretty much get away with my pathetic lack of Linux command line skills, but I suspect that I should invest some time in learning bash scripting one of these days. Right now for bash scripting I'm pretty much at the mercy of googling and asking the AI to write it for me. So I definitely get that part about your article. Knowing Linux well, or at least bash scripting, is a really good idea as a software developer.
But privately I would never use Linux. I just have no interest in learning about computers, as strange as that may sound. My "OS" at work is the JVM. And even there as a Java programmer you generally don't have to know the details of how the JVM works to be effective for the most part. So what it comes down to is this: I'm a software developer. Not a "customize software to work on specific hardware" developer.
I agree, that's why I have a MacBook too for personal usage. I use the terminal regularly so I appreciate having a UNIX-based shell on that laptop.
I've been a software developer for the last 25+ years, I have been running Windows xp, 7, osX/macOS, linux, Windows with wsl and now linux again.
Sure things break under linux more so with Windows who force you to do updates that (too) often break things.
Hardware support instead often lags or lacks in linux but for my dev machines i don't need the latest and greatest new hardware.
What i need is my containers run smoothly and my ide is supported, both things that imo linux delivers.
For preventing that things break i'm now using an immutable Linux distro
Thanks for pointing that out. I didn't mention immutable distros because I haven't try them out yet. But I've read that there are good options for gaming for example. Good to know.
This is a very nice, even-handed article. What we need in all walks of life is more cooperation and allowing other people to do things their way without judgement.
This is interesting.
testing
testing 02
testing 03
testing 04
Very good article. I personally switched to Linux Ubuntu about 6 month ago on my desktop PC, which had been disqualified by Microsoft, and declared impossible to update to Windows 11. I'm very happy with Linux now. I'm now also giving a second life to other people's PCs. Everything you said matches 100% my own experience. There's a tool that helps a lot to learn and to manage the issues, now. The IA, that is bad for the planet, undeniably, but that's so helpful for this kind of things, then that's impossible to avoid for my part. I also appreciate your excellent attitude and your way of seeing things.
yeah, IA is great if we use it the right way. For example, if it suggests to execute some commands, we should read the commands carefully first, and ideally, verify that those commands are correct and do what we are expecting to do.
You don't need much low-level knowedge to use Linux these days, but you're missing the real magic of it if you don't have a basic familiarity with shell scripting (in bash or in one of the other popular shells). The way you can build complex tools in a few lines of code by piping together commands is amazing. And, it's not hard to add GUI i/o to them using a dialog manager such as yad or Zenity so they can fully integrate into your GUI/desktop and be used without even opening a terminal.
I agree, scripting in Linux just feels right. I mean the way we interact with the operating system, managing files, services, installing and uninstalling packages.
However, Python and Go make scripting more enjoyable on other Operating Systems.
Since almost any modern scripting language can do anything that bash can (as long as something like bash pipes are supported), it doesn't matter which one you use, so the one you are most fluent in is the best. Bash is great until you need to deal with strings that contain tokens that it recognizes and tries to interpret. Then quoting and preserving quoting can be a real challenge.