Why do IDEs structure code as “Projects” or “Solutions”? And no, I’m not trying to troll, I really want to know what people use them for.
It always seems to me like “Project” is just a redundant alias for “executable”, and I find the “Project” structure tends to get in my way when I want to share code across several executable processes. This is especially true in languages like Java, where there’s already a rigorous packaging system for organizing code with, but it applies to pretty much every IDE I’ve seen. So why do they always adopt this structure? Is there some trick to using it?
I actually tend to think of “project” more as a “compilation unit” or a “deployment item” – at least for most compiled languages. Projects typically map to a single executable or library (or other compilation unit in languages where that’s supported).
As such, a “project” is a very valuable method of organization.