Taking courses which involve subjects that you will likely never encounter in the workforce is a thing in every discipline. Most engineers don't need to manually solve differential equations in their day jobs, they just need to know that they exist and will often require numerical solutions.
Getting your hands dirty with the content provides a better understanding when dealing with higher level concepts.
When in doubt, ~/.zshrc. It's the right choice 99% of the time. Otherwise, there's a chance you fuck up scripts you've installed which assume no shell options have been changed in non-interactive contexts.
What kind of functions do you write which you share between your scripts? Generally if I'm wanting to reuse a non-trivial function, I extend the functionality of the first script instead.
Select the color which matches the steps before filenames ((non-)login and (non-)interactive), then follow that arrow the rest of the way. There's more colors in Bash because Bash makes a distinction between remote and local shells.
Another way to look at the same data for Zsh (note: $ZDOTDIR will be used instead of $HOME if it's defined at any step along the way):
Optional crash reporting was merged. Most of the backlash in the PR is about the significant dependencies (Google's BreakPad) which were pulled in with it.
However, by default Audacity isn't built with it, you need to specify a CMake with the URL to send data to. No distros that I know of enable reporting.
Judging purely on the dependencies I see in pacman, nsxiv depends on imlib2, which pulls in a lot of libraries, while imv links to a subset of those libraries directly.
I put newlines in my filenames to break both CLI tools and Windows filesystems