Worst ideas/features in programming languages?
nise at nise.com
Fri Oct 15 15:42:13 UTC 2021
On Friday, 15 October 2021 at 14:24:16 UTC, SomeGuy wrote:
> This problem could still be solved by making the GC just
> another allocator (and make it the default global allocator).
> D's current GC only runs when an allocation is made anyway, so
> doing this shouldn't break the behavior of existing code
> (except leaking memory if the constructs that assume GC is
> used, of course).
> Maybe from this point on those constructs can be made to use
> reference counting instead and make sure they're
The biggest obstacle is that D has no fat pointers. It has only
pointers which is enough when you have tracing GC but not enough
if your pointers requires extra metadata.
This is one of the biggest mistakes in D which limits the
possibility to change GC type. Other languages like Nim have a
reference types which is a fat pointer type. Nim has gone through
more GC types in a shorter time than D.
Fat pointers come at a cost though which might be extra
dereferences as your data is an inner pointer member. In practice
this is already possible in D as a library solution. Problem is
that you cannot easily change Druntime/Phobos to also use your
More information about the Digitalmars-d