On Thursday, 2 June 2016 at 13:06:44 UTC, Andrei Alexandrescu
wrote:
Your claim was obliterated, and now you continue arguing it by
adjusting term definitions on the fly, while at the same time
awesomely claiming to choose the high road by not wasting time
to argue it. I should remember the trick :o). Stand with the
points that stand, own those that don't.
Definitely. It's a fine line to walk; this particular decision
is not that much on the edge at all. We must stay with
autodecoding.
If you are to stay with autodecoding (and I hope you won't) then
please, *please*, at least make it decode to graphemes so that it
decodes to something that actually have some kind of meaning of
its
own.
I think we have underperformed and we need to do radically
better. I'm on lookout for radical new approaches to things all
the time. This is for another discussion though.
There are many components to the decision, not only
compatibility with old code.
It's funny that evidence for the "overwhelming" support is the
vote of 35 voters, which was cast in terms of percentages. Math
is great.
ZombineDev, I've been at the top level in the C++ community for
many many years, even after I wanted to exit :o). I'm familiar
with how the committee that steers C++ works, perspective that
is unique in our community - even Walter lacks it. I see trends
and patterns. It is interesting how easily a small but very
influential priesthood can alienate itself from the needs of
the larger community and get into a frenzy over matters that
are simply missing the point.
This is what's happening here. We worked ourselves to a foam
because the creator of the language started a thread entitled
"The Case Against Autodecode", whilst fully understanding there
is no way to actually eliminate autodecode. The very definition
of a useless debate, the kind he and I had agreed to not
initiate anymore. It was a mistake. I'm still metaphorically
angry at him for it. I admit I started it by asking the
question, but Walter shouldn't have answered. Following that,
there was blood in the water; any of us loves to improve
something by 2% by completely rewiring the thing. A proneness
to doing that is why we self-select to be in this community and
forum.
Meanwhile, I go to conferences. Train and consult at large
companies. Dozens every year, cumulatively thousands of people.
I talk about D and ask people what it would take for them to
use the language. Invariably I hear a surprisingly small number
of reasons:
* The garbage collector eliminates probably 60% of potential
users right off.
* Tooling is immature and of poorer quality compared to the
competition.
* Safety has holes and bugs.
* Hiring people who know D is a problem.
* Documentation and tutorials are weak.
* There's no web services framework (by this time many folks
know of D, but of those a shockingly small fraction has even
heard of vibe.d). I have strongly argued with Sönke to bundle
vibe.d with dmd over one year ago, and also in this forum.
There wasn't enough interest.
* (On Windows) if it doesn't have a compelling Visual Studio
plugin, it doesn't exist.
* Let's wait for the "herd effect" (corporate support) to start.
* Not enough advantages over the competition to make up for the
weaknesses above.
There is a second echelon of arguments related to language
proper issues, but those collectively count as much less than
the above. And "inefficient/poor/error-prone string handling"
has NEVER come up. Literally NEVER, even among people who had
some familiarity with D and would otherwise make very informed
comments about it.
Look at reddit and hackernews, too - admittedly other
self-selected communities. Language debates often spring about.
How often is the point being made that D is wanting because of
its string support? Nada.
I think the real reason about why this isn't mentioned in the
critics you mention is that people don't know about it. Most
people
don't even imagine it can be as broken as it is. Heck, it even
took Walter by surprise after years! This thread is the first real
discussion we've had about it with proper deconstruction and
very reasonnable arguments against it. The only unreasonnable
thing
here has been your own arguments. I'd like not to point a finger
at
you but the fact is that you are the only single one defending
autodecoding and not with good arguments.
Currently autodecoding relies on chance only. (Yes, I call “hoping
the text we're manipulating can be represented by dchars” chance.)
This cannot be anymore.
Currently dfix is weak because it doesn't do lookup. So we need
to make the front end into a library. Daniel said he wants to
be on it, but he has two jobs to worry about so he's short on
time. There's only so many hours in the day, and I think the
right focus is on attacking the matters above.
...
Andrei