Where should a self-written program be installed on Linux, according to the Filesystem Hierarchy Standard?
In /usr/local/bin (more generally under /usr/local), which is reserved for software that the local admin installs and that the distribution's package manager does not manage.
Windows has C:\Program Files. Linux follows the Filesystem Hierarchy Standard (FHS 3.0, Linux Foundation), which says what each directory is for. Chapter 4.9 defines /usr/local: a local hierarchy that system updates must not overwrite, with its own bin, lib, share and so on.
So a program built or written in-house goes to /usr/local/bin, not /usr/bin. Files in /usr/bin belong to the package manager, which can replace or delete them at the next update and does not know about your file.
Related places: /opt/<package> for self-contained third-party software, /etc for configuration, /var/lib/<app> for an application's state.
Go deeper:
FHS 3.0, section 4.9: /usr/local — the standard's own text on the local hierarchy.
Wikipedia: Filesystem Hierarchy Standard — an overview of every top-level directory.