January 10
On Wednesday, 10 January 2024 at 00:05:10 UTC, BlueBeach wrote:
> On Tuesday, 9 January 2024 at 22:04:52 UTC, Lance Bachmeier wrote:
>
>> I'll point out that there's a third leader that nobody's expecting to interact with the community.
>
> Stupid question: Is there a page on dlang.org where people and their roles are mentioned? A who is who of the Dlang team …

Not sure. Walter and Atila Neves are "co-maintainers" of the language. The D Language Foundation officers are here: https://dlang.org/foundation/about.html The attendees of the most recent foundation meeting are listed here: https://forum.dlang.org/post/kcokzqxwdgtwvigqcrsi@forum.dlang.org And I think this is the list of everyone that can commit: https://github.com/orgs/dlang/people?page=1
January 10
On 10/01/2024 1:29 PM, Walter Bright wrote:
>     The D programming language does not need another Kenji event.
> 
> There's a non-public story about what happened with Kenji. He has chosen to not leave an explanation, and I respect that by reciprocating. I hope he has done well and prospered since leaving us.

When it comes to leadership changes, even if the position was informal (like with Kenji), its important to make a statement otherwise it can lead to tensions like it has done here.

This is the first time I have seen suggested that it isn't just a disagreement that lead to him leaving.

Quite often the details don't matter. What matters is the intent and the intent up to this point has appeared to be of being insulted.
January 10
On 10/01/2024 9:23 AM, Walter Bright wrote:
> On 1/8/2024 11:42 PM, Richard (Rikki) Andrew Cattermole wrote:
>> On 09/01/2024 8:40 PM, Richard (Rikki) Andrew Cattermole wrote:
>>> Is equivalent to:
>>>
>>> "pr\efix"
>>
>> If you use a markdown viewer (like myself) this is probably rendering out to be one backslash.
>>
>> It is meant to be two, as you need to escape the backslash to get into the value rather than trying to escape the e.
> 
> Oh, ok. That explains it.

I'm glad that we have resolved this line of misunderstandings.

It was getting silly, given that you would've wrote the code that handled this very thing and it was easy to see what was the case if you read the PR ;)
January 10

On Tuesday, 9 January 2024 at 21:11:39 UTC, Walter Bright wrote:

>

On 1/9/2024 9:42 AM, H. S. Teoh wrote:

>

From a technical
standpoint, D has no parallels that I know of -- it comes very close to
my ideal of what a programming language should be. But the way it's
managed leaves a lot to be desired. It would be a pity for this
beautiful language to languish when under a different style of
management it could be flourishing and taking over the world.

Thank you for the kind compliments about D. Perhaps one reason it is such a nice language is because I say "no" to most enhancements? D would have version algebra and macros if it was a committee. Some features are great ideas, until you've used them for 10 years, and come to the realization that they aren't so good of an idea.

Aesthetic appeal is a big deal. D has got to look good on the screen, because after all, we spend most "programming" time just staring at the code. I remember once attending a C++ conference where the presenter had slides of his innovative ideas, and I had the thought that there was no way to format that or rewrite it so it looked good. I've had that experience many times with C++.

For example, one of the Tango features I rejected was creating a clone of C++'s iostreams. I knew by then that iostreams was a great idea, but it just looked awful on the screen (and had some other fundamental problems). The modern consensus is that iostreams was a misuse of operator overloading.

D also restricts operator overloading to discourage using it as a DSL (though Tango still managed to use it for I/O).

I could go on with that, but that's enough for the moment.

The end goal for me with D is that it will no longer need me.

As for Phobos, I am not involved with it directly. There has been a sequence of people in charge of it, but that hasn't worked out too well. But there is a core team of 35 people (though some are inactive) that controls what goes into it:

https://github.com/orgs/dlang/teams/team-phobos

They have the authority to decide what goes in Phobos or not. I'm open to nominations to that team.

Anybody can bring attention on the n.g. to any PR that is being overlooked.

Of course, I personally do not want to see this split at all. This is a rather serious issue where both projects can suffer.

With regards to the Forked project - I am just sitting on the fence to see how it turns out. It could be successful and, if so, more power to Adam and contributors. If it fails.. even badly, I will still take my hat off for their attempted effort. We do live in an (internet) age where people like to bash and put people down. I refuse to be one of those people. Same can be said on this forum on a number of ocassions, and lots towards Walter and a few others.

Coming back to Walter - I do understand his position and his comment (above) confirms that this is the right mindset whether people like it or not. D is a very good language and I don't think Walter should just add new things if he is not 100% commited to it. Some things could be great at the time but could be a mistake in 10 years - and D will then be stuck with it.

I think the reason why I am not frustrated with certain features not making it into the language is because D has many of what I need. However I understand that there are people that dont agree and waited some time for progress of said feature with nothing as a result.

I do believe that OpenD will divert away from D pretty quickly, merging new features within the first 6 months. It will divert so quickly that even if there is a chance of agreement between the two projects, they are simply too far apart to put back together without some plan.

On top of this, OpenD could be including a bunch of things that I personally do not care about. It could change the direction of the language itself. This is why I am sitting on the fence. It might still serve my purposes or it (very much) wont.

January 10
On Wednesday, 10 January 2024 at 00:29:38 UTC, Walter Bright wrote:

> I appreciate your thoughts on this. One issue is that, as D has become more complex, it also is inevitably going to move more slowly. A lot of effort is needed to keep from breaking stuff and to try not to box ourselves into a corner with a feature-of-the-moment. (Autodecoding was a box we put ourselves in, arrggh.)
>
> For example, quite recently, there was a storm on the n.g. about not fixing existing problems, but instead adding new features.
>
> We decided to stop adding new features for a while, and concentrate on backing and filling what we'd already done.

The point is not the complexity of the language, or the moving velocity, It's good that actually D is in "let's fix stuff" phase of life. The point is not either the eternal "break / don't break" my code war.

Contributors are having an hard-life, that's the point. You repeated multiple times over the years that you excel in the technical field (like Andrei, or Atila), but it's more difficult to you to handle other human related management.

That's especially true when you fell in love with your idea, you literally start arguing with "your idea glasses", it's really clear in the thread about DIP1027 vs DIP1038e on SQL, you are arguing there with DIP1027 glasses on. It's not your specific fault, we are human, we behave sometime like that.

Let's come back to pragmatism:
- everyone thinks DIP1038e is far better than DIP1027
- you are not convinced, but hey, we are human being, maybe you are wrong.

What's the solution? Simple, recognise that! You grown a really talented group of people, so trust them! We are talking about a "language" feature, we have Timon onboard, with a raised thumb on that, trust his judgement!

There should be a way to simply trigger some procedure in such a cases, put onboard someone with that role: tap on your shoulder about that.

I'm also adding around auto-decoding, and the box we put ourselves in, that in that case there was no unanimous consensus, and a real unicode expertise was lacking to the designer at that time: it was a different story, that of course can be corrected.

> As an example of backing and filling, we merged several PRs that re-enabled deprecated features, in order to better support older code. We've amended our mission now to do the best we can to not break existing code. It's kind of an invisible feature, it doesn't generate any excitement, its effect is just in not making people mad (!).

I will not discuss too deeply about that, because I see a clear dichotomy in trying to keep things simple in the compiler because it's growing too complex and big and really no-one understand it fully (cough cough CTFE), and trying to keep every historical feature inside it, while evolving: it's an herculean effort, so I'm skeptical about that.

>> The D programming language does not need another Kenji event.
>
> There's a non-public story about what happened with Kenji. He has chosen to not leave an explanation, and I respect that by reciprocating. I hope he has done well and prospered since leaving us.

It's good to know, thank you for the clarification, that's refreshing indeed.

> P.S. I don't reject proposals just because they come from Adam. I recently approved his standalone constructor proposal, because he competently addressed all my issues with it.

I've no doubt about that, you are a serious and ethic person.

/P


January 10

On Tuesday, 9 January 2024 at 21:56:55 UTC, Walter Bright wrote:

>

The trouble is there are some coding problems that only I can resolve. For example, nobody else is crazy enough to have embedded a C compiler into D. Heck, I thought it was a crazy idea for a couple decades.

Have you ever considered that this is the case because you deliberatly created an environment where other people simply don't want to resolve problems? Do you think that getting your changes reverted enables positive thinking for trying to fix anything? Why bother fixing a difficult problem if, out of the blue, you're gonna show up and just revert stuff because you "can't grep properly".

>

Would anyone else have implemented an ownership/borrowing system for D? It exists as a prototype in the compiler now, though it's been fallow for a bit as too many other things are happening. I know its design is controversial (Timon doesn't like it at all!), and it hasn't yet proven itself.

Has anyone ever cared about ownership/borrowing in a language that already fixed problems that borrowing fixes? Just use the GC -- and there isn't a need for ownership checks. The later part is just funny to me, because it reiterates what I said earlier: whenever it's a community accepted solution against just you, it's a no-go. When community is against something - you just push it in anyway.

>

Many bugzilla issues get forwarded to me because nobody else seems to want to or are able to fix them.

When you have the mentality of "I have the final say" -- of course nobody is gonna do anything. If you have the final say, you come up with a solution. Would you attempt to fix something knowing that your fix has a very good chance of being dismissed? I doubt so. Maybe out of enthusiasm, sure. But this enthusiasm only can get you so far. After some point you just give up and find a better use for your time.

Interestingly enough, being too involved in D made me somewhat afraid of making contributions at all. I was pleasantly surprised when my changes were silently merged into other projects despite me just dropping them out of nowhere. This is the way I see an open-source project shall be to have any form of success.

>

I've been slowly working on restructuring the front end so it is more understandable and tractable.

Funny you say this, because I had to update the compiler recently (to work on OpenD), and it started spitting out deprecations on my other code. And it's something that I've been complaining about for years, yet here we are. Updating the compiler even one version ahead gives me deprecations.

January 10
On Wednesday, 10 January 2024 at 10:40:51 UTC, Paolo Invernizzi wrote:
> Let's come back to pragmatism:
> - everyone thinks DIP1038e is far better than DIP1027

This isn't strictly true.

Some people like me don't care at all don't have time to read DIP and arguments, and trust the core team to choose for them. It's called having someone responsible for the design.

I'm in the camp of people fed up hearing about string interpolation for the last 3 months, and all the drama surrounding it. I'd rather not have string interpolation than just hearing about people complaining for months. Because this is what happened and at this point I can very well live without variables in quotes.

That's from seeing the leadership fence off bad ideas since years and years.
A lot of the times, about the right decision was taken.
It's painful seeing people becoming ever more demanding of open-source projects.

And I remember very well this community to be against introduction of @nogc, of UDAs (there was massive backlash), of -betterC, of memory-safety... including me.
January 10
On Wednesday, 10 January 2024 at 11:24:29 UTC, Guillaume Piolat wrote:
> On Wednesday, 10 January 2024 at 10:40:51 UTC, Paolo Invernizzi wrote:
>> Let's come back to pragmatism:
>> - everyone thinks DIP1038e is far better than DIP1027
>
> This isn't strictly true.
>
> Some people like me don't care at all don't have time to read DIP and arguments, and trust the core team to choose for them. It's called having someone responsible for the design.
>
> I'm in the camp of people fed up hearing about string interpolation for the last 3 months, and all the drama surrounding it. I'd rather not have string interpolation than just hearing about people complaining for months. Because this is what happened and at this point I can very well live without variables in quotes.
>
> That's from seeing the leadership fence off bad ideas since years and years.
> A lot of the times, about the right decision was taken.
> It's painful seeing people becoming ever more demanding of open-source projects.
>
> And I remember very well this community to be against introduction of @nogc, of UDAs (there was massive backlash), of -betterC, of memory-safety... including me.

What was meant obviously is: everyone who cares, had time to read DIP and arguments, and obviously trust the core team is on DIP1038e. If you don't care, well, that's fine.

I care, for example, because that would be an improvement in my company codebase.

But, again, the point under discussion is different, and Theo explained it well in his posts in this thread, don't focus yourself on the current specific case in string interpolation.

/O


January 10

On Wednesday, 10 January 2024 at 11:24:29 UTC, Guillaume Piolat wrote:

>

On Wednesday, 10 January 2024 at 10:40:51 UTC, Paolo Invernizzi wrote:

>

Let's come back to pragmatism:

  • everyone thinks DIP1038e is far better than DIP1027

This isn't strictly true.

Some people like me don't care at all don't have time to read DIP and arguments, and trust the core team to choose for them. It's called having someone responsible for the design.

I'm in the camp of people fed up hearing about string interpolation for the last 3 months, and all the drama surrounding it. I'd rather not have string interpolation than just hearing about people complaining for months. Because this is what happened and at this point I can very well live without variables in quotes.

That's from seeing the leadership fence off bad ideas since years and years.
A lot of the times, about the right decision was taken.
It's painful seeing people becoming ever more demanding of open-source projects.

And I remember very well this community to be against introduction of @nogc, of UDAs (there was massive backlash), of -betterC, of memory-safety... including me.

I am surprised there was a massive backlash towards UDAs.

The idea of Attributes that was handled at compile time sounds awesome. Maybe its initial plans had various flaws?

I am not sure when UDAs were added to D. Taking a guess, its must be pre-2016. I am sure UDAs existed when I started viewing D more seriously.

Assuming the backlash is correct, I think it is a good example of understanding what the community wanted from D at the time. I mean, if UDAs were first introduced in more recent times, I believe it would be met positively by the community. Maybe I am wrong?

If I am correct then it shows where the community categorize D back then compared to now. Rather than being a C++ killer.. I think many view D more in competition with C# now... so things like UDA would be more of a welcoming idea.

It shows how things change in 10 years. What is "cool" today might not be the case down the road. For me, I find UDAs to be a welcoming feature of D.

I think OpenD will be even closer to competing with C# than C++ if it succeeds. Again - we shall see in a few years.

January 10

On Wednesday, 10 January 2024 at 12:23:32 UTC, Martyn wrote:

>

If I am correct then it shows where the community categorize D back then compared to now. Rather than being a C++ killer.. I think many view D more in competition with C# now... so things like UDA would be more of a welcoming idea.

It shows how things change in 10 years. What is "cool" today might not be the case down the road. For me, I find UDAs to be a welcoming feature of D.

I think OpenD will be even closer to competing with C# than C++ if it succeeds. Again - we shall see in a few years.

Having an 'openD' branch is not necessarily a bad thing. The main thing is that there should be communication between the 'openD' and the 'dmd' main branch!

Some functions are available for both OpenD and DMD, so they should be able to provide feedback to DMD If dmd is appropriate, vice versus, you can also provide feedback to openD.

This way, 'openD' mainly competes similarly to 'C#'! And 'dmd' focuses on competing with 'C++/rust' and others!