What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 131 Stack Exchange communities.

A question I posted to stack overflow was deleted a while back. I think it might be more appropriate on Programmers.StackExchange. Unfortunately, I can't see the original question and it was somewhat lengthy. Is there a way for me to get the text so that I can repost it easily? Or can someone who has access send me the text of my own question?

share|improve this question

closed as too localized by animuson, Lorem Ipsum, Cody Gray, Pops, ChrisF May 23 '12 at 21:15

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    
update - question (re)posted on Programmers.SE –  gnat May 17 '12 at 16:42

1 Answer 1

up vote 4 down vote accepted

Here you go.

The design of the .NET module system (in comparison to other common systems)

In implementations of the Scheme programming language (R6RS standard) I can import a module as follows:

(import (abc def xyz))

The system will try to look for a file $DIR/abc/def/xyz.sls where $DIR is some directory where you keep your Scheme modules. xyz.sls is the source code for the module and it is compiled on the fly if necessary.

The Ruby, Python, and Perl module systems are similar in this respect.

C# on the other hand is a little more involved.

First, you have dll files that you must reference on a per project basis. You must reference each one explicitly. This is more involved than say, dropping dll files in a directory and having C# pick them up by name.

Second, There isn't a one-to-one naming correspondence between the dll filename, and the namespaces offered by the dll. I can appreciate this flexibility, but it can also get out of hand (and has).

It seems like the Ruby, Python, Perl, Scheme way of handling modules would have been more elegant. Is there a strong reason that the .NET/C# world does things in this way? It seems that emerging languages tend to go with the simpler design.

To make this concrete, it would be nice if, when I say this using abc.def.xyz;, C# would try to find a file abc/def/xyz.dll, in some directory that C# knows to look in (configurable on a per project basis).

Interesting question. I hope you get a good answer.

share|improve this answer
    
Thanks Michael! Reposted to Programmers. –  dharmatech May 17 '12 at 16:37
1  
Sadly, it's already received a vote to be closed over there too... –  dharmatech May 17 '12 at 16:51
    
    
And it's been closed... –  dharmatech May 17 '12 at 16:53
2  
Sorry to hear that, @dharmatech. Seems like a decent question. Hopefully with Gilles' clarifying edit, it'll get reopened. –  Michael Petrotta May 17 '12 at 17:28
    
@MichaelPetrotta it did –  Some Helpful Commenter May 17 '12 at 19:19

Not the answer you're looking for? Browse other questions tagged .