AJ Wrote: > > "Steven Schveighoffer" <schvei...@yahoo.com> wrote in message > news:op.u157hfkveav...@localhost.localdomain... > > On Wed, 21 Oct 2009 17:59:52 -0400, AJ <a...@nospam.net> wrote: > > > >> Since D has no header files, how does one create "a library" that another > >> developer can use without exposing the implementation? > > > > try dmd -H. > > > > .di files are D header files, basically used for the reason you specify. > > OK, so header files can be generated. The thing is though, when I am > designing at the code level, I start with the declarations (such as class > data members and methods) and do the implementation (or one can hand it off > to someone else) afterwards. That serves as the "blue print" for further > development and remains as first level of documentation as well. Working > with just "implementation files" seems to be putting the cart before the > horse. While eliminating something unnecessary is something to strive for, I > don't think header files are unnecessary in the development process (i.e., I > don't think that relegating them to just the situation given with my OP is > good, exactly for the reasons of usefullness I gave). > >
I think you keep a very structured development style that few share. Nothing stops you from writing a header-file-like .d file and then hand it off for someone to fill in the methods, etc... A good IDE can also make a .d file look like a header file. Personally, I like colocating documentation with implementation and using tools (such as dmd) to extract higher level documentation.