It *is* getting off topic, but I feel obliged to expand on my earlier
point of view. I don't mean to prolong this discussion indefinitely;
hopefully, this will be *my* last word on the subject.
> It is a great shame that Bill didn't, at the same time, pinch the
> UNIX concept of a homogeneous, singly rooted logical file system,
> instead of persisting with the fragmented architecture he pinched
> from CPM.
> I know this is slightly off-topic, but here I go...
> I think Windows kludges its way through this two ways. First, it
> presents the concept of "Desktop" as a "root" directory to the user,
> although not from a file system perspective. Despite being drive
> letter-oriented, it does allow the user to navigate from a common root
> in file dialogs.
I agree that this is a kludge, and, IMHO, not a very elegant one. It
may well suffice, from the end user perspective, but doesn't do a lot
to help the poor applications developer.
> The second way addresses other file system issues, namely, "what is my
> /usr/bin directory?" and "where is /etc?" There are a few API functions
> that return directories (e.g. profile directories, program files
> directory) in a manner that helps alleviate the need to hard code
Sure, but then you end up with source littered with calls which are
unique to the MS-Windows API -- doesn't help much, when your primary
target platform is UNIX, but you need to get a MS-Windows port working.
> It addresses /etc with the registry, which is a whole different
> rant altogether.
I take it that you are not impressed by the use of registry, then? If
that is so, I fully agree with you; IMHO, the Windows registry is a
total abomination -- give me nice clean text files in /etc, one dedicated
to configuration of a single application or service, any day!
> For the longest time I bitched and moaned about the file system
> structure until I found some good search terms in the MSDN (motto:
> organized to hide relevant information) and learned about the functions
> that return system directory names. Petzold never mentioned those
> functions; that is my excuse for not knowing sooner ;-)
Again, my comment above, concerning cross-platform development applies.