On Friday, 8 July 2016 at 01:17:55 UTC, Luís Marques wrote:
Sometimes I idly wonder what would have happened if D were
available in the 80's. Sort of like if you put a modern car
for sale in the 1960's.
I've also thought about that from time to time. I think D would
have been very "mainstream-successful". Starting from where it
actually started, I think things have worked out well for D,
despite its still limited success. Looking back all of these
years I think that D's marketing mistake was the garbage
collection. Given its target audience and design trade-offs, I
believe adoption of the language was disproportionally affected
by that choice. If D had started with stronger support for
nogc, even at the cost of delaying some other nice features, I
believe adoption would have been quite stronger (and more
easily snowballed) -- irrespective of the actual engineering
merit of that D variant vs the true D. (it would also have
avoided all the current piecemeal work of trying to remove GC
allocation from Phobos, etc.; also, notice that nogc marketing
would probably have been even more important in the 80s).
This is a futile discussion. D is in many respects a "hindsight
language" as regards C/C++.[1] People naturally lacked hindsight
back in the 80ies and a lot of D's features would have been
frowned upon as "Don't need it!" (templates), "Waste of memory!"
(e.g. `array.length`) etc. And remember computers and computing
power were not as common as they are today. You were also dealing
with a different crowd, there are by far more programmers around
now than there used to be in the 80ies, with different
expectations. In the 80ies most programmers were either hard core
nerds (hence the nerdy image programmers have) or people who had
lost their jobs elsewhere and had gone through re-educational
programs to become programmers and thus were not really
interested in the matter.
As for GC, it's hard to tell. When D was actually (not
hypothetically) created, GC was _the_ big thing. Java had just
taken off, people were pissed off with C/C++, programming and
coding was becoming more and more common. Not having GC might
actually have been a drawback back in the day. People would have
complained that "Ah, D is like C++, no automatic memory
management, I might as well stick to C++ or go for Java!" So no,
I think D is where it is, because things are like they are, and
"what if" discussions are useless. D has to keep on keeping on,
there's no magic.
[1] Sometimes I think that D should to be careful not to become a
language looked on by yet another "hindsight language".