July 19, 2019
On Friday, 19 July 2019 at 22:00:41 UTC, bachmeier wrote:
> On Thursday, 18 July 2019 at 23:00:03 UTC, bauss wrote:
>> Microsoft has published article about needing a safer system programming language.
>>
>> https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/
>>
>> Could D (Most likely as betterC) have fit into that domain OR is it not yet safe?
>
> Let's not go crazy over one post by a couple of guys that work in some division of Microsoft. They like Rust for a small sliver of programming tasks, but that doesn't mean anything one way or the other for D, and it doesn't mean MS is converting everything to Rust.

Employees of a software company such as MS are not allowed to use any language they want, let alone promote it on an official channel. It's fair to assume they have management approval.
July 19, 2019
On Fri, Jul 19, 2019 at 10:20:04PM +0000, XavierAP via Digitalmars-d wrote:
> On Friday, 19 July 2019 at 21:32:56 UTC, H. S. Teoh wrote:
> > On Fri, Jul 19, 2019 at 09:03:50PM +0000, XavierAP via Digitalmars-d wrote: [...]
[...]
> > I think it's a big assumption that adoption would make fixing weird sh*t easier.  It could be that it's inherently hard, given the current language and implementation, and higher adoption isn't going to help with that.
> 
> At least in the sense that it would make much more manpower available. There's lots of issues identified (even avoiding breaking changes conservatively as Bachmeier mentions) that aren't solved because no one's working on them.

Well, of course there are smaller issues that could use more manpower to fix. But I was referring to the fundamental issues (the "weird sh*t" that Amaury refers to in the video).  I don't think many of them can be fixed without either breaking existing code, or doing some precision surgery on the language / implementation. Adding more manpower to it may not change this fact (cf. The Mythical Man-Month).


T

-- 
Why waste time reinventing the wheel, when you could be reinventing the engine? -- Damian Conway
July 19, 2019
On Friday, 19 July 2019 at 22:12:17 UTC, H. S. Teoh wrote:

> To be honest, while I understand W&A's stance of wanting to stabilize the language and thereby (hopefully) drive adoption, IMO things would be better served if we started working towards D3.

I generally agree, but I was encouraged by Andrei's relatively recent post (https://forum.dlang.org/post/q7j3s0$15n7$1@digitalmars.com)

"We've been worrying too much about changing things."

"We should do what C, C++, Java, C# and many other languages do - leave past mistakes in maintenance mode and move on with new stuff."

This "add, but do no harm" is a good compromise, though it's much harder to avoid the "weird sh**" because that new stuff often interacts badly with the existing stuff and often limits what new stuff can be done.  But it's a better stance than that of the past 5 years.

It was quite exciting to see that from Andrei and it prompted me to get back into contributing to D.  I think D can have a brighter future if that attitude is embraced by all.  Now we just need more talent, manpower, and much better cooperation.

Mike






July 19, 2019
On Fri, Jul 19, 2019 at 11:19:12PM +0000, Mike Franklin via Digitalmars-d wrote:
> On Friday, 19 July 2019 at 22:12:17 UTC, H. S. Teoh wrote:
> 
> > To be honest, while I understand W&A's stance of wanting to stabilize the language and thereby (hopefully) drive adoption, IMO things would be better served if we started working towards D3.
> 
> I generally agree, but I was encouraged by Andrei's relatively recent post (https://forum.dlang.org/post/q7j3s0$15n7$1@digitalmars.com)
> 
> "We've been worrying too much about changing things."
> 
> "We should do what C, C++, Java, C# and many other languages do - leave past mistakes in maintenance mode and move on with new stuff."

Yeah, I remember Andrei saying that, and it *was* pretty refreshing to hear.  However, I haven't seen any major steps in that direction (yet?). Andrei was talking about std.v2, but so far I haven't seen any actual action on that front.  Would be nice to see that it's not just a pipe dream.


> This "add, but do no harm" is a good compromise, though it's much harder to avoid the "weird sh**" because that new stuff often interacts badly with the existing stuff and often limits what new stuff can be done.  But it's a better stance than that of the past 5 years.
[...]

The way I envisioned it is, using std.v2 as an example, we'd put the current (v1) std.* on maintenance mode, begin to build std.v2 until it gains enough traction to be viable, then begin migrating stuff (including user code) over, with the goal of eventually deprecating the v1 stuff, and, in a more distant future, renaming std.v2 to std.

The thing about programming is, change is inevitable, so instead of locking ourselves to our initial decisions, many of which will likely turn out to be wrong / suboptimal in retrospect, why not build a way of embracing and adapting to change instead of fearing it.

Of course, this will be much harder to do with language features, since right now there's no such thing as language feature versioning in D (and I've a hard time visualizing how such a thing could be pulled off in a reasonable way).  So at some point, the only way to fix some of the language-related "weird sh*t" is to just bite the bullet and make a breaking change.  That has to happen *somehow*, lest we end up with the fate of C++, accumulating crud from decades ago but you can't fix it.


T

-- 
What's an anagram of "BANACH-TARSKI"?  BANACH-TARSKI BANACH-TARSKI.
July 19, 2019
On Friday, 19 July 2019 at 22:23:23 UTC, XavierAP wrote:

> Employees of a software company such as MS are not allowed to use any language they want, let alone promote it on an official channel. It's fair to assume they have management approval.

It's also fair to assume they'll be using C++ far more than Rust for a long time.
July 20, 2019
On Friday, 19 July 2019 at 23:19:12 UTC, Mike Franklin wrote:
> On Friday, 19 July 2019 at 22:12:17 UTC, H. S. Teoh wrote:
>
>> To be honest, while I understand W&A's stance of wanting to stabilize the language and thereby (hopefully) drive adoption, IMO things would be better served if we started working towards D3.
>
> I generally agree, but I was encouraged by Andrei's relatively recent post (https://forum.dlang.org/post/q7j3s0$15n7$1@digitalmars.com)

Indeed if technical debt is a big problem, some radical plan of action would be needed.

Though again, do we have the manpower? Or are we able to attract it?

I'm guilty. I've been curious about D from the beginning, but I have barely started a couple of hobby projects. C# serves me better and it's what is used at my job, and what will continue to be used. :\
July 20, 2019
On Thursday, 18 July 2019 at 23:00:03 UTC, bauss wrote:
> Microsoft has published article about needing a safer system programming language.
>
> https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/
>
> Could D (Most likely as betterC) have fit into that domain OR is it not yet safe?

Microsoft Research has teams working on advancing the state of the art of verifiable programming... They probably has the most knowledgable group of people in this area, so I they could move beyond Rust (with ease) if it was made a company policy, but it might not pay off in terms of profit. They will probably continue to evolve the C# eco system. Makes more sense in relation to their cloud offerings etc.







July 20, 2019
On Friday, 19 July 2019 at 23:58:52 UTC, bachmeier wrote:
> On Friday, 19 July 2019 at 22:23:23 UTC, XavierAP wrote:
>
>> Employees of a software company such as MS are not allowed to use any language they want, let alone promote it on an official channel. It's fair to assume they have management approval.
>
> It's also fair to assume they'll be using C++ far more than Rust for a long time.

Yup, they are far more likely to move C# towards verified systems programming and create a transition path from C++ to C#...

Just like apple is more likely to move Swift towards systems programming than adopting an external language and gradually move more and more C/C++ code to Swift...

Why would they move out of their comfort zone? Not gonna happen unless a revolutionary solution is created by some advanced research group project.

That could happen, but it would most likely be agent based with not only memory safety but also strong concurrency support built in.

So, we need to see a technological paradigm shift for a massive transition. Without a paradigm shift we will only see gradual evolution.

A new hardware architecture design could drive such a shift, but that is at least 10 years into the future... and again, would IMO most likely be agent based...(lots of cheap cores with local solid state memory, perhaps FPGAs too).


July 20, 2019
On Saturday, 20 July 2019 at 08:54:36 UTC, Ola Fosheim Grøstad wrote:
> On Thursday, 18 July 2019 at 23:00:03 UTC, bauss wrote:
>> Microsoft has published article about needing a safer system programming language.
>>
>> https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/
>>
>> Could D (Most likely as betterC) have fit into that domain OR is it not yet safe?
>
> Microsoft Research has teams working on advancing the state of the art of verifiable programming... They probably has the most knowledgable group of people in this area, so I they could move beyond Rust (with ease) if it was made a company policy, but it might not pay off in terms of profit. They will probably continue to evolve the C# eco system. Makes more sense in relation to their cloud offerings etc.

I agree. This is more or less the same idea that I explained in a previous message.
July 20, 2019
On Friday, 19 July 2019 at 22:12:17 UTC, H. S. Teoh wrote:
> On Fri, Jul 19, 2019 at 09:57:01PM +0000, bachmeier via Digitalmars-d wrote:
>> On Friday, 19 July 2019 at 21:03:50 UTC, XavierAP wrote:
>> 
>> > After claiming that C++ is insalvageable we now see that the Devil is in the details, and it isn't so easy to keep a language clean over the years and over the features.
>> 
>> It's a simple, solved problem. The D leadership made a decision that, for better or worse, breaking changes were (approximately) no longer acceptable.  Keeping a language clean means you need a high standard to add features to the language and a higher standard to leave them in/not change them once you've had experience with them. Everyone complains about autodecoding, for instance, but it's by choice that it stays. There's nothing mysterious about how it can be fixed, you just make a decision to break existing code. {And just to be clear, I'm not saying the wrong choice was made, only that it would be trivial keep the language clean if that was the goal, and it would be called D3.}
>
> To be honest, while I understand W&A's stance of wanting to stabilize the language and thereby (hopefully) drive adoption, IMO things would be better served if we started working towards D3.

I think both can / should be done. Really nail down where the end is for D2, whats in and what will be fixed. And start exploratory work on D3, but it should be "only use D3 if you're OK it breaking hard and often" and keep it like that indefinitely. At least until the major stuff is really worked out. D has often felt like living in the house at the same time you're renovating it. And that isn't a good situation.