On Monday, 11 July 2016 at 11:59:51 UTC, Ola Fosheim Grøstad
wrote:
On Monday, 11 July 2016 at 09:30:37 UTC, Chris wrote:
Lisp or SmallTalk)[1]. D couldn't have afforded not to have GC
when it first came out. It was expected of a (new) language to
provide GC by then - and GC had become a selling point for new
languages.
This is not true, it is just wishful thinking. D was harmed by
the GC, not propelled by it. I am not missing any point, sorry.
Just go look at what people who gave up on D claim to be a
major reason, the GC scores high...
No. Having GC attracts more users, because they either explicitly
want it of they don't care for the overhead. To have GC was
definitely a good decision. What was not so good was that it was
not optional with a simple on/off switch. Neither was it a good
idea not to spend more time on ways to optimize GC, so it was
comparatively slow.
Keep in mind that the no GC crowd has very specialized needs
(games, real time systems). Then again, to win this crowd over
from C/C++ is not easy, regardless. And ... let's not forget that
GC is often used as a handy excuse not to use D. "You don't use D
because of a, b, c or because of GC?" - "Yeah, that one."
I bet you that if D hadn't had GC when it first came out, people
would've mentioned manual memory management as a reason not to
use GC. I never claimed that D was _propelled_ by GC, but that it
was a feature that most users would expect. Not having it would
probably have done more harm than having it.
By the way, have you ever designed a language, I'd love to see
how it would look like ;)
[snip]