What do you mean by “abstract away”, and what about it is exclusive to headers?
Eg most languages have something like a trait or interface wherein you can put a list of definitions (optionally with a default aka “inline” implementation) which are then actually implemented elsewhere. This is considered useful by everyone because it allows multiple implementations to be associated with 1 name. They are generally not desired in cases where only 1 implementation will ever be written.
AFAIK the only use case where headers accomplish the same is if they’re treated as documentation for an API that could be implemented by any library.
Admittedly certain programming styles benefit immensely from headers, despite the drawbacks to “design as you go” programming.
nobody should have to use c++ anymore now that rust and zig exists
header files are an invention of the devil
Header?? I barely know her!
Header files are a thing of beauty! Languages that can’t abstract away definitions suck (or are like script languages, which is fine for scripting).
What do you mean by “abstract away”, and what about it is exclusive to headers?
Eg most languages have something like a trait or interface wherein you can put a list of definitions (optionally with a default aka “inline” implementation) which are then actually implemented elsewhere. This is considered useful by everyone because it allows multiple implementations to be associated with 1 name. They are generally not desired in cases where only 1 implementation will ever be written.
AFAIK the only use case where headers accomplish the same is if they’re treated as documentation for an API that could be implemented by any library.
Admittedly certain programming styles benefit immensely from headers, despite the drawbacks to “design as you go” programming.