Thread overview
project oriented
May 12, 2009
davidl
May 12, 2009
Christopher Wright
May 12, 2009
BCS
May 15, 2009
Graham St Jack
May 19, 2009
Walter Bright
May 12, 2009
The module package system still stays in the state of the C age. It's file oriented. I think there's no more sound package system than C# one. The namespace and distributed packaging is a must nowadays and the compiler should be project oriented and take project information as the compiling base. Also an IDE is quite useful for providing project templates.

-- 
使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/
May 12, 2009
davidl wrote:
> The module package system still stays in the state of the C age. It's file oriented. I think there's no more sound package system than C# one. The namespace and distributed packaging is a must nowadays and the compiler should be project oriented and take project information as the compiling base. Also an IDE is quite useful for providing project templates.

That would most likely be a good thing. Things you could get from it:
- easier to make package protection meaningful and useful (like C# internal)
- internal classes can be enumerated at compile time (maybe eventually)
- faster partial compilation
- potential of virtual templates for internal classes (I can dream)

Probably some others that I can't think of right now.
May 12, 2009
Hello davidl,

> The module package system still stays in the state of the C age. It's
> file  oriented. I think there's no more sound package system than C#
> one. The  namespace and distributed packaging is a must nowadays and
> the compiler  should be project oriented and take project information
> as the compiling  base. Also an IDE is quite useful for providing
> project templates.
> 

The up side to file based packaging is that the compiler can find the files without needing extra information. There are several tools that can build a project from nothing but a set of .d files. With the c# type of system, the compiler/build system needs to have a metadata file that list all the .d files to be built adding yet another piece of redundant complexity.

The c# solution works well if you will *only* develop from the IDE but is a total pain as soon as you need to work with non-language aware tools.



May 15, 2009
On Tue, 12 May 2009 21:12:51 +0000, BCS wrote:

> Hello davidl,
> 
>> The module package system still stays in the state of the C age. It's file  oriented. I think there's no more sound package system than C# one. The  namespace and distributed packaging is a must nowadays and the compiler  should be project oriented and take project information as the compiling  base. Also an IDE is quite useful for providing project templates.
>> 
>> 
> The up side to file based packaging is that the compiler can find the files without needing extra information. There are several tools that can build a project from nothing but a set of .d files. With the c# type of system, the compiler/build system needs to have a metadata file that list all the .d files to be built adding yet another piece of redundant complexity.
> 
> The c# solution works well if you will *only* develop from the IDE but is a total pain as soon as you need to work with non-language aware tools.

Good point. I like the current system's simplicity, and changing it as suggested would add a lot of hassle.
May 19, 2009
davidl wrote:
> The module package system still stays in the state of the C age. It's file oriented. I think there's no more sound package system than C# one. The namespace and distributed packaging is a must nowadays and the compiler should be project oriented and take project information as the compiling base. Also an IDE is quite useful for providing project templates.

The file system is a wonderful hierarchical database, that fits in neatly with package/module organization of D projects. I don't see a compelling advantage to try to layer another database on top of it.