Using, eg. C, it's fairly simple to have minimal structure: you can have every .h and .c file in the top-level project directory if you want (and that used to be common in the 80s). Now, you'd normally have at least a "src", and maybe a separate "include" hierarchy, and maybe split things up further for different modules.
Java, OTOH, enforces a lot of directory structure. It's a bit of a nightmare to use without an IDE or a fuzzy-find for that reason.
A fuzzy-find system could be more-or-less viewed as a virtual filesystem?