I really like Unix philosophy:
Data dominates. If you have chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming. [link]
Yes, I used to install all the programs to the Windows > Program Files. And I found that the data is always saved in My Documents. And the settings of the programs are stored in user profile application data. This is very annoyance when I needed to format and reinstall the Windows. Because My Documents is in C:. Though we can move My Documents to other location, I did not do so. Because not everything in My Documents is what I want. Most of them just created by the programs. Very annoyance.
Now, the technology is changing. More and more portable applications developed. So that, we can bring the applications to anywhere using flash drive. Besides that, I do not need to backup the data before formatting the drive. But I found that, there is still another problem. Because the data is stored in the directory of the program. When performing the backup, not only the data is scanned, but also the programs. Programs are seldom updated, but data is often modified. Backup should target only to the data.
Just like the bookmarks we collected. We can use any web browsers, but the bookmarks are our own data. And that is why, Unix-like OSes use the different type of file system. They store all the commands in “bin”, and the data in other locations. Because, data is important.
Applying this principle to the programming, that is why I prefer C programming, though C++ is easier to use because it is object-oriented programming. C makes the programmers focus on the data, and the algorithm is developed because of data.