What is better, if not don't need some specific softwares (like MS Office or Power BI) that often?
Like, how customizable is Windows' desktop environment? What about Git Bash? (I don't even know yet about zsh on Windows. Also, is PowerShell productive? And how lock-in?)
What about WINE vs real Windows?
Also, what about Chocolatey vs Ubuntu apt in WSL2?
Actually, I am on an old MacBook hardware, but I am trying to avoid macOS like a plaque. (Because of update requirements not as backward-compat and light-on-hardware as Linux.)
Top comments (2)
Look for alternatives here. There's an online version of MS Office that covers pretty much everything about 99% of people need from it, or you could look at Google Docs, or you could go for LibreOffice if you really want a native app (and LibreOffice works cross-platform, optionally instead KOffice if you end up using KDE), or you could even just get Abiword if you only need a word processor. There is no real reason to buy MS Office anymore, let alone run it.
Barely at all compared to almost any Linux DE you care to name. In particular:
I'm a bit biased here because I came into learning PS well after I had been using first bash and then ZSH on Linux. I personally despise PowerShell, both the tool itself, and the terminal emulation that comes with it.
PowerShell is a thin interactive veneer on top of the .NET APIs with some extra stuff thrown in to make it a bit more friendly to interactive usage. It's got a number of issues which make it a pain to work with on a regular basis:
\
) to tell the shell to not treat the next character as special in any way. PowerShell completely lacks this, which when combined with the fact that Windows uses metacharacters in paths all the time (spaces are the big offender here, but there are many others), means that you need to quote things far more frequently than you do in many other environments.sudo -s
and having a working admin shell in the same window in one command.As far as the terminal environment, the console host that gets used by default is useless for any real work (too many quirks and way too many limitations), Windows Terminal is better but still has a number of issues compared to terminal emulators for Linux, and there aren't many good third-party options that play nice with PowerShell (Terminus is the only decent one I've found, but even it has issues).
Provided the app doesn't need hardware access and doesn't rely on undocumented quirks of the NT kernel APIs, it will often work flawlessly in WINE. If it makes aggressive use of DirectX you may need to use Proton instead of WINE, but most common stuff will work fine there too. Rather entertainingly, in some cases you may actually see better performance under WINE on Linux than you do natively on Windows (usually due to scheduling behavior in Linux compared to Windows).
Must stuff that needs actual hardware access does not work well under WINE, if at all. Some simple stuff like serial connections don't have issues, but a lot of things just don't work because they would need WINE to emulate complicated hardware behavior (for example, the DRM stuff in a lot of older applications that requires you to have the application CD inserted in the system's CD drive does not work at all under WINE).
In terms of actual behavior, I'd take APT over Chocolatey any day, though I'd personally prefer Aptitude (terminal-based frontend for APT) over both. APT is more mature, behaves more intuitively for most people, and isn't hampered by stupid limitations in the native packaging format.
In terms of actual available software, APT wins also, though this is a property of the distribution it's run from, not APT itself.
Overall, I'd lean in favor of Linux over Windows (Linux Mint or LMDE are what I would personally recommend for people new to Linux, they're just as user friendly as Ubuntu but don't have as many of the same stupid limitations that Ubuntu imposes). Personally, I actually use both, dual-booting Windows 10 and Gentoo Linux, using Gentoo for work and when I need to do actual Linux things like cloning hard drives or recovering data and Windows otherwise (largely because I'm a very active gamer), but I have WSL2 set up on Windows with Debian (specifically Debian Sid, but that's not entirely relevant) for when I just need to do something quick in a Linux environment.
Recently shifted to an all Linux system. Lifelong Windows user here.
Let's see all of your points one by one:
You dont need MS Office that often, prefer not installing them. Try to use the web version. Or google docs
Git bash is good. But it is a pain to work with it sometimes. Unless you are ready to get into Windows native development. Well if you really are. Go for Msys2. You get
pacman
with it. BTW you can skip this part.Install Windows Terminal. You will love it. Its the best terminal I have used so far. Linux Windows all combined. Set WSL2 in Windows Terminal as default.
Install WSL2. Its awesome. Dont go for unofficial distros like Arch or anything. Ubuntu will get you through. Also dont bother installing packages for Windows native env. You will save a lot of time of your life. I wasted mine. Do everything with WSL. VS Code has good WSL2 support. Vim/Nvim works great too.
Only install Windows-only apps in Windows. Take this advice. Almost 90% softwares/tools/frameworks/libraries work in WSL2.0. So keep programming all to WSL2.0
If you are still thinking about Windows Native dev consider Chocolatey and Scoop. Many packages are either present in choco or in scoop. Prefer Scoop though.
Good luck. Ping me for help if you need.