I assume you mean a real OS where all the files associated with a
particular app are disseminated throughout the file system, and rub
shoulders with similar files of every other application?
Because the programs themselves in Linux are all placed in one of a very
few directories, they are all accessible conveniently from a short and
simple PATH - solving exactly the problem that Skybuck has here.
Everything else you mention is just a repeat of moans you have made on
previous occasions about how you dislike the Linux filesystem standards.
I use both Windows and Linux, and they each have their advantages and
disadvantages - but I greatly prefer the standard filesystem layout of
Linux.
Linux is nothing if not flexible, however. For a completely different
arrangement that might suit your preferences more, see
Compared with Windows where such files are tidily stored all in one
place (which means that updates, backups, copies, alternate versions,
searches through the files etc trivial operations).
Windows programs are /not/ stored tidily. Most of the main code and
data files for a program gets put (by default) into idiotically long
directory paths. Other parts get put into the windows directory, the
system directory, user directories (often under long and hidden paths),
and sometimes with older programs in newer windows you get settings
files that /pretend/ to be in the program directory, but are actually in
another hidden user directory.
I don't disagree that program installations are split up in a Linux
system - typically you have the program itself in /usr/bin, data files
in /usr/share/<program>/, system-wide configuration in /etc and user
configuration in /home/<user/. I just disagree that this is
"disseminated throughout the file system", and I disagree that the
Windows way is any clearer or more logical. It's just different.
(And a real OS which likes to keep users on their toes by not giving
executables, for example, a special extension such as .exe, but makes
the filename look like any other filename! Just to make searching for a
particular app a bit more challenging. At least, until you establish
that no executable of interest in actually in /bin, but a random search
through other top-level directories eventually shows that they are all
hiding in /usr/bin. So that's the main executable; but where are the
2000 other files it needs?)
There are historical reasons for the split between /bin and /usr/bin,
with good reasons based on the flexibility of Linux (and other *nix)
regarding filesystems and mounts - something that is simply unknown in
the Windows world. Simple, important, and low-level programs are
usually in /bin while "applications" and less necessary programs go in
/usr/bin. It's not that hard.
A /real/ OS does not trust file names in order to decide what to do with
files. Anyone who has ever run malware with a name such as
"Readme.txt.exe" knows that. A /real/ OS checks what a file actually
/is/ before deciding how to "open" it. And filemanagers and command
line directory listings can show the difference between programs and
files, rather than - as window programs often do - using identical icons
for both programs and datafiles.
And as for finding the other files needed for a particular program, why
do you actually /care/ where they are? When I start a program in Linux,
the /program/ knows where all other necessary files are kept. If I want
to uninstall the program, the package manager knows all about it.