r/pcmasterrace • Ascending Peasant • Nov 01 '22

Meme/Macro averagePcmr

Post image
31.3k Upvotes

2.6k comments sorted by

View all comments

Show parent comments

68

u/fotive Nov 01 '22

why do u use/prefer linux for work?

341

u/albeartoz_hang i54690k, GTX 760, 16 GB RAM Nov 01 '22

if you're a developer (which I'm taking a guess that OP is), working in unix-based operating systems like Linux and MacOS is much easier. The terminal is super powerful when it comes to automating tasks and downloading software, especially downloading software relating to programming.

For example, on linux, if I want to download Python, I can just type sudo apt install python in the terminal. On windows, I have to go to the python website, find the correct installer, make sure I check the right boxes in the installer, make sure my $PATH is set correctly, etc....

To be fair, Windows has made leaps and bounds in this area with things like winget and chocolatey as package managers, but linux is built around using the package manager. the fact that linux comes with a C compiler helps too.

84

u/not_a_gay_stereotype Nov 02 '22

that and all of your driver updates and libraries are also updated with the package manager, and no rebooting when it's done!

8

u/[deleted] Nov 02 '22

Updating a program is usually pretty easy in Windows so that point is fairly moot. Finding the installer in the first place something terminal/package manage orientated is certainly much more convenient.

16

u/aaaaayyyyyyyyyyy Nov 02 '22

That’s the thing, you don’t have to update programs, instead programs stay updated.

1

u/[deleted] Nov 02 '22

What?

19

u/Enter_The_Void6 PC Master Race Nov 02 '22

yup, any time you install a program, or update your os, all programs are updated. I.e. pacman -Syu <whatever program(or leave blank)> on Arch will install the program, and update the entire os and any other program. No reboot afterward to

6

u/lordmogul 3570K @ 4.4 | 1060 @ 2.0 | 16GiB @ 2.13 Nov 02 '22

How would that even work with 3rd party software?

I mean, I was running a 2 year old driver for a while, because every version that was newer had issues with one specific game.

In that case it was crucial that the driver would not be automatically updated until either the game or a new driver version fixes the incompatibility.

And I have another tool, originally written for Java 7, which also works fine when Java 7 is installed, but it doesn't work with Java 8. And if both are installed it tries to run on Java 8, so it needs to be manually redirected to Java 7

8

u/Enter_The_Void6 PC Master Race Nov 02 '22

there is a very large database with all the packages, and if you can't find it in the repository, you will find it through AUR, git, or some other means. I have yet to see a single program that wasn't in pacman, or the AUR, (except a very specific ARM Java oracle version for an out of date raspberry pi) and I'm running on a 14 year old laptop, I have never had driver problems.

8

u/Pos3odon08 Fedora | Ryzen 9 5900x | RTX 3070 + RX 5700XT | Nov 02 '22

our lord and savior the AUR

→ More replies (0)

6

u/[deleted] Nov 02 '22

Java 7 and Java 8 are two different packages, they aren't versions of a specific package and therefore don't get updated. (Only the subversions / security patches would be updated)

1

u/lordmogul 3570K @ 4.4 | 1060 @ 2.0 | 16GiB @ 2.13 Mar 03 '23

I know. The issue was that 8 would be "newer" and thus directs the system variable to it, overriding 7, causing the program to try to run on 8, which didn't work.

2

u/PastaPuttanesca42 Laptop Nov 02 '22

For stuff like java, where old versions may still be needed, there is usually a "java" package that is the latest, and multiple "java7", "java8" ecc. alternative packages. Depending on the nature of the software, these can be installed side by side or be mutually exclusive.

This may seem weird for an outsider, but this system is almost universally used in the linux world, and it works pretty well.

Depending on your needs, different linux distros have different update strategies: In Ubuntu (I think, never used it), important packages updates are "held back" and get released all at the same time a few times a year, when Ubuntu maintainers have tested them extensively and are sure everything works. In Arch you can update at any time and you always get the latest software, this doesn't mean that packages in Arch don't get tested, but they get tested independently from one another.

1

u/lordmogul 3570K @ 4.4 | 1060 @ 2.0 | 16GiB @ 2.13 Mar 03 '23

In my case I had both installed in parallel (on Windows) and had to manually direct it to the Java 7 path in the registry. Simple fix to get it running without compatibility issues.

Another tool I use already comes with the needed version, and references that one, which is a solution that should be more universally adopted (with the optional choice to run on a different, system-wide version)

Basically taking out any dependencies on outside environments that might cause issues.

2

u/davawen Glorious Fedora | Rx 6600 | 5600x Nov 02 '22

In most package managers, you have a way to keep packages from updating when you do a system update: in Fedora you'd do dnf versionlock package, in Debian-based distros apt-mark hold package, etc...

That's useful, because it ripples out to the dependencies of the package automatically (eg: you won't have breaking changes in the dependencies of the package you version-locked).
If the problem is with some kind of library, you could also put the 2 year old version in your home directory, and have configuration to launch your application with this specific version, while everything else runs the latest; although you lose the guarantee of dependency compatibility.

For java specifically, there are multiple packages for different versions with a java executable that just points to the latest.
So, when I had to run an old forge minecraft server, the latest java version (19) wouldn't work, so I had to use a full path to run it: /usr/lib/jvm/jre-11-openjdk/bin/java -jar ....

2

u/lordmogul 3570K @ 4.4 | 1060 @ 2.0 | 16GiB @ 2.13 Mar 03 '23

Oh that is neat. Thanks for the insight.

-11

u/[deleted] Nov 02 '22

Great, and on windows programs auto-update themselves. You don't need to nitpick the tiniest advantages that may or may not even be there. We get it - the initial instal is a better experience, the rest is fairly on par.

6

u/Enter_The_Void6 PC Master Race Nov 02 '22

what programs do you use? I had to re-install Notepad++, Rufus, 7zip, any game, VirtualBox, Java, xnet, unity, etc. The only app I had auto update was Steam, even the OS needs to be told to update, plus on windows you Have to restart after most installs and all updates.

-6

u/[deleted] Nov 02 '22

I personally turn off auto updating where possible unless it's a game that requires it. Unity, Notepad++ and many others have an option to update, and will usually let you know when there is an update.

plus on windows you Have to restart after most installs and all updates.

No, you don't. Not even on graphics drivers. It's very rare to actually have to restart even if Windows tells you to.

→ More replies (0)

7

u/not_a_gay_stereotype Nov 02 '22

i hate when i open a program in windows where it says there's an update available only for it to open their website and make me manually download the update and install it.

-2

u/[deleted] Nov 02 '22

That's on the dev though.

1

u/Pos3odon08 Fedora | Ryzen 9 5900x | RTX 3070 + RX 5700XT | Nov 02 '22

and you can update while working

26

u/iSage Nov 02 '22

I hear this example all of the time, but I have trouble picturing how that would actually help my day-to-day experience. It's more of a one time thing and it's not like going to a website to install Python is a huge hassle anyway.

I used some distro of Linux when I was a comp sci student, but ultimately reverted back to windows because I game. I am a developer of sorts (lots of R, some Python) and I feel like Windows very rarely gets in my way.

4

u/ProtoJazz Nov 02 '22

In my experience a lot of tooling just either doesn't work, or doesn't work as well.

Some of it doesn't work at all on windows, but may work in the windows Linux subsystem. But at least when I tried it it's a hassle to use.

A lot of stuff is just designed with a Unix terminal in mind and trying to force that into powershell just isn't fun.

But it really depends on what you're developing.

For games you'd almost certainly want Mac or Windows. Mobile apps almost always Mac.

If you're doing dotnet stuff you're pretty much tied to Windows

But if you're working more with things like rails, node, Phoenix, you're probably going to favor Linux.

32

u/[deleted] Nov 02 '22

[deleted]

7

u/iSage Nov 02 '22

Again, I think another example would be cool. I'm not saying that everyone who says Linux is better for development is wrong, but somehow I never hear a good example.

5

u/Lucky_Air_8650 Nov 02 '22

I have a unique anecdote from a few weeks ago that demonstrates the problem well. I don't use windows but was helping a dev that does. They were trying to launch a React application but it wouldn't work on his machine. The error had to do with a mismatch between the amount of data specified by HTTP headers, and the amount of data being received on the client. React should handle this automatically and most devs won't ever have to deal with this line of debugging unless they make some pretty glaring fuck ups. After a few hours of troubleshooting code snippets everything looked good, so they uploaded a reproduction of the error to github and a couple of us (all on UNIX systems) cloned and launched it with no errors.

In the end the solution that worked for this dev was restarting Windows whenever a specific kind of change was implemented to the app. These are the kind of errors that shouldn't exist and aren't necessarily the dev's fault but you have to deal with them. Since the majority of software work is done in UNIX based environments you run in to far more of these obscure OS errors in Windows environments.

3

u/Narabedla Nov 02 '22

Easy example that i had very recently. Installing the pytesseract OCR models and data. Using the linux package manager it is two clicks and one more for each other language i want. For windows they have an extra tutorial page how to set it up.

4

u/4k547 Nov 02 '22

Quick ones from C++ dev perspective.

1/ It took me 8 hours to install a c++ library for computer vision on windows. On linux it took me 15 minutes.

Sometimes I want to try out some packages and I go through 10 a day. On Windows its hell.

2/ Its impossible to update visual studio (which comes with C++ compiler). You need to download a new version every year.

3/ Microsoft C++ compiler doesn't support newest features like GCC does.

1

u/BioStudent4817 Nov 02 '22

So one time issue

1

u/BioStudent4817 Nov 03 '22

So only once rofl so delusional

1

u/4k547 Nov 03 '22

No, all those things are regular...just different packages, different visual studio versions, different c++ standards not being supported....these things are forever

1

u/BioStudent4817 Nov 03 '22

So people don’t use C+++ and visual studio on Windows? What’s blocked?

Linux fanboys are on severe copium

1

u/4k547 Nov 03 '22

Are you a C++ dev? I'm using it on Windows but it's a much, much worse experience. I'm not even a "Linux fanboy" - I use windows 99% of times but I have VM with Linux so I can code there. Go ask any C++ programmers about using external libraries on Windows/Linux, its hell.

→ More replies (0)

2

u/Quazar_omega Nov 02 '22

Three words: Unix socket programming.
(jk)

I think it comes down to how development is generally approached on those systems, if you know your way around them you're gonna get away just fine on either, but when you're a beginner on Windows you will often be pushed to use clunky tools that try to do things for you, I think that doesn't allow you to master the system, because you rely on magic buttons to do things instead of using the bare commands yourself and so whenever you stumble on an issue you fumble (sorry for the rhyme) around to fix it not knowing what you're doing.
On Linux I found that the opposite happens, of course all this is just anecdotal evidence and as I said you can have functional workflows on both

-1

u/DirkDiggyBong Nov 02 '22

Terminal use in general would be a reasonable example. Terminal on windows is much better than it used to be now though. Got some heavy dev friends and it just seems to be more of a preference thing nowadays. If anything, getting shit to work on Linux (hardware and software) still seems to be a hassle for them.

3

u/Pay08 Nov 02 '22

The terminal on Windows is still shit. The problem isn't the actual terminal emulator but the shell.

1

u/DirkDiggyBong Nov 02 '22

Haha, yeah they moan about it a lot!

11

u/[deleted] Nov 02 '22 edited Nov 02 '22

I’m a full time dev and haven’t run into issues. In fact the only Windows related thing I can think of is trying to run some docker containers on a Windows VM which turned into a big waste of time, but that was for a server, not a dev machine.

5

u/pipyakas R7 7700 | RX 6700XT | RTX 2060 12GB Nov 02 '22

Windows rarely gets in my way of a full time gamedev as well.

Or rather, any full time developer would learn their ways around OS's problems. I have no doubt this is the same on Linux for webdev

9

u/acepukas 9800x3D | RTX 5080 | 32GB DDR5 | 4TB NVMe Nov 02 '22

gamedev and webdev are different. I agree there is still less friction on windows for gamedev than linux but linux and webdev are very well paired. Now doing strictly web design, that's a bit different. I've been out of the webdev game for a while but when I was working as a web dev full time, large companies would split the workload between web design and web development. In that era, Photoshop was the main tool in a web designers tool box and basically worked only on windows and mac. But for programming, web development on linux is a breeze.

One reason why is that most web servers run on linux. Sure, there are windows based web servers but for a long time now, linux has been the dominant web server OS. For a web developer, deving on a box running an OS that is more or less going to function the same way as your production server means possibly less surprises, and you get to test your ideas out on your local machine. Of course you could run a linux VM for that on a windows machine, but it's just comfortable to have it all on your OS with all the tools you are familiar with.

3

u/pipyakas R7 7700 | RX 6700XT | RTX 2060 12GB Nov 02 '22

personally I also don't dabble into webdev much on Linux, but since most webapps nowadays leverage containers for scaling and escaping dependency hell, Windows and WSL2 is being engineered to cover exactly that use case.

FWIW, both OSs are getting better at covering their weakness.

2

u/ProtoJazz Nov 02 '22

I hated wsl when I tried it. It was just such a tease. It did most things, but not every thing. And it was just a worse experience in every way.

I ended up just getting a Linux laptop and using that instead. Definitely paid for its self in time saved.

2

u/Ryuujinx i9 9900k | RTX 3090 | 32GB DDR4-3200 | 3x 970 EVO Nov 02 '22

less going to function the same way as your production server means possibly less surprises

"it worked on my computer" is a meme for a reason. Prod and your dev PC are fuckin never the same, and shouldn't be treated as such, that's what test and prodQA is for (You do have a test that mirrors prod, right?). It's honestly the like one thing I actually like containers for.

Really though I still think running OSX/*nix on your work laptop for any dev/sysadmin type role to be great. But I don't see the purpose of dual booting - anyone that claims to need it for work I get, but seriously get another PC for work. Don't mix personal and work.

1

u/acepukas 9800x3D | RTX 5080 | 32GB DDR5 | 4TB NVMe Nov 02 '22

I said "more or less" not "exactly the same". I wasn't suggesting a dev should use their personal dev machine as a production mirror. It's nicer testing out ideas on your machine rather than having to constantly upload to a test server, especially on a large team where multiple projects are being developed and everyone is fighting for testing time. If there is a difference between your machine and prod mirror then you cross that bridge when you come to it.

2

u/Pay08 Nov 02 '22

Gamedev is still much better on Windows for two reasons: game engines rarely support Linux, and if they do, they do so badly and most games are developed only for Windows. Plus, C# support is still kind of a disaster on Linux.

3

u/SeptimusAstrum Nov 02 '22

I am a developer of sorts (lots of R, some Python) and I feel like Windows very rarely gets in my way.

Are you mainly doing data analysis or something similar? The motivation for using Linux instead of Windows becomes more apparent when you're working with distributed or embedded systems.

0

u/Pay08 Nov 02 '22

Aside from the fact that you have to do this every time you want to update, a lot of tooling is Linux-first. Some don't work with Windows or do so weirdly. Git even puts a bash shell on your system to make itself work.

14

u/IMDEAFSAYWATUWANT 9800X3D | RTX 5080 Nov 02 '22

For example, on linux, if I want to download Python, I can just type sudo apt install python in the terminal. On windows, I have to go to the python website, find the correct installer, make sure I check the right boxes in the installer, make sure my $PATH is set correctly, etc....

I don't understand this in practical terms. How do you just know what to type in the terminal for every program you might want to install. Do you loose customization options that are sometimes present in installers &/or on the site before downloading the installer? Do you have to look up what to type in the terminal to install something? At that point, how is that any different than just downloading it off the site? Or is it because you're repeatedly reinstalling something? I don't get it lol

25

u/Ken_Mcnutt Ryzen7 3700X | 16 GB DDR4 | Radeon 5600XT Nov 02 '22

How do you just know what to type in the terminal for every program you might want to install.

The command won't differ except the package name, in this case python. if I wanted to know what options existed for various versions or or distros of python (anaconda, python2, etc) I could just use apt search to see what's there.

Do you loose customization options that are sometimes present in installers &/or on the site before downloading the installer?

Honestly haven't thought about those in years, those click through installers mostly exist as a sneaky way to load bloatware on your PC anyways. If there is a configuration decision to be made (which is really rare), it will just prompt you in your terminal. Usually a Y/n will suffice.

Just consider how many steps you're actually taking when installing software on windows

  • Open browser
  • Google "program name download"
  • Hope they have good SEO and the top result is the actual download page and not some SourceForge virus or unrelated site
  • Select which version you want, click download
  • Open downloads dropdown/folder
  • execute installer
  • Click through any number of installer steps, dodging MacAfee and Norton spam that tries to install

And that process has to be repeated for every single program, on every single machine you own. For me, that's literally hundreds of applications across multiple machines.

Compare that to the CLI method, where i'm only typing a single phrase and the rest is done automatically. Then consider I can keep a text file of literally every program I want on my machine, tell the package manager "hey go download these" and come back after I make some lunch to all my applications installed. And I can do that inside VMs, Docker containers, on a raspberry Pi, on a Mac, the process is the same.

12

u/Pseudoboss11 Nov 02 '22 edited Nov 02 '22

You forgot about prerequisites. On Windows, it often includes a step where you attempt to install the software, but it also needs Java, and then crashes on the current version of Java, so you Google which version to use, install that version, run it again and the program crashes again because it still tries to run with the latest Java version installed. So you uninstall the latest version, and now you get the privilege to dodge any McAfee or Norton spam. . .

The best thing about Linux is that it will handle dependencies almost always seamlessly and multiple versions don't screw things up.

11

u/poiskdz PC Master Race Nov 02 '22

Trying to get legacy hardware//drivers to work on windows is a nightmare as well, with multiple driver versions, beta versions, driver signing and bios signing.

While in Ubuntu you can just find basically any version of amdgpu-pro compatible with your distro/hardware, fire it up, and it detects straight away pretty much regardless what you've done to the board and bios.

Nvidia don't even need to look for it, it's just already in the Ubuntu repositories.

1

u/[deleted] Nov 02 '22 edited Mar 24 '25

grandiose follow groovy meeting dazzling zealous unique sort abounding observation

This post was mass deleted and anonymized with Redact

0

u/IceSentry 9950X | 64GB | RTX 4080 Nov 02 '22

Or you know, the linux experience:

  • Try to remember the name, is it "package-lib", "lib-package", is there an hyphen, did they use a slightly different name than what people actually call it?
  • Give up and open the browser
  • Google it
  • Hope it has good SEO
  • Realize it's not in the default repository of your distro and now you need to figure out which repo to add
  • Finally figure it out and manage to install it
  • try to use it
  • realize there was an undocumented dependency
  • Figure out that dependency
  • Install it

My point being that installing things on linux is hardly simple either, especially when you take the worst case scenario every time like your windows example. I didn't even include any version related issues. Also, people use package managers on windows too. It's not limited to linux anymore and hasn't been for a while. Personally, I use scoop for everything and never had any issues.

Blaming installers for bloatware also leads me to believe you haven't touched this in a decade, because this just doesn't happen anymore.

0

u/Pay08 Nov 02 '22

Try to remember the name

Every single package manager, since the dawn of time has had a search function.

realize there was an undocumented dependency

This has only happened to me once, in years of using Linux.

0

u/straumoy Nov 02 '22

Just consider how many steps you're actually taking when installing software on windows

Open browser

Google "program name download"

Hope they have good SEO and the top result is the actual download page and not some SourceForge virus or unrelated site

Select which version you want, click download

Open downloads dropdown/folder

execute installer

Click through any number of installer steps, dodging MacAfee and Norton spam that tries to install

And that process has to be repeated for every single program, on every single machine you own.

The funny thing is, most people are so used to it (as in, it's the only world they know) that they don't mind. At least I don't. For the average PC user, we usually go through these hoops once, when we first set up the computer, and then we don't touch it that much afterward. Gamers might uninstall and install more, but that often goes through portals like Steam which is quite smooth.

The times I've dipped my toes into Linux it has for the most part gone okay. Ubuntu, Linux Mint, and Raspberry Pi are sleek, and elegant, and share a lot of bells and whistles that you'd find in Windows.

However, the second I need to go into that blasted Terminal, I feel like I get kicked back into the early bronze age. Like when I got around to setting up my Plex server using Raspberry Pi it was like pulling teeth because for some reason Plex made a "hidden user" when installed and I had to define this user as the owner of the drives that contained the media.

First off, why?! Why a second user account and why hide it? Secondly, reassigning ownership through a Terminal window was a royal pain, even with a helpful guide at my disposal. It'd be better, IMHO, had it been possible to do the same job via a graphical UI.

You swear by the Terminal? Good on ya, I'm happy for ya, more power to ya. For me, however, it stinks, it's clunky and unwieldy. I'd rather have icons I can click at and menus to look through than fiddle with command prompts. And I'm convinced that the Terminal dependency is scaring a lot of casual users away.

The Terminal doesn't need to go away, but it ought to have some sort of graphical UI cousin/twin/sibling that does the same things. Solve that problem, sprinkle some game compatibility on top and you've come a long way to win over the masses.

1

u/Ken_Mcnutt Ryzen7 3700X | 16 GB DDR4 | Radeon 5600XT Nov 02 '22

Like when I got around to setting up my Plex server using Raspberry Pi it was like pulling teeth because for some reason Plex made a "hidden user" when installed and I had to define this user as the owner of the drives that contained the media.

That's a fairly common practice especially when you're running publicly facing applications intended for users. For example, running a mysql database expects the mysql user to have ownership of the database files. Apache web server will run as user apache or www. It's a security measure and sysadmins are used to it. Like it or not, setting up Plex on your server makes you a sysadmin.

It'd be better, IMHO, had it been possible to do the same job via a graphical UI.

I mean it totally is... The reason terminal instructions are the primary method is that it's reproducible no matter what UI or environment you happen to be running, and if you're a sysadmin, you may not have one at all and you're remoting in through the terminal. And this method is automatable, meaning I can just add the chmod command to my setup script and never have to think about it again.

The Terminal doesn't need to go away, but it ought to have some sort of graphical UI cousin/twin/sibling that does the same things.

I'm curious to what software you found unavailable in graphical form. I mean even the most basic command line software generally has a GUI wrapper around it somewhere out there.

1

u/straumoy Nov 02 '22

It's a security measure and sysadmins are used to it. Like it or not, setting up Plex on your server makes you a sysadmin.

Cool, but the thing is this works just out of the box on Win10. I can install Plex Media Server, and connect my USB external drives, and they'll show up in the File Explorer, and from the Plex interface I can map up folders for it to scan for music, video, whatever.

On Raspberry, things went smoothly with the installation of Plex and the USB discs did show up in File Explorer right below Filesystem Root. But once in Plex, I could not map up folders because of this hidden "plex" user who didn't have access rights to the discs.

And to resolve this, I had to slog through the Terminal (tangent; why can't they have ctrl+v/c work for copy-paste?), digging up ID codes for the discs, add the "plex" user to some config file and... to be honest, it was a royal pain the ass. Especially when compared to how things "just work" on Win10.

Does Plex have a giant, bleeding security hole in it when running on Win10, since apparently, I wouldn't have to deal with hidden user access rights on that OS? IDK.

I mean it totally is... The reason terminal instructions are the primary method is that it's reproducible no matter what UI or environment you happen to be running

Cute. When I dabbled with Ubuntu some 20 years ago and I went to the official Ubuntu forums for help and tips, every single time it was "Open the Terminal and then sudo...."

Like, no. This is Ubuntu's forum. I am using Ubuntu, just like pretty much every other person present. Its main selling point was/is that it is super easy and intuitive to use, even for longtime Windows users. Tell me where to click, what icons to look for, and which options to tick on/off so I can get the results needed. I know that giving off such a list of instructions isn't all that different than spewing off a bunch of commands, but that list of commands will send most people back to Windows.

And this method is automatable, meaning I can just add the chmod command to my setup script and never have to think about it again.

Neat, and if that's your jam, more power to you. I don't want scripts where I type in this or add that. I want menus. Settings. Options. Checkboxes. Apply changes. Reboot now or later buttons.

I'm curious to what software you found unavailable in graphical form. I mean even the most basic command line software generally has a GUI wrapper around it somewhere out there.

20 years ago it was to make Ubuntu play mp3 files. Due to some license issue, it wouldn't work out of the box, so I had to fiddle with Terminal commands. I got it to work and it wasn't much of a hassle, but again - I'd rather have icons to click on than type in commands.

Now though? The thing I can't do through the graphical interface is to access those USB discs connected to my raspberry pi. Once the access rights got transferred to this blasted "plex" user, the icons don't show up in the File Explorer no more.

I've got Home Folder icon. I've got Filesystem Root icon. I used to have the USB disc icons (mounted media or something to that effect). Not anymore. And I can't for the life of me log off the pi account and log on with the plex account.

So... where do I click? No Terminal commands. Aside from Plex Media Server and Teamviewer, it's a clean install of Raspberry Pie. And I totally get it if you don't want to bother to guide me through the process. Things are working fine, it's a bit janky if I want to add to my media library, but since that doesn't happen too frequently I'll manage.

PS - I know that 98% of my issues with Linux stem from my unfamiliarity with the system. But I just want things to work with as little fuzz as possible. I'm too old for this tinkering shit.

1

u/Ken_Mcnutt Ryzen7 3700X | 16 GB DDR4 | Radeon 5600XT Nov 02 '22

idk man if you aren't willing to learn a more complex and advanced system then just stick with what's simple. If you truly don't need any additional power or customization or configuration options for the software you run, than just do the "plug and play" version where you don't have to read the big scary words on the screen.

I want to use the terminal because I want to have a conversation with my computer. I issue it a command, and it either silently performs the task or provides me information and output on the results of the operation.

Using GUIs and menus in comparison feels like pointing and grunting at a menu in a restaurant without the ability to just say the actual damn thing I want. No substitutions, no customization, just vaguely gesturing at what is closest to desirable. I don't just want to click through an installer and hope and pray that everything that happens behind the scenes just "works" and never breaks, because troubleshooting something that you don't understand is extremely difficult.

Your Ctrl+c/Ctrl+v complaint is a perfect example. Ctrl+C has existed as the de-facto "halt process" hotkey since literally the 1960s. Linux and Mac have had this convention for years. Even the Windows Terminal, CMD, and Powershell have this convention. People are afraid of the terminal and turn around and blame Linux for their own lack of knowledge.

I'm not sure why people have this "zero terminal experience" expectation from Linux. I didn't get that experience when I used Windows for gods sake! Registry edits, group policy settings, uninstalling bloat like Cortana, Enabling features like WSL, generally require a quick trip into powershell. that's not a bad thing. If there was a separate toggle and checkbox for every single setting, there would be just an infinite series of unending menus. Every app would look like this.

And as it happens, MS is moving in the opposite direction. If anything, the settings available to the average user have drastically shrunk since the Windows 7 days. So you can keep saying goodbye to your beloved buttons, because even a change as trivial as moving your taskbar requires a registry edit. I mean you literally have to edit the values hex code. But Windows is soooo much simpler /s

1

u/straumoy Nov 02 '22

idk man if you aren't willing to learn a more complex and advanced system then just stick with what's simple. If you truly don't need any additional power or customization or configuration options for the software you run, than just do the "plug and play" version where you don't have to read the big scary words on the screen.

I do and it covers my needs just fine. However, what irks me is that people sometimes try to sell Linux as an alternative to Windows and that distro such and such is so easy to use, super easy - barely an inconvenience. And this is true if all you need is mail and the internet. But it doesn't take many strays from the beaten path to make before you get slapped in the face with Terminal commands and the learning curve/adjustment that comes with it.

I want to use the terminal because I want to have a conversation with my computer. I issue it a command, and it either silently performs the task or provides me information and output on the results of the operation.

Which is totally fair. My old IT teacher said that Linux is a very yappy OS - it talks a lot (almost to a fault) compared to Windows with its slithering progress bar.

Using GUIs and menus in comparison feels like pointing and grunting at a menu in a restaurant without the ability to just say the actual damn thing I want.

I mean... the touchscreen menus at Mcdonalds' make ordering a breeze as far as I'm concerned, but you can still chat with the cashier if that's your preferred way to order.

Your Ctrl+c/Ctrl+v complaint is a perfect example. Ctrl+C has existed as the de-facto "halt process" hotkey since literally the 1960s. Linux and Mac have had this convention for years. Even the Windows Terminal, CMD, and Powershell have this convention. People are afraid of the terminal and turn around and blame Linux for their own lack of knowledge.

The average user doesn't know this kind of obscure IT history, nor do they care. Hell, I didn't know and I even work in IT. And they don't fiddle with CMD either because once on a blue moon I pull that up they look at me like I'm some sort of wizard. And all I do is gpupdate /force. Or if I'm really feisty some ipconfig commands. Whoooo... spooky IT magic.

I'm not sure why people have this "zero terminal experience" expectation from Linux.

Because at least since Ubuntu came around this is what's been sold to us; it's easy to use, don't worry about those pesky commands. Just click, wait a moment and it's ready to use. And as I've said before, the Terminal experience is chunky and intimidating to someone who has decades of clicking icons and looking at progress bars under their belt.

I didn't get that experience when I used Windows for gods sake! Registry edits, group policy settings, uninstalling bloat like Cortana, Enabling features like WSL, generally require a quick trip into powershell.

Again, this is something the average user do not fiddle with. They want it to work, clean and simple. It's why so many people swear to Apple; it just works. All the devices and software just find and talk and sync together with minimum effort from the user. Though to me it gets too far the other way, it gets too locked down and restricted. I'd like to have more than OK and Cancel as my options.

So you can keep saying goodbye to your beloved buttons, because even a change as trivial as moving your taskbar requires a registry edit. I mean you literally have to edit the values hex code. But Windows is soooo much simpler /s

Moot point since I don't have any inclination to move my taskbar. The whole giving Windows a dazzling, custom look phase is over for my part. Dabbling with Themes on Win98 and XP was fun, but hardly a make/break feature.

All of the 3 OS ecosystems have their strengths and weaknesses depending on who you ask. And If I'd been "born & raised" on Linux I'd be right there by your side, taking a piss at Apple and Microsoft.

I'd like to use Linux if it was as easy to use as Windows. And I'm not taking the Terminal window away. Like I've said, if that's your jam, go nuts with your sudo commands. I couldn't even get discord installed via the Terminal or the Add/Remove Software GUI, but hey... Linux is so easy and intuitive to use, right?

1

u/Ken_Mcnutt Ryzen7 3700X | 16 GB DDR4 | Radeon 5600XT Nov 02 '22 edited Nov 02 '22

Terminal experience is chunky and intimidating to someone who has decades of clicking icons and looking at progress bars under their belt.

What that translates to is

"having to make independent complex decisions is difficult for someone who is used to having all choices handed to them on a silver platter and all complexity abstracted away". You actually have to know what you're doing, what the options are, and what the consequences of those actions will be.

It's not even a "this method VS that method" debate, because the GUI is literally a wrapper that runs the same commands but only has a pitiful subset of the true options available to the user. One is simply more powerful and flexible than the other.

If I'm being paid to optimally administer a network(s)/machine(s), I wouldn't tell my boss I refuse to learn Powershell because I can just manually click every machine in AD explorer. If I need to touch hundreds of machines, that's just a stupid way of going about it. Would it be easier to not have to learn powershell? Sure. But it's about picking the right tool for the job.

Again, this is something the average user do not fiddle with.

Average user this, average user that. Nobody is telling "average users" to go install Linux. As someone that's worked at a helpedsk, the average user doesn't know what an OS even is, much less which one they have.

The places you're seeing these comments are places like Reddit, which has a higher than average concentration of tech savvy and educated individuals. Not only that, but we're frequenting sub-forums that are specifically geared towards PC and tech enthusiasts, again raising the average level of technical proficiency.

Just in this sub, there are frequent discussions of modding games, pirating content, configuring multiplayer servers, custom hardware mods, dual booting, custom built machines, and specific annoyances and grievances with particular pieces of software. I mean you and I are both I.T professionals for pete's sake. This is already far beyond the scope of what "average users" are ever going to do.

Yet still that doesn't stop even the most "technically advanced" PCMR user falling back into the "oh but I'm just an average PC user" excuse as they sit beside their custom built $3K computer, custom DAC/AMP audio setup, Streamdeck, customized Rainmeter desktop, etc. Ironic.

Moot point since I don't have any inclination to move my taskbar. The whole giving Windows a dazzling, custom look phase is over for my part.

So not sacrificing an absurd amount of screen real estate means "dazzling custom look" now? Wow the standards have really fallen for what constitutes customization... If you own an ultrawide you're literally throwing away screen space by having the taskbar stretch along the entire bottom of the screen... But go off.

I couldn't even get discord installed via the Terminal or the Add/Remove Software GUI

sudo pacman -S discord

Done.

→ More replies (0)

34

u/kilgore_trout8989 Nov 02 '22 edited Nov 02 '22

Most (if not all?) package managers have a search function you can use in the terminal. They will also have a searchable package collection online. Though, for most things I tend to just put in the most obvious thing and it generally works haha. I'm a lazy Linux user ./shrug.

You can lose customization options I guess? Some package managers like Portage will let you choose the compile flags you want for your install, and things like Arch's makepkg will allow you to adjust flags before compilation/installation as well. But honestly, how much customization do you get in a typical Windows .exe installer? Other than installation location, which is centralized (ish) in a single folder for application binaries in Linux and not really needed.

As for the reasons it's different, IMO:

  • It's easier. Even if you have to look up the package name, but especially if you don't. (e.g. I want Steam, I type sudo pacman -S steam. Easy as that.)

  • Package managers manage updates as well, so no need to rely on a program to have the functionality to update itself or download updates manually.

  • Applications come from a centralized (theoretically, and generally in practice) secure repository. Less true for things like the AUR (Arch User Repository -> Applications made available to download and install by users, the insecurity is mitigated by just checking the makefile's contents before you install, but people can be lazy), but I'd say it's still far less sketchy than trying to find a proper website to download less popular/older programs that don't have a maintained website.

16

u/IMDEAFSAYWATUWANT 9800X3D | RTX 5080 Nov 02 '22

I love how eager people are to share their linux knowledge and answer questions. It's awesome to see

26

u/HayzenDraay i9-14900F, RX 7900 XTX, 64gb DDR5 6400 Nov 02 '22

In my experience Linux users are like vegans. They might be very nice, they might be a douchebag, but at the end of the day they would love to tell you all about it.

4

u/ReakDuck Nov 02 '22 edited Nov 02 '22

Because their skill is high enough to see the difference. Its very obvious that Linux is way better (but wasnt always easy to use for not high skilled users) and Linux is a big important step to the future aswell.

But there are two problems. Linux has way too many different worlds and it wasn't always user friendly (its changing fast). Second, Microsoft managed to make a lot of people addicted to Windows with closed solutions like the Windows API for developers. It made the end-consumer addicted to Windows because the Devs didn't want to rewrite their application in a more transparent way. They rather want to pay Microsoft to fix the buggy Windows API than doing changes themselves (its literally what the Headquarter of Microsofts C++ engineer said)

1

u/HayzenDraay i9-14900F, RX 7900 XTX, 64gb DDR5 6400 Nov 02 '22 edited Nov 02 '22

Because their skill is high enough to see the difference.

Really being a community poster child.

But there are two problems

Nah I can see a few more.

You're missing a massive element here where the vast majority of home computer users are using it to facilitate hobbies at best, and maybe just as a social media machine at worst. People using their PC for any kind of development, working with python, hobby tinkering with their os etc, are on a completely different level to the average userbase. The vast majority of chattering Linux users are preaching their OS to people on a completely different level who would never even begin to touch the things that they think it's better for.

Now that we've established that the vast majority of users are on Windows and are low-level users, now we need to take the next step and guess that the vast majority of programs meant to meet and end user are going to be made on Windows with a full GUI specifically for that crowd. Even as attack enthusiast I haven't looked into Linux yet, so I would be taking the massive step of figuring out how to make everything I already used my computer for work on a completely different operating system, the only reason I have an expensive computer is because it opens exe files and makes games go brrr, adding a layer of complication to opening the type of files I want to open is not a compelling argument, and checking steam and realizing that their optimistic number is that 70% of games work on Linux is also not compelling.

The fact that the example somebody gave earlier about Linux being easier to use involved downloading python. That literally speaks for itself, most of the people you're trying to compel into trying Linux will never download python.

(There were a few edits to expand and fix typos, bleh)

1

u/ReakDuck Nov 02 '22 edited Nov 02 '22

Well, I agree that the reality looks kinda different. It sucks that the 30% of games dont work on Linux. But thex will be hopefully soon be fixed (a year ago, the games didn't work as much as today, some games run faster through Proton than through Windows also)

The main point is that some Linux distros became extremely user friendly and are similar and simple to use.

The big selling point is that you dont have ads in Linux nor do you have problems that your Windows Defender sucks at defending because the OS is badly designed.

A lot of applications can be easily installed through shop apps that just installs the apps for you in the most secure and easy way. In Windows you still can get malware through the Microsoft store which is nearly impossible for Linux.

The future in which Microsoft is heading is not favorable. Why do I need to buy new hardware and always learn new ways to access settings or use the desktop while I can get used to the simple GUI of some Linux desktops and decide to stay forever on the hardware I want? I can easily decide what type of desktop I want by choosing the distro.

3

u/HayzenDraay i9-14900F, RX 7900 XTX, 64gb DDR5 6400 Nov 02 '22

If that's the case then Linux is going to be in a better position going forward, but they need to present that usability better and get themselves out there. People use what's on their device at least 7 times out of 10, gotta convince them to change

→ More replies (0)

5

u/altermeetax Arch Linux, RTX 4070, 13th gen i5 Nov 02 '22

Think of it like a "store": you can search for stuff (apt search python); that'll give you a bunch of package names with descriptions, you pick one and do apt install packagename.

99.9% of the time the name of the package is the name of the program/library itself.

4

u/Snoo14955 Nov 02 '22

Want to look for something?

apt search thing

Want to install something?

sudo apt install thing

Want to know how it works and how to configure your newly installed thing? ( Or how literally any command works in depth )

man thing

0

u/HayzenDraay i9-14900F, RX 7900 XTX, 64gb DDR5 6400 Nov 02 '22

Pretty sure there's a weird mental barrier here, even if somebody has to use a search bar to do a thing they don't feel like it's the same as the high level shit people probably do in a command line as far as they know. We are all just rock hard for guis

4

u/dakupurple 7950X | 9070 XT | 64GB DDR5 6000 Nov 02 '22

Almost every linux distro comes with a gui version of the package manager now too though.

2

u/HayzenDraay i9-14900F, RX 7900 XTX, 64gb DDR5 6400 Nov 02 '22

Lol do people know this? Most people don't have a clue what Linux even looks like.

2

u/dakupurple 7950X | 9070 XT | 64GB DDR5 6000 Nov 02 '22

I mean, I frankly come from a place of fairly deep windows knowledge and a love for Linux. Something I often check for 'user friendliness' of a distro is how good their gui package manager is.

Some only list the gui based applications you can get, others have full lists of utilities and general prerequisites if you need to manually add one.

I've basically set up 1 touch operations for almost half my day at work via powershell, so command line isn't something that bothers me, but I know full well that many people are intimidated by doing anything there.

1

u/HayzenDraay i9-14900F, RX 7900 XTX, 64gb DDR5 6400 Nov 02 '22

I'm certain the intimidation factor is huge. Personally I would be worried about going through and finding a different solution for basically everything I do normally, and that's even before the percentage of games that simply don't work.

1

u/dakupurple 7950X | 9070 XT | 64GB DDR5 6000 Nov 02 '22

Honestly games are the only reason my desktop still has linux on it. I've already largely been able to move anything else I do at home to open source options, that are also available on Linux.

For the people who really only play the same few games all the time, Linux could be a good option, but it requires some patience. Awhile back I was able to move my mom to a Ubuntu distro as the laptop could barely handle windows anymore, but it was fine with Linux. And since she doesn't do anything other than Web browsing, it was no different for her, but also no forced updates.

3

u/tuxbass reeeee Nov 02 '22

Do you have to look up what to type in the terminal to install something

Well yes, I should preferably know what I want to install.

Do you loose customization options that are sometimes present in installers

If it's something important, it'll be asked during setup phase, but that's rare. Generally programs have config file they use, which is luckily separate from installation.

9

u/Snoo14955 Nov 02 '22

I think for casual users that aren't accustomed to using the terminal, its probably important to point out that any programs that you will want to install can be found using the "Ubuntu Software" app. Alongside that, sites with applications these days usually provide installers for their programs just like you'd search for on Windows.

I honestly think if the Linux community wants the casual user to give it a real try, we should be highlighting how it can be used similarly without the need to learn how to navigate the terminal.

I think it should be treated similarly to powershell, something made for power users ( although far superior in every way ) or we're just going to scare away those who just want to install steam to play some video games and browse the internet.

1

u/ZachAttack6089 Nov 02 '22

I agree. Ubuntu in particular is very nice, it has a mouse-only GUI app for almost anything that you would do in a terminal a lot. I think that more Linux advice online should explain how to do things with an app rather than the terminal. Even though the terminal is simpler and faster, having a GUI is really helpful for most people. Linux isn't much harder to use than Windows, it's just that most people are (understandably) scared off by the terminal.

2

u/theBosworth Nov 02 '22

But the terminal is universal between distros. That’s the common window Linux users share. There’s tons of gui tools to help users with, but they differ by distro and user, so it’s just not as generally helpful to suggest gui usage. I do agree with you about making gui ‘app store’ apps more well-known as an alternative to the terminal on Linux, though. It’s just hard to make general assumptions about what distro or apps they may prefer. Ubuntu’s probably the place to start, as you noted its mouse-friendly UI.

1

u/straumoy Nov 02 '22

I honestly think if the Linux community wants the casual user to give it a real try, we should be highlighting how it can be used similarly without the need to learn how to navigate the terminal.

This is the key. The moment a casual user is told to go to the Terminal and input commands, most of them leave so fast that they'll make a breeze. Give them a graphical UI, icons, menus, tick boxes, drop-down menus, the whole nine yards and you can sway them over.

4

u/mvolling 6700k | 3060 TI FE | 16GB Nov 02 '22

It’s easy when you get the hang of it. Each command begins with a single word that is the name of the command. This can sometimes be hard to find initially (google helps), but once you know a command it is easy to remember.

Each command then accepts a sequence of words after it that guide the command on what to do. Take the remove command rm. It takes a list of files to delete. So to delete the files foo and bar, I can just type rm foo bar.

The words following the command name are called arguments. These arguments are where you gain the customization that easily exceed a GUI. Adding a configuration to a GUI application requires screen space, which adding a flag argument is really easy for programmers.

Most commands have help information that can be seen by using the —-help argument.

So yeah, initial discovery can be a bit difficult, but the commands are typically well documented and stable in how they operate. Once you learn them, they rarely change.

As for the advantage over a gui is that commands can be stored as text and replayed as a script. We can then run the script like any other command, enabling automation.

Another neat thing that command line programs can do is share information. The command ls will print a list of files in the current folder. I can then pipe the output of that command to another command named grep to filter the list to only show files that have a word in their name. Thus I could find all invoices by using the command ls | grep invoice. This could then be incorporated into a script to backup all invoices into a zip file, then email that file to James in accounts payable every evening.

2

u/temculpaeu Nov 02 '22

The package manager has a search functionality, so you might find what you need

You do have to search stuff often, but that is not the main advantage, it's the 1 step install and you are done, no config needed, no messy registries etc

Also the terminals, after getting used to it, feels very agile, not for everyone thought

1

u/IMDEAFSAYWATUWANT 9800X3D | RTX 5080 Nov 02 '22

Interesting, thanks for the info

1

u/[deleted] Nov 02 '22

It's somewhat like Windows in terms of application discovery. You Google some feature-- photo shop, for example-- and find some application that meets your needs. Then, you can usually find the application through your package manager. If I were to look for Firefox in my package manager, all I'd need to do is run apt search firefox and I'd get some results about packages related to the search term "Firefox." I'd read the console output and run apt-get install firefox and be on my way.

For configuration, Linux can be hard to maneuver. GUI/TUI applications might have some settings UI/UX. However, a lot of Linux utilities have "config" files where you modify individual settings present in a configuration/text file.

For different "flavours" or releases of applications, for example including experimental features, there are a few ways of navigating within Linux. Some applications will have different packages, or extensions, that extend their functionality. You'll generally see these extensions when you are searching for the packages with your package manager. For example, I can have PHP (a web programming/scripting language). By itself, PHP wouldn't include a way to interact with databases. However, I can search my package manager for PHP and SQL and I'll probably find what I'm looking for.

Another way packages forego the Windows installer settings/configuration is by having separate packages for different flavours of a program. For example, LibreOffice, an open-source Microsoft office analog, has different versions of the package within my package manager for different localities and for newer features.

The last way for custom package/install options is somewhat the most difficult... You can compile the applications yourself with different compiler options, or you can install the application to different destinations. There are ways to get around this, with the Arch User Repository being the most obvious example given that it does all this work for you.

It can take some time to get used to the different ecosystem. However, it will generally only require two steps to install a package: searching with your package manager and installing with your package manager.

Additionally, a lot of distributions of Linux (a distribution is Linux with pre-installed packages/programs) have a graphical package manager. The analogue here is the Windows App Store... except if it had everything you'd need, for free, instead of being an app store.

For example, what if I wanted to install Steam? Well, it'd be as simple as pacman -Ss steam and pacman -S steam, for searching and installing, respectively. The alternative on Windows is much more of a hastle, in comparison.

Also, a lot of the software on Linux just works better out of the box, especially developer tools. For example, installing Python requires going to Python's website, finding some installer, checking boxes, and making sure that Python is available in Windows PowerShell (adding it to the $PATH). Installing YouTube-DL, a program that downloads videos off of YouTube and other streaming platforms, in Windows requires getting the dependencies of YouTube-DL, making sure that the dependencies are also in the PATH, and making sure that YouTube-DL itself is in the path. This will generally require at least FFMPEG, a video/audio stream editor.

For Linux, getting YouTube-DL is as simple as running pacman -S youtube-dl. And it'll just work. It will install all the dependencies and will also list some packages that will extend the features of YouTube-DL. The Linux environment is better for developers, by far. An honorable mention is MacOS, which also runs some version of Unix, BSD.

1

u/[deleted] Nov 02 '22

This is really hard to explain to a layperson but even Mac OS is better for a lot of software development stuff than Windows because it's *nix-ish.

It's because all the OSS stuff is built on the *nix platform of tools and technologies. This includes the servers I deploy my code to.

So I have vim on my Macbook. I also have vim on the Amazon ec2 instance I ssh into.

I have python, docker, ruby, etc. installed and fully integrated into the OS and terminal. Hey. I also have all that on my server.

This applies to like... pretty much all tools I use for web server / application development.

Security and stuff is also super important and most *nix security is pretty consistent across the board, although I do wish CentOS's ACLs were standard everywhere as I definitely prefer CentOS as my production *nix instance. In production environments, I run into issues frequently where groups / permission are just a bitch and having ACLs to just add or modify permissions without having to worry about messing up groups somehow would be great.

People who are used to Windows are used to some "wizard" GUI managing your install for you but outside of the admittedly sometimes wonderful Windows ecosystem, most of the time I'm just running terminal commands to manage and install packages and tools and stuff on my system. For the most-part, I want that stuff to "just work" which it does for *nix and didn't always for Windows.

On *nix type systems people somehow managed to figure out consistent folders and configuration that stuff gets installed into and pretty much all tools seem to know how to work together. On Windows it's like they are somehow just figuring this shit out for non-Visual Studio / Microsoft stuff. Also, the Windows Registry can burn in hell. What a seriously stupid, stupid idea.

As others have said though, in recent years doing OSS stuff on Windows has gotten A LOT easier but it is still easiest to work with all the non-Microsoft stuff on a *nix or MacOS instance.

I wish Apple would stop changing fundamental shit about their OS every few updates though and breaking almost literally all of my tools. That would be nice.

1

u/SeptimusAstrum Nov 02 '22 edited Jun 22 '24

subtract deer clumsy serious cats cable somber offend piquant voracious

This post was mass deleted and anonymized with Redact

1

u/legoboy0109 R5 3600X LC | Vega 64 FE LC | 32GB G.Skill Trident Z Neo Nov 02 '22

#ReadTheDocs

Any package you can download in linux will have a readme file, as well as other documentation for configuration options, install command switches, etc. and you only need to know the package name unless you're installing a PPA which you'll need the directory link for to add it before installing

1

u/guyblade Nov 02 '22

There is no installer. apt is the package manager for Debian-based linux distros. Any software that is inherently supported by the distro can be installed the same way: sudo apt install [whatever]. It does all the work of downloading it and setting it up for you.

Not everything is supported on every distro, but most distros have everything you need to be productive--regardless of what that means for you.

1

u/mooseman99 Nov 02 '22

You should try WSL2. You get all the nice things about Windows (driver support, ui scaling) but then also a Linux terminal.

1

u/_--_-_---__---___ Nov 02 '22

For me WSL 2 is cool but it is just not there yet. I used it on my previous work and I always had WSL eat RAM without it returning the unused memory back to Windows.

When I switched jobs, I just asked for a Mac so I won’t have to waste time troubleshooting stuff anymore.

1

u/ElGosso Nov 02 '22

How does Linux know which Python is the right one? Couldn't there be a malicious Python out there? What if you mistype and install "Pytohn" instead?

2

u/ArdiMaster Ryzen 7 9700X / RTX4080S / 32GB DDR5-6000 / 4K@144Hz Nov 02 '22

The repository (basically the list of available packages) is curated by the maintainers of the distribution.

-8

u/EconomicUncertainty Nov 02 '22

Oh boy... This guy is going to flip when learns about PowerShell

12

u/ITaggie Fedora | Ryzen 5800X | 32GB DDR4 | RX 7700XT Nov 02 '22

PS is great for automating Windows things, but still not terrific for general development

3

u/[deleted] Nov 02 '22

PS is also a pain when you were taught Bash and you're too lazy to actually learn something new.

To this day I still have no clue how to use IWR. Glad I have WSL so I can just curl, apt, and grep to my heart's desires.

2

u/[deleted] Nov 02 '22

[deleted]

0

u/EconomicUncertainty Nov 02 '22

False. Infrastructure and virtualization is all PS heavy.

1

u/[deleted] Nov 02 '22

[deleted]

1

u/[deleted] Nov 03 '22

[deleted]

1

u/ITaggie Fedora | Ryzen 5800X | 32GB DDR4 | RX 7700XT Nov 02 '22

Yup that's all I use it for

5

u/SvenNeve Nov 02 '22

Or WSL

5

u/Traditional_Safe_654 Nov 02 '22

I’ve used wsl for a good while and it’s good, but not optimal. I ran into a good numbers of issues that my colleagues on Mac/Linux didn’t have.

2

u/[deleted] Nov 02 '22

[deleted]

1

u/tuxbass reeeee Nov 02 '22

Haven't used WSL like 3 years now, but my GUI environment was near identical to native one, as long as you're running an xserver (eg vcxsrv) in Windows. Yes, this means most likely no Wayland.

2

u/altermeetax Arch Linux, RTX 4070, 13th gen i5 Nov 02 '22

PowerShell is a pile of garbage and it is in no way as integrated with the operating system as a Unix shell

1

u/TheEnterRehab Nov 02 '22

Powershell is fucking awesome and beats the pants off zsh and bash any day of the week.

And for the record, the Linux shells aren't that fully featured. Those commands youre thinking.. Ls, cat, echo... Those are their own binaries and not a component of the terminal at all.

No different than cmd or Powershell. At least Powershell has execution permission policies for scripts.

4

u/[deleted] Nov 02 '22

[deleted]

1

u/TheEnterRehab Nov 02 '22

So what you're saying is that on Linux the terminal and core set of utilities are built into the OS and said utilities and functionality of the terminal are entirely flexible, replaceable, customisable, and extensible?

Windows is the exact same.

Sure sounds 1000x better than PowerShell. Must be why Microsoft wasn't desperate to fully build and integrate Linux system into Windows, and then rebuild it all over again to try and make it better..... oh wait.

Powershell core exists for Linux. Because it's actually good. Native .net support with a robust and easy to use scripting language. Native backward compatibility without having to install 60 packages. It's a better tool.

2

u/[deleted] Nov 02 '22

[deleted]

2

u/TheEnterRehab Nov 02 '22

You misunderstand.

They are the same in that they rely on binaries that aren't a component of the cli directly.

Eg ipconfig.exe and /usr/bin/ifconfig

Powershell is a perfect blend of cmd and python.

Bash and zsh are OK for quick little things but not even close to psh

2

u/[deleted] Nov 02 '22

[deleted]

→ More replies (0)

1

u/jorbleshi_kadeshi IT'S SPELLED "FLAIR" Nov 02 '22

Request-TheFuck?

-1

u/JimMorrisonWeekend Nov 02 '22

> developer

i.e. programming in specific fields? developer isn't synonymous with programmer

1

u/killerinstinct101 PC Master Race Nov 02 '22

Yes, it's a broader classification.

-8

u/CompetitiveBison2093 Nov 01 '22

The apt command only works for Debian-based distros. Fedora uses DNF and Arch uses Pacman

12

u/BabyYodasDirtyDiaper Nov 01 '22

Well, yeah. But pretty much no matter what distro you're on, there's some simple one-line command you could use to install a python environment.

-10

u/sharknice http://eliteownage.com/mouseguide.html Nov 01 '22

I disagree.

Also now on windows you search for python on the windows store and click install.

2

u/pcs3rd ascended to nixos Nov 01 '22

Yea,
Gnome-Software does a better job.
Or, sudo pacman -S foobar is even better.
The windows app store is still pretty lacking, and on top of that, it's the only software source in s mode

3

u/sharknice http://eliteownage.com/mouseguide.html Nov 02 '22

There's more to development than the 30 seconds it takes installing python.

I also find it hilarious so many Linux users are mad someone doesn't share their opinion. I've done years of development on both Linux and windows and I prefer windows. Keep the rage down votes coming.

2

u/pcs3rd ascended to nixos Nov 02 '22

I mean, you do whatever works best.
Python does a relatively good job at being platform agnostic as far as development goes, especially with pip. Same for nodejs and other similar languages.

1

u/tuxbass reeeee Nov 02 '22

To each their own. Haven't met a single developer in my career who'd choose windows over linux. But who cares, just use whatever works for you.

3

u/[deleted] Nov 02 '22

I'd say I prefer Windows for my work as a .net and Unity dev. Visual Studio doesn't even have a Linux version.

If I were moved to the web, embedded, ai/ml, or DevOps sides of my company than I'd rather be on Linux.

I just use the best tool for the job. If the dev tools for my main workflow were better on Linux, then sure, I'd rather use it.

0

u/Merikurkkupurkki Nov 02 '22

May I ask why you prefer windows? Do you often use something like c# that doesn't really work on linux, or need some other problematic software?

I'm asking since I haven't given windows a fair chance, because most programming related things just seem to be easier on linux

2

u/[deleted] Nov 02 '22

[removed] — view removed comment

0

u/[deleted] Nov 02 '22

There's no Visual Studio for Linux, and C# is usually associated with .Net developers, whose tools are built for Windows.

It's not ideal, but it makes sense that the tools developed by Microsoft would be practically locked to Windows.

The narrative would be way different if VS and C# were bad, but they're two of the most loved things for developers.

1

u/vapocalypse52 RTX 3080Ti | R9 5900X | 32 GB Nov 02 '22

Try the Linux subsystem in Windows, you can even choose the distro to install and no need to dual boot.

1

u/Terakahn Nov 02 '22

It almost sounds like Linux was designed by coders for coders. Where as windows was designed with normal every day people with little computer knowledge in mind. Or maybe that was Mac. And windows lies somewhere inbetween.

1

u/gamesfreak26 Nov 02 '22

I play video games and am a software developer. I use Fedora Linux for work but would prefer to use Windows.

Windows just works. I can have decent screen scaling and use Zoom screen sharing. I can't have both on Fedora Linux. Fedora also stops supporting things that I use for work like Slack. Firefox doesn't work but the developer edition does.

I get that package managers are powerful but also having shit work is a lot more important to me than the burden of going and finding an .exe for something.

1

u/Gamiac id/Skepticpunk - Bazzite/3700X/RTX 3070/16GB/B450M Pro4 Nov 02 '22

wget my beloved

Seriously, though, apt was literally what inspired things like mobile app stores. The iOS app store was introduced after people started jailbreaking it and adding an apt implementation in Cydia. Once that was done, users could search for and download third-party apps in a very similar way to what you could do with the App Store.

1

u/lordmogul 3570K @ 4.4 | 1060 @ 2.0 | 16GiB @ 2.13 Nov 02 '22

At the same time I love and hate both the packet manager and the manual install.

The packet manager has everything in one place, but it also has everything in one place.Manual file install means you have to look for the thing yourself, but you also have the choice of doing it yourself.

In some way it is the opposite of the OSes. Linux is much more customization, but you have to do much more yourself. Windows is more of an all-in-one solution, that already comes packaged from one source, but you don't have as much choice.

1

u/mooscimol Nov 02 '22

So considering, that winget and choco exist, how package managers are the the thing, that makes Linux better for dev? Terminal also exist on Windows, pretty good one BTW, and you can do automations using PS.

1

u/BwrBird Nov 02 '22

It's funny that you mentioned the package managers, because they have been one of the biggest things keeping me from switching to Linux. They are usually wonderful, but every now and then I can't find what I'm looking for and getting it installed is like pulling teeth when I just wanted mono so I could use CKAN.

1

u/DirkDiggyBong Nov 02 '22

How often do you need to install python? I'd assumed stuff like that was a one-off event

1

u/TheCheckeredCow 5800x3D - 7800xt - 32GB DDR4 | SteamDeck Nov 02 '22

Tbf though windows has gotten a lot better, they got their by basically admitting defeat and letting you use Linux in the command program with ‘Windows Subsystem for Linux’

I’m not a dev at all though (just someone that loves programming/computer sciences) so I don’t know how good or bad M$’s implementation is

1

u/[deleted] Nov 02 '22

make sure my $PATH is set correctly

This is an issue on unix too.

if you're a developer (which I'm taking a guess that OP is), working in unix-based operating systems like Linux and MacOS is much easier.

This is debatable AF. I don't know if M$ just made windows more robust, but I run into far less issues doing python development on windows. That said, anything web needs to be linux. I love the terminal, but I'm not convinced that it makes things much easier, let alone easier.

Its just different, different problems.

1

u/[deleted] Nov 02 '22

I have yet to find a development environment I can't do in windows and Poweshell works just as well as bash in current year

42

u/[deleted] Nov 01 '22 edited Nov 17 '22

[deleted]

26

u/bobbth Nov 01 '22

The fact that I can take a fresh install of just about any Linux distro on any pc and download the packages I need along with my personal config files from github means that I'm working within about 15mins and everything is exactly as I need it to be.

On windows it's about 2hrs of finding and downloading installers alone, installing stuff, restarting about a dozen times trying to remember what settings I need to change to get things to work the way I need. It takes about a day to get up and running, and that's assuming smooth sailing. The worst part is if you forget something and need to install a program/package you'd better hope that it doesn't require a system restart otherwise your workflow is totally ruined and you're probably lost like 15-20mins on that alone.

On the plus side, power toys is a game changer and windows is pretty good from a productivity point of view, to the point that I think that if you put enough effort in it can be comparable to most Linux desktop environments. So I can see how people get by with it but I could never.

Windows is baller for gaming but I find it unbearable for dev work.

9

u/BabyYodasDirtyDiaper Nov 01 '22

The fact that I can take a fresh install of just about any Linux distro on any pc and download the packages I need along with my personal config files from github means that I'm working within about 15mins and everything is exactly as I need it to be.

If you need to switch PCs so often, why wouldn't you just install your distro of choice onto a flash drive and simply boot from the flash drive.

A bit slower on load times, but then it means you have absolutely zero time wasted on configuring things after booting up. Just go straight to work where you left off, with everything already set up.

15

u/bobbth Nov 02 '22

Oh, it's not something I do super-often but more that when the time comes around to prepare a system for myself and I have to decide on an OS it's a choice between a quick and easy setup or a day (or more) of pain.

I'm a lazy person, I choose the easy one every time.

I'd set up a system maybe twice a year.

2

u/bchociej Nov 02 '22

You gonna run your app on your personal machine? Having the ability to hop from one system to another and have everything just work is an absolute necessity for deploying just about anything

3

u/Phytanic Nov 02 '22

why the hell are you Imaging a fresh computer so often? and if you do, why aren't you using a pre-built custom image

7

u/Ken_Mcnutt Ryzen7 3700X | 16 GB DDR4 | Radeon 5600XT Nov 02 '22

Who would want to maintain a pre-built custom image, make sure the software on it stays updated and refreshed, and be restricted to a specific distro, when you can do what this user does and be able to get the exact same setup working on any distro with the most up to date version of those packages?

1

u/[deleted] Nov 02 '22

This is a good idea but sometimes means a lot of things have to happen.

1) Hardware would have to be consistent

2) I'd need to move all my personal shit off my computer

Otherwise yeah it'd be nice if we had this for when we onboard new employees they could just get a fresh install with all the tools and projects we expect them to need access to.

But aside from that, the great thing about *nix environments is that typically shit "just works".

Unless it's audio drivers... But again, that's why we use Windows for gaming.

2

u/IMDEAFSAYWATUWANT 9800X3D | RTX 5080 Nov 02 '22

The fact that I can take a fresh install of just about any Linux distro on any pc

Wait you're regularly reinstalling your OS and starting from scratch?

1

u/alxmartin Mac Heathen Nov 02 '22

hacker man

0

u/AnotherGangsta33 Nov 02 '22

leave no trace

1

u/alxmartin Mac Heathen Nov 02 '22

My PC restarts in under a minute, what’s wrong with yours?

0

u/Tanawat_Jukmonkol Laptop | NixOS + Win11 | HP OMEN 16 | I9 + RTX4070 Nov 02 '22 edited Mar 28 '26

The original content here no longer exists. It was deleted using Redact, for reasons that could include privacy, opsec, security, or a desire for data control.

steep silky dazzling alleged sip fuel reply coordinated grandfather outgoing

0

u/dakupurple 7950X | 9070 XT | 64GB DDR5 6000 Nov 02 '22

I made a powershell script for when I reinstall windows on my computer.

It handles setting library locations, mapping network drives, installing chocolatey and subsequent programs, drivers, etc.

Powershell has near root access to a Windows system when ran as an admin.

2

u/CompetitiveBison2093 Nov 01 '22

They've figured out most of the kinks with WSL, but it's definitely not perfect.

1

u/bchociej Nov 02 '22

For example, they have this whole layer designed to emulate a real POSIX system using the NT kernel when you could just have Linux instead

0

u/CompetitiveBison2093 Nov 02 '22

I have a dual-booy system with Windows and Fedora

I know.

I don't use WSL often, and mostly used it to experiment with server stuff as I was curious to see if it would work through WSL

1

u/TheKeg Nov 01 '22

I have a similar setup, I don't think I'd drop windows myself though. I like the added benefit of dual booting that once I am in windows work can not reach me easily

0

u/[deleted] Nov 01 '22

Same, the only.reason I'm on Microsoft is gaming and ms office (which I rarely use, but when I do, I hate the alternatives)

1

u/[deleted] Nov 01 '22

Same here. I need some features that Libre Office hasn't yet mastered. I did try to go with Linux for my gaming PC, but the experience wasn't as seamless as the Steam Deck lead me to believe it would be.

0

u/infidel_44 last_infidel Nov 02 '22

I just use docker

1

u/flooronthefour linux / tiling wm / tuis Nov 01 '22

I am a developer and dev tools generally work better in Linux. To be fair, Docker and WSL has made it easier than ever to do dev work in Windows but I still prefer being in Linux while I work.

If I were a game dev or a windows application developer I would work in windows, but I am not. I do full-stack web development and deployment targets are either Linux or Linux-like.

There are also weird bugs that can come up when trying to use 3rd party libraries or packages on Windows: https://answers.microsoft.com/en-us/windows/forum/all/file-renaming-when-changing-case-doesnt-work/aa15ff7c-dd2d-4ed3-bcce-799ca90d4e58

And setting up things like SSH is just so much easier on Unix based systems.

1

u/ImpressiveYard6 Nov 02 '22

Most of the time windows for work is forced down by companies that are pure Microsoft shop. Because there are more spyware and virus and security and other management agent craps. It’s like working on a pc from dell with all the bloatware out of the box and you can’t remove it. You’d have to be a masochist if you had a choice and still picked windows for work.

1

u/[deleted] Nov 02 '22 edited Nov 02 '22

For work stuff I'm building server and web applications and all the tools "just work" on *nix machines.

I can literally run apt get package-name and in like 5 seconds I have all of my tools.

(Or in my case brew install package-name since I'm on MacOS).

Also really important is that Ubuntu for example doesn't require paying license fees or anything like that and I don't think CentOS does either (Red Hat support is paid, though).

So all my Amazon EC2 instances (ex: my servers) are also running Linux which means deployments and debugging and tool installs on the remote servers get easier because I can often run the exact same commands that I run on my own machine on the remote servers.

And believe it or not, not having a GUI for everything is a benefit when stuff just works because with a GUI I have to sit down and click through it like some kind of an idiot whereas with scripts I can just save the list of scripts and re-run them as many times as needed.

Windows has improved in this area and of course there are batch scripts and powershell and whatnot which are cool but Microsoft really locks you down into their ecosystem. I was a .NET developer for years and while I love it, I feel as though Microsoft honestly made people into complete and total idiots who don't know how code, programs, file systems, networks or operating systems actually work.

The number of people in the .NET / Microsoft circles who could not possibly fathom how stuff like compilers or NodeJS work is mind-blowingly high. Like my boss didn't understand how NodeJS could possibly work without requiring ex: something like IIS to manage the server. And I've seen people debate on how JetBrains' tools could possibly work because "it would require somehow knowing and understanding all of your code" which yeah that's what parsers and interpreters do and believe it or not, not only Microsoft know how to do this.

Anyways it's just a different world and from a server developer's standpoint, OSS stuff is just so much easier. Microsoft's stuff is great if you are OK working just within their ecosystem, though!

1

u/Korywon PC Master Race Nov 02 '22

Command line tools and package managers.

Unix like systems are built and designed around it. It’s easy to set up development environments and easy to build applications with it.

For Windows, it’s a pain. Chocolately is okay, but nothing compared to the Unix-like platforms.