Am 03.02.2012, 20:28 Uhr, schrieb Trass3r <u...@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. :)

Reply via email to