Why are the exec* functions deprecated in std.process?

Jonathan M Davis jmdavisProg at gmx.com
Wed Oct 30 19:24:49 PDT 2013


On Wednesday, October 30, 2013 17:42:36 Kagamin wrote:
> On Tuesday, 29 October 2013 at 20:25:16 UTC, Lars T. Kyllingstad
> 
> wrote:
> > Therefore, I would like to suggest a compromise:  I propose we
> > move the functions into an std.posix.process module.  (There is
> > currently no std.posix package, but we do have std.windows, so
> > I don't see why we can't add it.)
> 
> I think, a more appropriate name is std.native
> (std.native.process etc). This package would strive to be
> platform-specific for the sake of efficiency rather than
> cross-platform. If someone doesn't need to be cross-platform, he
> needs an efficient interface to the native efficient capabilities
> of the current platform. That said, the content of std.native
> modules will be platform-specific and will provide comprehensive
> D-ified API for the platform features.

Then you have to worry about which functions in a module work on which OS. 
It's generally a far cleaner separation to separate the OSes via the module 
system, which is what druntime does for posix and windows.

- Jonathan M Davis


More information about the Digitalmars-d mailing list