November 29, 2014
On Fri, 28 Nov 2014 19:35:29 -0800
Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> On 11/28/2014 7:22 PM, ketmar via Digitalmars-d wrote:
> > same for me. i was gently pushing our development team towards D (heh, and i'm in position to do that) but now i put a veto on D (yet i'm still using heavily patched D for my own pet projects and have no plans to change that). contrary to what one may think i did that not for code breakage, but due to the developers that continuously rejecting to break our code. we already has the language which is riddled by legacy crap,
> 
> Please list your top two or three.
top one, after which i vetoed D: issue #13670

as for others -- i was ranting here many times. `foreach (auto
n; ...)`? yes, this is *not* a pure cosmetic issue: i'm still not able
to logically explain why `foreach (n; ...)` doesn't reuse the existing
variable but declaring new local. `foreach (; ...)`? `new char[256]`,
but not `new char[256][256]` (yes, i know; just make `new char[256]`
invalid too and that's all). '@' in some attribute but not in another.
warnings about prefix function attributes. and so on.

sure, those aren't very big things per se, but they making language inconsistent. and if i have to teach people inconsistent language, i'll choose C++: it's very bad, i don't even want to thing about it, especially after what D promises and gives to me, but... but C++ at least has alot of reusable code. and D is in position where it can try to not accumulate legacy crap -- that's what i expecting from the modern language. it's ok for us to fix the broken code if that breakage makes language better.

ah, i wrote that many times already. i'm still hoping that something will change (that's why i'm still writing this shit), but i backed to the position "nope, we'll not go D yet". for now i'll wait for either D that rapidly changes removing crap and fixing legacy things, or for D that is 20+ years old and has alot of code written in it.


November 29, 2014
On 11/28/2014 7:42 PM, Mike wrote:
> Walter, I want you to know, that I love D.  It is an awesome language with
> enormous potential.  But it needs to break with a few of the decisions from the
> past (very few, but significant), and follow through on a few things (like the
> scope ref proposals).  IMO, it's *almost* there.  If I(we) can ever get it
> there, it will likely be the last language I ever use.

Actually, we've (myself and 3 others) been hard at work preparing a scope ref proposal. It isn't quite ready to present yet. I agree it is of major importance. It will also slightly break some code, but we have a plan for dealing with that to make it as painless as possible. I believe that scope ref is a big enough win to justify it.

What I don't agree with are changing names of things that just cause needless frustration, and are, as I tactlessly put it, an illusion of progress.

November 29, 2014
On Fri, 28 Nov 2014 20:03:44 -0800
Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> What I don't agree with are changing names of things that just cause needless frustration, and are, as I tactlessly put it, an illusion of progress.
it seems to me that you are very pragmatic person (in a good sense) and with all your expiriense in software development you are underestimating the influense of "cosmetic changes", such as better naming. you are used to "fnmatch" and you don't care if it stays as is or not, so why bother to change? but for heterogeneous teams where we have both expirienced developers and juniors naming matters. it's much easier to read and to remember what 'globMatch' do than what 'fnmatch' do. i, for myself, knowing that function for years still confused a little trying to understand what it has with "function matching". and only after some pause i remembers that it's "filename matching".

the same for the things i'm constantly ranting about: "just remember it" for such things is not good. people keep asking me "why?" and all i can answer is "this is the way of the things. just remember it and don't question."


November 29, 2014
dammit, my English sux even worse when i trying to say something important...


November 29, 2014
On 11/28/2014 8:25 PM, ketmar via Digitalmars-d wrote:
> dammit, my English sux even worse when i trying to say something
> important...


No prob, I understand you just fine!
November 29, 2014
On Friday, 28 November 2014 at 23:50:52 UTC, bearophile wrote:
> Walter Bright:
>
>> We need to do a lot better.
>
> I agree. D has to come back to the living. It looks like D is hibernating.
>
> Bye,
> bearophile

As much as I like D, hibernating is a very kind way to put it.
D feels very ugly/kludgy with all the properties and @ vomit
everywhere and that's something that will never get fixed without
serious backwards compatibility breakage. IMO rust got it right
with immutable by default, but hindsight is grand(To be fair, rust lifetime management is really ugly too)
November 29, 2014
On Friday, 28 November 2014 at 23:33:54 UTC, Walter Bright wrote:
> [snip]
>
> I know there's been a lot of "break my code" advocacy lately, but this code was only 2 years old.
>
> I fully understand how unfriendly this is to users and how discouraging it can be to have their recently working code shattered and scattered. We need to do a lot better.

With every new release of Visual Studio I expect things to break.
Every release I'm right. Every release I spend a day fixing our
build for the new Visual Studio. After that I get to enjoy a much
nicer compiler (and IDE). Switching from gcc to clang had some
sore points but it was well worth the change. Moving to C++11
involved quite a bit of work but again, totally worth it.

There is only 2-3 years (and now annual) between Visual Studio
releases yet stuff still breaks. This is with C++ where you
expect rigid backward compatibility. I have no expectation of
that with D (as much as we'd all like to stamp it "stable" for
marketing purposes).

If a project is stagnant (no updates in years) I have no
delusions that it will work without issue using the latest
compilers/interpreters (regardless of language). It's a nice
fantasy to think we could have it that way but it just doesn't
exist.
November 29, 2014
On 11/28/2014 3:50 PM, bearophile wrote:
> I agree. D has to come back to the living. It looks like D is hibernating.

I have no idea what you're talking about.
November 29, 2014
On 11/28/2014 6:08 PM, H. S. Teoh via Digitalmars-d wrote:
> Hmm. Did you install libncurses5-dev (or libncursesw5-dev)? If not, try
> `apt-get install libncurses5-dev` (or libncursesw5-dev as appropriate).
> Otherwise, try -lncurses5 or -lncursesw5, perhaps?

Yeah, that didn't work, either.

I wound up simply ripping out ncurses and hardcoding it for xterm.

November 29, 2014
On Sat, 29 Nov 2014 00:41:45 -0800
Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> On 11/28/2014 6:08 PM, H. S. Teoh via Digitalmars-d wrote:
> > Hmm. Did you install libncurses5-dev (or libncursesw5-dev)? If not, try
> > `apt-get install libncurses5-dev` (or libncursesw5-dev as appropriate).
> > Otherwise, try -lncurses5 or -lncursesw5, perhaps?
> 
> Yeah, that didn't work, either.
> 
> I wound up simply ripping out ncurses and hardcoding it for xterm.
hm. it took me ~30 minutes to fix all the warnings and build it succesfully with ncurses, both with dmd head and gdc...