If I had my way
Paulo Pinto
pjmlp at progtools.org
Sun Dec 11 10:34:59 PST 2011
Am 11.12.2011 19:18, schrieb Manu:
> On 11 December 2011 15:15, maarten van damme <maartenvd1994 at gmail.com
> <mailto:maartenvd1994 at gmail.com>> wrote:
>
>
> 2011/12/11 Paulo Pinto <pjmlp at progtools.org
> <mailto:pjmlp at progtools.org>>
>
> Am 10.12.2011 21:35, schrieb Andrei Alexandrescu:
>
> On 12/10/11 2:22 PM, maarten van damme wrote:
>
> Just for fun I
> wanted to create a program as little as possible,
> compiled without
> garbage collector/phobos/... and it turned out that
> compiling without
> garbage collector is pretty much impossible (memory
> leaks all around the
> place in druntime). dynamic linking for the d standard
> library would be
> a great new option for a dmd release in the future :).
>
>
> Using D without GC is an interesting direction, and dynamic
> linking
> should be available relatively soon.
>
>
> Andrei
>
>
> As a long time beliver in systems programming languages with GC
> support
> (Modula-3, Oberon, Sing#, ...), I think allowing this in D is
> the wrong direction.
>
> Sure provinding APIs to control GC behavior makes sense, but not
> turn it
> off, we already have enough languages to do systems programming
> without GC.
>
>
> I was only trying it "for the fun of it", not to be used seriously.
> D should always have it's GC support built-in and have some
> functions to control it's behaviour (core.memory). But I think that
> D, beeing a systems programming language, should also be able to be
> used without GC. I don't mean phobos to be writtin without a GC in
> mind but druntime should be compilable with something like a -nogc
> flag that make it usable without GC.
>
> There are a lot of users out there who think that a GC produces
> terribly slow programs, big hangs while collecting,... (thank java
> for that. Right now the java GC has been improved and it's extremely
> good but the memory stays :p)
> Letting them know that D can be run without GC can be a good point.
> If they don't like it, they can turn it off.
>
>
> That's got nothing to do with it. People who seriously NEED to be able
> to use the language without the GC enabled are probably working on small
> embedded systems with extremely limited resources. It's also possible
> that various different resource types need to be allocated/located in
> different places.
> Also, In many cases, you need to able to have confidence in strict
> deterministic allocation patterns. You can't do that with a GC enabled.
> I'm all about having a GC in D, obviously, but I certainly couldn't
> consider the language for universal adoption in many of my projects
> without the option to control/disable it at times.
> If I can't write some small programs with the GC completely disabled,
> then I basically can't work on microprocessors. It's fair to give up the
> standard library when working in this environment, but druntine, the
> fundamental library, probably still needs to work. Infact, I'd
> personally like it if it was designed in such a way that it never used
> the GC under any circumstances. No library FORCED on me should restrict
> my usage of the language in such a way.
In my experience programming embedded systems in highly constrained
environments usually means assembly or at most a C compiler using lots
of compiler specific extensions for the target environment.
I fail to see how D without GC could be a better tool in such enviroments.
More information about the Digitalmars-d
mailing list