Thoughts about D

Steven Schveighoffer schveiguy at yahoo.com
Thu Nov 30 04:13:29 UTC 2017


On 11/29/17 10:23 PM, Walter Bright wrote:
> On 11/29/2017 6:54 PM, Steven Schveighoffer wrote:
>> But even though it doesn't come with Windows, it can be installed 
>> once, and shared between all applications that use it.
> 
> That's the theory. Unfortunately, that relies on the library not 
> changing. Microsoft changes it all the time, hence "dll hell".

My understanding is that if you use the Microsoft supplied MSI package 
as a dependency, there is only one installation of the libraries 
necessary. Granted, the last time I built MSI packages was about 10 
years ago...

But I don't remember having issues with DLL hell with that, even across 
compiler releases.

Yes, they changed the library on some revisions, but your MSVCRT dll 
would also be installed in the right places (and the right version 
loaded at runtime).

But we don't have to look at Microsoft as the gurus of library 
deployment, there are many good solutions already out there for other OSes.

> 
>> A second problem is that due to the way D works most of the time (with 
>> templates just about everywhere), each new release is likely to be 
>> binary-incompatible. So you will essentially need many copies of 
>> druntime, probably one per release that was used to compile any D 
>> programs on your system.
> 
> At this point, relying on druntime not changing is just not realistic. 
> libc is different, having been cast in stone for nearly 30 years now.

Baby steps, let's deploy it as a shared object first :) Until we do 
that, there is no point to worry about binary compatibility.

-Steve


More information about the Digitalmars-d mailing list