Andrei Alexandrescu wrote:
Many (including myself) have expressed the real requirement for shared
libraries. Sometimes the response is "oh who needs shared libraries
anyways, there is so much memory in todays computers" and the other
response is that "Windows DLLs suck, so we can't do it".
I agree it needs to be figured out before D is considered a viable
professional language. I don't think it's impossible, but someone
just needs to spend the time.
Another new problem to pile on to Windows DLLs is the new requirement
for default thread local storage. See this bug that is very unlikely
to get fixed (by Microsoft):
http://d.puremagic.com/issues/show_bug.cgi?id=3342
So the tradeoff is, either use crappy TLS (using a function to look up
global variables) or only support Windows Vista and later. If Windows
7 hadn't come out, I'd say requiring Vista is about as bad as not
having DLLs :)
-Steve
A lot of Phobos consists of templates, which would be difficult to put
in a shared library.
Andrei
With respect, Andrei, that note is an irrelevant aside. There are not
many applications or application libraries that consist solely of
templates. Shared libraries are sometimes the only way you can extend
applications in Linux. e.g. Apache server modules. (No need to
mention FastCGI workaround).
Ditto Windows & DLL's.
Justin