November 01, 2021

On Monday, 1 November 2021 at 03:59:43 UTC, Mike Parker wrote:

>

On Monday, 1 November 2021 at 03:34:46 UTC, zjh wrote:

Hope manu will pick it up.

November 01, 2021
>

On Monday, 1 November 2021 at
04:05:29 UTC, zjh wrote:

Another way is to "copy and modify" doctrine. What theirs(C++) is ours. Yes, we can.
In terms of what we are not good at. Yes, we can.

November 01, 2021
On Monday, 1 November 2021 at 02:27:21 UTC, bachmeier wrote:
> On Monday, 1 November 2021 at 00:05:30 UTC, Andrei Alexandrescu wrote:
>
>> Given the above and also the perennial stagnation the D library has been in, I'd say it's version or die.
>
> I have to admit that at times D feels like Common Lisp. A nice language for when it was designed, but now one that values stability over all else, at the expense of building on a good foundation. The death of Common Lisp was the standard. Something similar happened at some point for D but without standardization.

No. The end of Lisp was parentheses and Haskell. The standard made it linger on for several decades beyond reason.

C++ std lib has always been a joke. One cannot use a joke for an argument. What is missing here is understanding architecture and layers. The std lib should be the bottom layer, and small, so you can keep it stable, efficient and provide targeted compiler optimizations. Changing this layer is incredibly expensive once you get it right... C++ never got it right, so people cannot fully rely on it as the bottom layer.
November 01, 2021
On 01/11/2021 2:55 PM, Andrei Alexandrescu wrote:
> I think what we have is better than C++ concepts. I wouldn't touch C++ concepts. They are adding a lot of aggravation for very little power. We have the opposite ratio.

The one thing signatures/typeclasses/concepts/traits all provide which D does not have is proper documenting of API's.

I.e.

auto:InputRange map(IR)(IR:InputRange input)
November 01, 2021
On Monday, 1 November 2021 at 01:55:22 UTC, Andrei Alexandrescu wrote:
>
> The best aspect of C++ is the people working on it.

The worst aspect of those people is that they keep pretending that C++ can become a good for high level programming, yet they fail to provide what people need for low level and performance. Such as SIMD types. Sadly g++ language extensions have far more impact than the stdlib.

The best way to judge a stdlib is to see if frameworks and large applications build on top of it or build their own bottom layer.

D can do the same. What is used by vibe-d and MIR, where does vibe-d and MIR build their own foundation?
November 01, 2021
On Sunday, 31 October 2021 at 01:59:38 UTC, Andrei Alexandrescu wrote:
> https://github.com/dlang/phobos/pull/8309
>
> Destroy!

This is going to be hell.

Packages will end up breaking left and right in the future.
November 01, 2021
On Sunday, 31 October 2021 at 17:32:07 UTC, Andrei Alexandrescu wrote:
> (looking at the contributors since 2019 at https://github.com/dlang/phobos/graphs/contributors?from=2019-01-01&to=2021-10-31&type=c) berni44, n8sh, ibuclaw, MoonlightSentinel and other heavy-hitters. And of course Razvan, the maintainer.
>

The opinion of contributors shouldn't be the only opinion that matters.

The opinion of long-term users of D in production etc. should be valued just as much.

I've been using D for about a decade now, but I've never contributed a lot other than minor things but I've definitely been all-around the standard library.

I can only imagine that's the case of a lot of other users.

Please don't discourage the opinion of long-term users of D.
November 01, 2021
On Monday, 1 November 2021 at 00:05:30 UTC, Andrei Alexandrescu wrote:
> I've been to CppCon 2021 all of last week. There are as exoected commonalities and differences between the languages and the communities. But one thing is absolutely tremendous - C++ is evolving, FAST, and everybody loves every minute of it.

The kind of code you see in presentations at CppCon does not reflect the kind you see in frameworks and applications. The kind of people that go to conferences aren't necessarily representative of the average user of said language.

D could do better than C++ if you instead of going with hype go with empirical evidence and science. That means looking at other peoples code and figure out what people do with the language/standard library, why they do it that way, and why they don't do it the «intended» way.

C++ is pretty much dead as an application language. You're better off using Swift + C++, TypeScript + C++ or Dart + C++. D can in theory do better than this, because C++ cannot change its foundation.

So yes, change is necessary, but C++ does not provide a good model. C++ does not evolve in a way that is based on usability or empirical evidence. C++ has critical mass, it would have been dead without it.

Freezing D2 and starting on D3 would be a much better approach and would allow you to pick up ideas from other languages than C++ (e.g. Rust, Pony etc).


> There is stuff added to C++11, improved in C++14, and deprecated in C++17. And nobody bats an eye.

Most of the deprecations in C++ are just signature adjustments. Let us keep it real.

The reason people are happy with changes to C++ is that the foundation was poor, that hardware has changed and changes are non-breaking for most code bases.


November 01, 2021
On Monday, 1 November 2021 at 08:08:32 UTC, Ola Fosheim Grøstad wrote:
>
> Freezing D2 and starting on D3 would be a much better approach and would allow you to pick up ideas from other languages than C++ (e.g. Rust, Pony etc).
>

I agree with this
November 01, 2021
On Monday, 1 November 2021 at 00:59:49 UTC, Adam Ruppe wrote:
> On Monday, 1 November 2021 at 00:05:30 UTC, Andrei Alexandrescu wrote:
>> while we were wringing our hands about breaking the behavior for like a dozen users.
>
> If you agree there are only like a dozen users, why not just make the changes and be done with it? Why worry about preserving v1 behavior at all? (Worth noting you can always just download an old version too.)

+1