libphobos.so libdruntime.so

Marco Leise Marco.Leise at gmx.de
Fri Feb 3 20:45:12 PST 2012


Am 03.02.2012, 20:28 Uhr, schrieb Trass3r <un at known.com>:

>> The same has to happen with druntime and Phobos2 or otherwise our  
>> programs will break with every new release that deprecates or changes  
>> non-template functions. That would probably be *every* release at the  
>> moment, so it could look like this:
>> /usr/lib64/libphobos2.so     (link to /usr/lib64/libphobos2.so.060)
>> /usr/lib64/libphobos2.so.058
>> /usr/lib64/libphobos2.so.059
>> /usr/lib64/libphobos2.so.060
>> /usr/lib64/libdruntime.so     (link to /usr/lib64/libdruntime.so.060)
>> /usr/lib64/libdruntime.so.058
>> /usr/lib64/libdruntime.so.059
>> /usr/lib64/libdruntime.so.060
>
> And you don't consider this insane?

More with the wink of an eye, that in the event of shared libraries,  
deprecations of functions in every release will have this effect. :)

> The 'shared' approach is fine if a library has settled and is used  
> pervasively like C runtime.
> Also the library needs to have an appropriate development approach with  
> major (feature) revisions and smaller non-breaking versions.
> Phobos is a fast-moving target and doesn't fit in this model neither  
> will it in the foreseeable future.
>
> Why do people always treat D like a mainstream language? It isn't.

How about having the option? Handling this correctly from the start on  
will reduce the likelyhood that someone considers D a toy language.

> The chance that one has more than a few real D apps on one's machine is  
> quite low. The chance that they use the very same version of  
> phobos/druntime is even lower.
> And usually the only ones you actually use are developed by yourself  
> anyway.

I'm using software written in OCaml, Python, Java, C++ and Delphi and it  
is possible that there will be D apps I install through the package  
manager, once there are standard packages in Linux distributions. And I  
think that is more likely if D can come with the runtime as a shared  
library. And like Johannes said earlier, there may be situations where you  
depend on the availability of shared libraries.

> Making druntime shared sometime is ok I think, but it's just not ready  
> yet. See the recent associative arrays dilemma. And the crappy GC.

Fair enough. I guess, I just don't want to say "I knew this would happen"  
later. :)


More information about the Digitalmars-d mailing list