Compared to them, D programs are small. The big difference is Java, .net, ruby, python, etc. are already popular enough to have their libraries/support code pre-installed on the user's computer. D programs, on the other hand, carry all their support code with them in each executable (they're statically linked) so they have better odds of just working without the user needing to install other stuff that they prolly don't already have.

Ah, yes. I was wondering why large amount of code originating in something called a "standard library" was apparently being shoved into an executable. I guess at this point in the life of Dlang, it is not yet realistic to expect users to have e.g. "libdlang.so" in their "/usr/lib".

It would be nice to have an option to use a systemwide library file and dynamically link it; that way, as a silly example, I could have 10 different D-based "hello world"-sized programs` executables and only one copy of the relevant library code [well, at least of _most_ of it].

BTW: I see what you meant about statically linked:

  > ls -lh /opt/Digital_Mars_D/lib
  -r--r--r--  1 Abe  staff    34M Aug 16 09:08 libphobos2.a

… only an "ar" archive, no ".dylib" file [basically the Mac OS X equivalent of an ".so" file]. :-(

Do you think DMD and Phobos2 could be massaged into giving us the dynamically-linked option with a small-enough amount of time & effort, at least for the first platform to get that option? [I`m guessing that here, "first" effectively implies "easiest to implement".]

Do you know if GDC and/or LDC do this in a way that makes for small Hello Worlds? I haven`t yet successfully installed either one of those, sorry, so I can`t test it myself yet.

Thanks again.

— Abe

Reply via email to