I don't like the mess some software makes when it install in my system so I want to move it to a more appropriate place.
My questions are:
1- Where is the most appropriated directory for this? (some hidden folder made with this purpose, I thought linux had something like this as a standard)
The appropriate directory's are the XDG Base Directory, check this page on arch wiki to move them correctly. You can also use xdg-ninja and it will scan for these extra directories on your $HOME and tell you what you need to do to move them to their appropriate location or not if these directories are hardcoded or cannot be moved.
~/go is created when compiling go programs, you can change it's location with the GOPATH environment variable to something like GOPATH=$HOME/.local/go, and moving the directory there.
Never seen ~/perl5, could you provide the output of perl -V
Agreed - I'm much happier with my /files directory. Not to mention I have no interest in organizing my files by type (photos, documents, music). Instead I have directories like house, finances, podcasts, etc.
I just wish programs wouldn't take the XDG directories so seriously and default to those locations. I'd rather they always default to last saved directory.
I didn't like the capitalised names so configured xdg to use all lowercase letters. That's why ~/opt fits in pretty nicely.
You've got a point re ~/.local/opt but I personally like the idea of having the important bits right in my home dir. Here's my layout (which I'm quite used to now after all these years):
$ ls ~
bin
desktop
doc
downloads
mnt
music
opt
pictures
public
src
templates
tmp
videos
workspace
where
bin is just a bunch of symlinks to frequently used apps from opt
src is where i keep clones of repos (but I don't do work in src)
workspace is a where I do my work on git worktrees (based off src)