Jump to page: 1 221  
Page
Thread overview
Why is D unpopular, redux.
May 20, 2022
deadalnix
May 20, 2022
Adam D Ruppe
May 20, 2022
Tejas
May 20, 2022
Adam D Ruppe
May 20, 2022
rikki cattermole
May 22, 2022
FeepingCreature
May 22, 2022
Paul Backus
May 21, 2022
Walter Bright
May 21, 2022
rikki cattermole
May 21, 2022
Timon Gehr
May 21, 2022
deadalnix
May 22, 2022
Timon Gehr
May 21, 2022
Walter Bright
May 21, 2022
Walter Bright
May 21, 2022
jmh530
May 22, 2022
deadalnix
May 22, 2022
Walter Bright
May 22, 2022
deadalnix
May 23, 2022
Walter Bright
May 23, 2022
FeepingCreature
May 23, 2022
H. S. Teoh
May 23, 2022
mee6
May 23, 2022
Adam D Ruppe
May 23, 2022
deadalnix
May 23, 2022
FeepingCreature
May 24, 2022
FeepingCreature
May 24, 2022
Walter Bright
May 24, 2022
Walter Bright
May 24, 2022
forkit
May 21, 2022
Walter Bright
May 21, 2022
deadalnix
May 21, 2022
Walter Bright
May 21, 2022
mee6
May 21, 2022
Walter Bright
May 21, 2022
Adam D Ruppe
May 21, 2022
Walter Bright
May 21, 2022
Adam D Ruppe
May 22, 2022
Walter Bright
May 24, 2022
IGotD-
May 24, 2022
Walter Bright
May 24, 2022
IGotD-
May 24, 2022
jmh530
May 24, 2022
Walter Bright
May 24, 2022
Dennis
May 24, 2022
Walter Bright
May 22, 2022
Max Samukha
May 23, 2022
zjh
May 21, 2022
mw
May 22, 2022
Walter Bright
May 21, 2022
Dukc
May 21, 2022
Paul Backus
May 21, 2022
Walter Bright
May 21, 2022
deadalnix
May 21, 2022
Walter Bright
May 22, 2022
deadalnix
May 22, 2022
Walter Bright
May 22, 2022
Timon Gehr
May 24, 2022
Walter Bright
May 24, 2022
forkit
May 24, 2022
Walter Bright
May 24, 2022
Timon Gehr
May 24, 2022
Walter Bright
May 25, 2022
Timon Gehr
May 22, 2022
Adam D Ruppe
May 24, 2022
Walter Bright
May 22, 2022
deadalnix
May 24, 2022
Walter Bright
May 24, 2022
Timon Gehr
May 24, 2022
FeepingCreature
May 24, 2022
deadalnix
May 24, 2022
Dukc
May 24, 2022
deadalnix
May 24, 2022
FeepingCreature
May 24, 2022
deadalnix
May 24, 2022
Adam D Ruppe
May 24, 2022
deadalnix
May 24, 2022
FeepingCreature
May 25, 2022
bauss
May 24, 2022
Walter Bright
May 24, 2022
Walter Bright
May 24, 2022
Timon Gehr
May 24, 2022
Timon Gehr
May 25, 2022
Walter Bright
May 24, 2022
Walter Bright
May 25, 2022
Timon Gehr
May 25, 2022
Walter Bright
May 25, 2022
rikki cattermole
May 25, 2022
Walter Bright
May 25, 2022
Timon Gehr
May 25, 2022
Timon Gehr
May 25, 2022
Walter Bright
May 24, 2022
Walter Bright
May 24, 2022
Timon Gehr
May 24, 2022
Walter Bright
May 24, 2022
Timon Gehr
May 24, 2022
Adam Ruppe
May 24, 2022
Walter Bright
May 24, 2022
Walter Bright
May 24, 2022
Timon Gehr
May 25, 2022
Walter Bright
May 25, 2022
Timon Gehr
May 25, 2022
Walter Bright
May 29, 2022
John Colvin
May 25, 2022
deadalnix
May 25, 2022
Timon Gehr
May 25, 2022
Walter Bright
May 24, 2022
deadalnix
May 24, 2022
Walter Bright
May 24, 2022
deadalnix
May 24, 2022
Walter Bright
May 24, 2022
Walter Bright
May 24, 2022
deadalnix
Re: design proposal process
May 25, 2022
Walter Bright
May 25, 2022
Dukc
May 25, 2022
Walter Bright
May 26, 2022
mee6
May 26, 2022
Mike Parker
May 26, 2022
Tejas
May 26, 2022
Mike Parker
May 26, 2022
deadalnix
May 26, 2022
Sergey
May 27, 2022
user1234
May 27, 2022
zjh
May 27, 2022
zjh
May 27, 2022
zjh
May 27, 2022
zjh
May 27, 2022
zjh
May 27, 2022
zjh
May 27, 2022
user1234
May 27, 2022
zjh
May 27, 2022
user1234
May 27, 2022
zjh
May 27, 2022
zjh
May 27, 2022
Paul Backus
May 27, 2022
mee6
May 28, 2022
zjh
May 28, 2022
zjh
May 28, 2022
zjh
May 28, 2022
zjh
May 28, 2022
IGotD-
May 28, 2022
mw
May 29, 2022
zjh
May 29, 2022
zjh
May 29, 2022
zjh
May 29, 2022
zjh
May 28, 2022
zjh
May 27, 2022
user1234
May 28, 2022
zjh
May 27, 2022
zjh
May 27, 2022
zjh
May 27, 2022
deadalnix
May 28, 2022
zjh
May 28, 2022
Walter Bright
May 28, 2022
zjh
May 27, 2022
Siarhei Siamashka
May 27, 2022
zjh
May 24, 2022
Basile B.
May 24, 2022
deadalnix
May 24, 2022
FeepingCreature
May 24, 2022
FeepingCreature
May 24, 2022
deadalnix
May 24, 2022
Walter Bright
May 24, 2022
burjui
May 24, 2022
FeepingCreature
May 24, 2022
FeepingCreature
May 24, 2022
zjh
May 24, 2022
zjh
May 24, 2022
zjh
May 24, 2022
mee6
May 24, 2022
Guillaume Piolat
May 24, 2022
Guillaume Piolat
May 24, 2022
deadalnix
May 24, 2022
deadalnix
May 25, 2022
zjh
May 25, 2022
Guillaume Piolat
May 25, 2022
Dukc
May 25, 2022
Guillaume Piolat
May 25, 2022
Guillaume Piolat
May 25, 2022
Dukc
May 25, 2022
Dukc
May 25, 2022
Guillaume Piolat
May 25, 2022
Guillaume Piolat
May 25, 2022
Dukc
May 24, 2022
Dukc
May 24, 2022
deadalnix
May 20, 2022

So I was catching up with he humongous thread. What stroke me in there is that almost everybody is missing the point, but maybe that isn't so surprising, as there is a self selection bias at play.

I especially noticed this post: https://forum.dlang.org/post/kkmlkebnsbembkispcya@forum.dlang.org

Apparently, we are getting named argument soon. I have no opinion whether this is good or bad, I haven't even read he proposal. But I don't need to to know this is pretty bad for D, even if the proposal is really good.

I'd like to remind everybody of a simple fact: it is impossible to write a high quality generic container in D, right now. This is because there is no way to explain to the compiler that a const Vector!T is the same as a const Vector!(const T).

There is no syntactic sugar, no optimization, no static analysis, no nothing that can compensate for this, just like it doesn't matter how comfortable the seat are on a car which has no wheels.

On the other hand, this will yet again break many tools, setting the ecosystem back once again. This same pattern has been repeating for at least a decade by now.

May 20, 2022
On Friday, 20 May 2022 at 11:28:38 UTC, deadalnix wrote:
> On the other hand, this will yet again break many tools, setting the ecosystem back once again.

Yeah, it'll take like an hour to update our custom parsers.
May 20, 2022

On Friday, 20 May 2022 at 11:28:38 UTC, deadalnix wrote:

>

So I was catching up with he humongous thread. What stroke me in there is that almost everybody is missing the point, but maybe that isn't so surprising, as there is a self selection bias at play.

I especially noticed this post: https://forum.dlang.org/post/kkmlkebnsbembkispcya@forum.dlang.org

Apparently, we are getting named argument soon. I have no opinion whether this is good or bad, I haven't even read he proposal. But I don't need to to know this is pretty bad for D, even if the proposal is really good.

I'd like to remind everybody of a simple fact: it is impossible to write a high quality generic container in D, right now. This is because there is no way to explain to the compiler that a const Vector!T is the same as a const Vector!(const T).

There is no syntactic sugar, no optimization, no static analysis, no nothing that can compensate for this, just like it doesn't matter how comfortable the seat are on a car which has no wheels.

On the other hand, this will yet again break many tools, setting the ecosystem back once again. This same pattern has been repeating for at least a decade by now.

Isn't that a consequence of transitive const though? Allowing one to bypass that means getting rid of one of the most distinctive features of D 😧

If we get rid of that, then our const will almost become the same as C++'s(only mutable will be left, ie, logical const)

Is that okay?

May 20, 2022
On Friday, 20 May 2022 at 12:01:17 UTC, Tejas wrote:
> Isn't that a consequence of transitive const though?

No, it works for built-in arrays. Just the language doesn't let you express that for user-defined types.

There's a lot of little gaps the built-in things use magic to fill.
May 21, 2022
On 20/05/2022 11:28 PM, deadalnix wrote:
> Apparently, we are getting named argument soon. I have no opinion whether this is good or bad, I haven't even read he proposal. But I don't need to to know this is pretty bad for D, even if the proposal is really good.

As a previous author of a named parameter DIP, I can say its a good DIP but it doesn't solve a pretty important thing. The ability to access template parameters as if they were a member externally.

As Max discovered, its a lot of work to implement. So much technical debt and so little refactoring going on. Oh well.

> I'd like to remind everybody of a simple fact: it is impossible to write a high quality generic container in D, right now. This is because there is no way to explain to the compiler that a `const Vector!T` is the same as a `const Vector!(const T)`.

The things that concern me wrt. data structures are:

I can't ``@disable const;`` and stop the outer type being able to become const. It is a lot of work to prevent it.

Why can't I support const? To iterate, you need to be able to mutate state. This includes an iterator (for concurrent iteration + mutation support). And of course reference counting.

For data structures, because they must be able to mutate state, const is effectively immutable. You can't know if the state is in read only memory or not. So the only thing you can do is throw up your hands and go, nope not my problem!

This of course becomes a pain if you need to return say a list of strings that was computed at the start of a program that will never change. But once you return it, anyone can change it. I'm now considering copy on write for them wholesale.

All this before we consider lifetime issues *sigh*.
May 20, 2022
On 5/20/2022 4:28 AM, deadalnix wrote:
> I'd like to remind everybody of a simple fact: it is impossible to write a high quality generic container in D, right now. This is because there is no way to explain to the compiler that a `const Vector!T` is the same as a `const Vector!(const T)`.

I don't recall anyone ever bringing it up before. Glad you did.

Want to write a proposal for it?
May 20, 2022
On 5/20/2022 4:28 AM, deadalnix wrote:
> What stroke me in there is that almost everybody is missing the point, but maybe that isn't so surprising, as there is a self selection bias at play.

But you don't say what the point is!
May 21, 2022
On 21/05/2022 3:45 PM, Walter Bright wrote:
> I don't recall anyone ever bringing it up before. Glad you did.

Cross referencing:

https://forum.dlang.org/post/nnkuxoiawyvgyrnuesxu@forum.dlang.org

https://forum.dlang.org/post/umekbkvomyixeiksgzfd@forum.dlang.org

May 21, 2022

On Saturday, 21 May 2022 at 03:55:41 UTC, Walter Bright wrote:

>

On 5/20/2022 4:28 AM, deadalnix wrote:

>

What stroke me in there is that almost everybody is missing the point, but maybe that isn't so surprising, as there is a self selection bias at play.

But you don't say what the point is!

Complete what you’ve got. No shortcuts or hacks or easy-to-add-stuff that doesnt move the needle.

Don’t add more stuff that isnt strictly needed and avoid increasing instability and incomplete features.

Get to a stable state so that it becomes possible to implement an alternative and tooling.

Focus on retention, stability, tooling.

Focus on conversion and measure when people fall off the bandwagon and why. Installation failure? Tutorial shortcomings? Didnt find the help forum? Failed to set up IDE? Found the IDE experience confusing? Didnt find his way in the documentation?

Measure, measure, measure...

May 21, 2022
On Saturday, 21 May 2022 at 03:55:41 UTC, Walter Bright wrote:
> On 5/20/2022 4:28 AM, deadalnix wrote:
>> What stroke me in there is that almost everybody is missing the point, but maybe that isn't so surprising, as there is a self selection bias at play.
>
> But you don't say what the point is!

I believe, from what he said in other thread, that in his opinion D should bundle changes that require tooling updates so that they happen only once per every few years.

I personally don't agree with that. I fear that having to wait for the biannual or so release day to have any significant language improvements released would frustate contributors. And it would drastically slow the feedback loop, with regards to experience with the new features.
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11