digitalmars.D - The forked elephant in the room
- Atila Neves (33/33) Jan 15 As seen on this very same forum / mailing list, some of the
- IGotD- (23/35) Jan 15 Is there no bottom how low you can go? This is like a manager who
- Curious Observer (17/19) Jan 15 While having looked at the arguments on both sides, as the name
- Curious Observer (9/9) Jan 15 On Monday, 15 January 2024 at 10:54:06 UTC, Curious Observer
- Meta (4/11) Jan 15 How does your mind invent such bad intentions from a diplomatic
- IGotD- (11/14) Jan 15 I see it as the intentions are benign. The point of the fork was
- H. S. Teoh (11/17) Jan 15 On the contrary, Adam himself has said that if the current upstream
- H. S. Teoh (51/65) Jan 15 This is true, we have been repeating over the last decade or so the
- tony (3/5) Jan 15 I think the worst part of the post was clearly:
- IGotD- (12/19) Jan 15 He basically writes "We don't want you to work on openD project,
- Elias (0xEAB) (2/5) Jan 15 Why so sure about that? Why isn’t the keyword *hope*?
- claptrap (15/37) Jan 15 Maybe you read to much into it. Maybe he just hopes the egg can
- Walter Bright (6/7) Jan 15 D is designed with being forkable in mind. Anyone is free to fork it for...
- Walter Bright (21/22) Jan 15 What mechanism would you propose?
- GrimMaple (23/36) Jan 15 Just because it's bad somewhere else doesn't justify leaving
- Walter Bright (5/8) Jan 15 A couple days ago, you complained in the n.g. that a new deprecation int...
- Mike Shah (17/54) Jan 15 There's been some proposals I've seen that have taken 10+ years
- claptrap (5/10) Jan 15 yeah but D pretty much only has to get Walter and Atila to agree
- Mike Shah (8/19) Jan 15 Pros and cons I imagine to that that, though I'm not trying to
- aberba (10/27) Jan 16 And it didn't fly down from the sky. Donors are humans too so
- Walter Bright (2/4) Jan 15 Can I pester you again for your amazing threading library?
- Mike Shah (6/11) Jan 15 That might be Roy Margalit you are thinking of? Or maybe it was
- Walter Bright (3/15) Jan 15 That would be something to look forward too!
- Richard (Rikki) Andrew Cattermole (23/26) Jan 15 If you would like a suggestion on this topic, may I suggest coroutines?
- Walter Bright (2/3) Jan 16 This sounds cool. Please do a DConf presentation on it!
- Richard (Rikki) Andrew Cattermole (13/16) Jan 16 I've talked about this on BeerConf, but there are a few reasons why
- Walter Bright (5/15) Jan 16 Good
- Richard (Rikki) Andrew Cattermole (20/35) Jan 16 The updated plan was not as you never replied. The earlier plan of
- ikod (7/19) Jan 16 Hello,
- Richard (Rikki) Andrew Cattermole (7/31) Jan 16 I have done this in the past. You end up defining the user experience in...
- ikod (10/17) Jan 16 I had no problems implementing a common API for select, poll,
- Richard (Rikki) Andrew Cattermole (7/28) Jan 16 You may have misunderstood me.
- Dibyendu Majumdar (8/14) Jan 16 What is your contribution to D?
- Hors (9/28) Jan 16 Yet another person telling "don't complain, just do things", I
- Atila Neves (13/26) Jan 16 Thanks for the write-up. I think it's true that these perceptions
- Paolo Invernizzi (16/45) Jan 16 My humble proposal is to add another, language maintainer with
- Mike Parker (60/69) Jan 16 I'd just like to say something about this. I've seen it repeated
- Sergey (5/6) Jan 16 It is all good, the only problem in my (with limited information
- Paolo Invernizzi (15/23) Jan 16 Thank you Mike, just one point about delegation.
- aberba (7/33) Jan 16 Delegation of judgement 👍. I don't think Walter is an expert at
- Walter Bright (8/13) Jan 16 Both proposals can do CT string interpolation.
- Elias (0xEAB) (3/5) Jan 16 While I’m not sure whether this would work out in practice from
- Walter Bright (3/9) Jan 16 It's happened before. It's one reason why our annual in-person conferenc...
- matheus (20/25) Jan 16 I work as developer in a pretty much one of biggest health care
- Walter Bright (2/5) Jan 16 texting < newsgroup < phone < zoom meeting < in-person meeting
- Jonathan M Davis (11/16) Jan 16 Among other things, that's how we got the package.d feature. Daniel Murp...
- Paolo Invernizzi (7/22) Jan 16 Yeah, I know, I manage people since I was 25 and I'm 54 now: I've
- H. S. Teoh (12/19) Jan 16 [...]
- Walter Bright (3/5) Jan 17 I appreciated working with Andrei because he had the academic background...
- Dukc (7/9) Jan 16 Why not? I get that such PRs are not necessarily net positives in
- Don Allen (6/15) Jan 16 This is an excellent point that I think Walter and the others who
- Dibyendu Majumdar (10/27) Jan 16 Not at all a good idea. The D team is the gate keeper of the
- Dukc (16/20) Jan 16 When adding new language features it makes sense that the bar is
- Lance Bachmeier (6/16) Jan 16 The reason I don't want to contribute is because the standard
- Walter Bright (5/9) Jan 17 The larger a project is, the more useful a consistent style is across it...
- bachmeier (5/16) Jan 17 Any such rules need to be stated up front. If they're written
- Walter Bright (5/7) Jan 17 https://dlang.org/dstyle.html
- Don Allen (18/48) Jan 16 I won't speak for Dukc, but I am certainly not advocating "saying
- Walter Bright (16/16) Jan 16 In general, we've been much more willing to accept PRs that we can back ...
- DrDread (7/27) Jan 18 and this is also a problem. you leave bad features in the
- Walter Bright (3/7) Jan 18 We recently has a long, acrimonious thread with people complaining that ...
- Lance Bachmeier (5/14) Jan 18 My understanding is that you now have a plan in place to change
- Paul Backus (46/55) Jan 16 With due respect, I think focusing on acceptance vs rejection of
- H. S. Teoh (46/76) Jan 16 Spot on!
- Atila Neves (11/39) Jan 17 I appreciate you pointing that out.
- Richard (Rikki) Andrew Cattermole (9/23) Jan 17 To be blunt, you and Walter are never on Discord, or anywhere where
- Paolo Invernizzi (15/47) Jan 17 I think that this thread is now going in the wrong direction,
- Atila Neves (15/45) Jan 18 I've tried multiple times. There's usually 200+ unread messages
- Richard (Rikki) Andrew Cattermole (7/7) Jan 18 Don't worry about all the talk beyond one page back. If you are needed
- Paul Backus (11/27) Jan 17 The problem is not what you did in this specific case; it's the
- Adam Wilson (7/13) Jan 17 Professional respect is both earned and revocable. Mr. Ruppe did
- Paul Backus (10/24) Jan 17 I am less concerned about leadership's response to Mr. Ruppe's
- GrimMaple (16/22) Jan 18 When you try to communicate issues, and instead get told "You are
- Guillaume Piolat (3/5) Jan 18 It's hard to take the OpenD fork seriously when reading things
- Siarhei Siamashka (7/12) Jan 18 GrimMaple is right. Demanding respect in a rude manner will never
- Guillaume Piolat (4/6) Jan 18 It worked for you?
- Hors (5/10) Jan 18 I missed the point where this is related openD. "I don't agree
- Mike Parker (41/52) Jan 17 Respect and professionalism is a two-way street. I've seen some
- Paul Backus (15/40) Jan 17 I agree completely. I think the DLF has a great opportunity to
- Walter Bright (9/12) Jan 17 We do enforce a standard of professional behavior in the forum, and a nu...
- Dibyendu Majumdar (6/22) Jan 18 As a bystander here I have never observed anything good example
- Dibyendu Majumdar (3/8) Jan 18 anything "but" good example, I meant to write.
- Paul Backus (13/18) Jan 18 The D core team is always courteous on the forums, but the way
- Dibyendu Majumdar (5/18) Jan 18 I had a quick look. To be honest none of those examples show
- Paul Backus (16/37) Jan 18 When someone submits a contribution, and you make them wait for
- Dibyendu Majumdar (17/31) Jan 18 Hmm, my reactions are:
- Walter Bright (25/37) Jan 19 Since these three examples have come up repeatedly, I will add some cont...
- FairEnough (15/23) Jan 27 A feature pulled in, essentially without any community
- Walter Bright (22/35) Jan 27 Those issues were about ImportC, not the rest of the compiler. As compil...
- Daniel N (3/5) Jan 28 One funny thing... C doesn't even need classes. It only needs
- ryuukk_ (16/57) Jan 28 And i thank you a lot for ImportC, just last week it saved me a
- Walter Bright (2/22) Jan 28 Your post makes me happy! Thank you for letting me know this.
- matheus (10/11) Jan 28 Walter I have a question regarding C, I remember that in the past
- Walter Bright (6/13) Jan 28 I'm sorry, I don't recall writing such a paper. They're called length-pr...
- Lance Bachmeier (13/19) Jan 28 I wouldn't say "no interest". This is [what I
- Walter Bright (6/26) Jan 28 I, too, underestimated the pervasive (and usually quite unnecessary) use...
- max haughton (22/52) Jan 29 Surely you of all people would know that? I was one of the first
- Walter Bright (12/37) Jan 29 My priority was compiling Standard C, not C extensions. I assumed that t...
- Walter Bright (3/7) Jan 29 Yes, you were very helpful it providing excellent bug reports in the ear...
- bachmeier (7/10) Jan 29 Not only that, but it does work well for that purpose, and it's
- Walter Bright (4/6) Jan 29 It's kinda the same thing as Ddoc and unittests. Building things into th...
- Paolo Invernizzi (7/17) Jan 30 I'm just wondering how good it is to perform CTFE on C code ...
- Walter Bright (4/7) Jan 30 CTFE works just fine on ImportC code !!
- Dibyendu Majumdar (8/26) Jan 28 But this where you get it wrong. This is not a business. The
- Dibyendu Majumdar (6/10) Jan 28 I don't know if I am right but part of the motivation of import C
- Walter Bright (2/5) Jan 28 I didn't know Zig did that until after I did ImportC.
- Don Allen (19/25) Jan 28 Zig also has the ability to translate C headers into Zig. The
- Walter Bright (8/24) Jan 28 I'm glad it's working for you!
- Dibyendu Majumdar (3/9) Jan 29 When did you start on importC?
- Walter Bright (16/27) Jan 29 That post was Dec 3, 2020. The PR for ImportC was May 9, 2021, about 5 m...
- max haughton (3/5) Jan 29 Well the syntax is cleaner but has the potential to be ambiguous
- Walter Bright (3/5) Jan 29 Right. Putting .c and .d files with the same name in the same directory ...
- Steven Schveighoffer (12/18) Jan 31 Or in the same import path. This is what bit me -- my C files
- Walter Bright (19/25) Feb 01 The rationale for not having a special syntax for importing C files is t...
- Steven Schveighoffer (28/57) Feb 01 This means you are changing the language based on the environment
- Jonathan M Davis (26/52) Feb 06 Well, I would point out that if import C had its own syntax, anyone who
- Dibyendu Majumdar (8/29) Jan 30 It doesn't really matter I guess, but its interesting that the
- bachmeier (12/19) Jan 30 It's not full ImportC, but I remember Walter was talking about
- Dibyendu Majumdar (5/8) Jan 30 The idea of generating automatic bindings to declarations in
- Sergey (5/9) Jan 30 The idea is not new and unique for Zig
- Mike Parker (5/15) Jan 30 There were discussions about the possibility of dmd compiling C
- Mike Parker (4/11) Jan 30 Okay, here's an early discussion. Not exactly the same, but in
- Mike Parker (5/17) Jan 30 And here's the earliest discussion of an ImportC-style thing that
- jmh530 (2/18) Jan 30 Does it really matter?
- Bruce Carneal (10/34) Jan 30 The history of programming languages is interesting in itself and
- Mike Parker (2/3) Jan 30 Of course not. Just sharing what I found since it came up.
- Dibyendu Majumdar (3/6) Jan 30 It doesn't matter as such, but answering competition is a good
- bachmeier (10/31) Jan 30 That's a lot earlier than what I found, but my recollection was
- Walter Bright (3/6) Jan 30 The idea really goes back to C++. The C++ compiler could compile C code....
- jmh530 (6/16) Jan 30 Zig did it before D (arguably C++ and Objective C did something
- FairEnough (17/26) Jan 28 So I am pretty sure I fully understand the concept of opensource
- Richard (Rikki) Andrew Cattermole (16/23) Jan 17 Part of the problem that allows this to exist is simply because Walter &...
- Guillaume Piolat (9/13) Jan 18 +1
- aberba (7/21) Jan 18 Discord is a huge time sink and unproductive. I doubt the DLF
- Meta (17/28) Jan 18 I mean, let's all be brutally real here for a minute. I've been
- Paul Backus (11/19) Jan 18 Yes, that's certainly true.
- H. S. Teoh (8/18) Jan 18 Exactly.
- zjh (9/16) Jan 18 That's right, what the `community` needs is a constant influx of
- Dukc (19/30) Jan 19 I get the impression that these kinds of problems are more of a
- Don Allen (19/52) Jan 19 Again I agree with you.
- Don Allen (13/69) Jan 19 I should add that I no longer use OpenBSD and will not, because
- Walter Bright (31/35) Jan 19 I do agree that the tone of any organization flows down from the top, so...
- Richard (Rikki) Andrew Cattermole (12/14) Jan 19 I mentioned about this to Atila in another post.
- Walter Bright (2/2) Jan 19 I get a constant stream of requests for attention. There's only so much ...
- Richard (Rikki) Andrew Cattermole (6/9) Jan 19 I can certainly understand that.
- Hors (7/16) Jan 19 i thought this was the definition of open source software, you
- Richard (Rikki) Andrew Cattermole (6/25) Jan 19 Yes, but you have missed the very important point. He hasn't got the
- H. S. Teoh (27/31) Jan 19 Don't confuse the *license* of the software (license gives you the right
- Steven Schveighoffer (27/39) Jan 19 This is a bit far. Development of the compiler and the libraries
- Walter Bright (8/10) Jan 19 Then I delegate anyone who uses Discord and thinks an issue there needs ...
- Dibyendu Majumdar (4/7) Jan 19 In Linux world, the leads just review and merge. It is difficult
- Dibyendu Majumdar (5/6) Jan 16 Its funny this, as you are the one we should ask this question.
- Lance Bachmeier (6/9) Jan 15 One might argue that's what they're doing. D doesn't have the
- claptrap (10/14) Jan 15 I was very disappointed to read the whole post and find that the
- jmh530 (5/9) Jan 16 People still make references to Tango vs Phobos, which happened
- une (16/19) Jan 19 maybe dlang should embrace closedness [1] and actually encourage
As seen on this very same forum / mailing list, some of the members of the community have decided to fork D over disagreements with how things are being run. D is an open source project, and as such in a way meant to be forked. The D leadership does not endorse the fork, but we also do not bemoan the people who are involved. We think it is unfortunate that our scant resources are going to be split, but we acknowledge that we have as much control over that as we usually do getting contributors to work on what we think is important. I personally am going to continue working on a spec [1] for Adam Ruppe's work [2] on string interpolation. I think he has done great work and see no reason to not make a D a better language because of this fork. It was in great part due to his objections to DIP1027 that it did not get accepted and his insight on the feature have been invaluable. In 2023, we took our first steps on a long road to regorganising our processes. We're continuing on that path in 2024 and expect to pick up momentum as the year progresses. We hope that in time the contributors to OpenD will decide to lend their time instead to the D language. [1] https://github.com/atilaneves/DIPs/blob/string-interpolation/Interpolation.md [2] https://github.com/dlang/dmd/pull/15715
Jan 15
On Monday, 15 January 2024 at 09:46:11 UTC, Atila Neves wrote:I personally am going to continue working on a spec [1] for Adam Ruppe's work [2] on string interpolation. I think he has done great work and see no reason to not make a D a better language because of this fork. It was in great part due to his objections to DIP1027 that it did not get accepted and his insight on the feature have been invaluable. We hope that in time the contributors to OpenD will decide to lend their time instead to the D language.Is there no bottom how low you can go? This is like a manager who gives a former a employee an astronomical raise after giving the notice and the new job is waiting. At that point the manager can give you any amount because it doesn't mean anything, the manager just do it in order to mess with the mind of the former employee. Also if you believe that the fork was made just because disagreement about DIP1036 and DIP 1027 you are mistaken. The dissatisfaction with the D management and how the project is run has been growing for several years if not over a decade. It is rather surprising that a serious fork wasn't made earlier. If you think that stopping the fork is going to help, think again. The behaviour of the D management is endemic and cannot be changed because much is linked to your personalities, much to the personally of Walter. For me the desire to remove binary literals was the wakeup call for me that something is not quite right and it cannot be fixed. Now I cannot stop the D project to include things from openD and vice versa and I see no problems with that. However, trying to infiltrate the openD in order to derail it or influence it is benign and will lead to missed opportunities. If you have left over work from before the fork, get it done. After that, good bye!
Jan 15
On Monday, 15 January 2024 at 10:11:33 UTC, IGotD- wrote:Also if you believe that the fork was made just because disagreement about DIP1036 and DIP1027 you are mistaken.While having looked at the arguments on both sides, as the name suggests I don't have any skin in this game. How ever having read the arguments for DIP1036 and DIP1027 the difference do seem chalk and cheese. The fact these obvious differences seem to blind so many is rather amazing. I'm not qualified to respond on the merits of either design, however, as a long time C and C++ developer I always saw the benefit of the %s approach. However, unfortunately as a Windows C and C++ developer some 15 Move on a few more years, even a hard core %s sprintf guy like C++ with it's crazy cout rules got it totally wrong. My two cents.
Jan 15
On Monday, 15 January 2024 at 10:54:06 UTC, Curious Observer wrote: And of course, if the language can't provide protection against SQL injection, then at least don't become remember as just another PHP. "While we have explored the prevalence of XSS CWEs in depth, PHP is the only language with prominent SQL Injection (CWE-89) vulnerabilities [7]" https://www.scirp.org/journal/paperinformation?paperid=128108#:~:text=While%20we%20have%20explored%20the,2021%20by%20language%20and%20type.
Jan 15
On Monday, 15 January 2024 at 10:11:33 UTC, IGotD- wrote:Is there no bottom how low you can go? [snip] If you think that stopping the fork is going to help, think again. [snip] However, trying to infiltrate the openD in order to derail it or influence it...How does your mind invent such bad intentions from a diplomatic and well-meaning attempt to address a political charged issue? Your post is completely unhinged.
Jan 15
On Monday, 15 January 2024 at 15:20:08 UTC, Meta wrote:How does your mind invent such bad intentions from a diplomatic and well-meaning attempt to address a political charged issue? Your post is completely unhinged.I see it as the intentions are benign. The point of the fork was to get away from the D project management and I see the post as an attempt to get a foot into the fork to destabilize it. I also want to point out that the intention is not to deter anyone who are not in D project management to use openD and contribute. However, if you are on the D project management if you try to get involved in the openD project I'm highly skeptical about your intentions. The D project should instead welcome the addition to the fork in order revitalize the language and create healthy competition.
Jan 15
On Mon, Jan 15, 2024 at 03:36:52PM +0000, IGotD- via Digitalmars-d wrote: [...]I also want to point out that the intention is not to deter anyone who are not in D project management to use openD and contribute. However, if you are on the D project management if you try to get involved in the openD project I'm highly skeptical about your intentions.On the contrary, Adam himself has said that if the current upstream management people would like to contribute to openD, he'd have seats reserved for them at the table. Though he is not holding his breath for this to happen.The D project should instead welcome the addition to the fork in order revitalize the language and create healthy competition.Given the acrimony surrounding the decision to fork, I don't think this is a very realistic expectation. T -- Guns don't kill people. Bullets do.
Jan 15
On Mon, Jan 15, 2024 at 10:11:33AM +0000, IGotD- via Digitalmars-d wrote: [...]Also if you believe that the fork was made just because disagreement about DIP1036 and DIP 1027 you are mistaken. The dissatisfaction with the D management and how the project is run has been growing for several years if not over a decade. It is rather surprising that a serious fork wasn't made earlier.This is true, we have been repeating over the last decade or so the pattern of attracting enthusiastic contributors due to the technical excellence of D, only to have them turn around and leave after coming to an impasse with the project's management. As I have said previously, the problem isn't so much that things did not go their way; I think any reasonable person would understand that in technical decisions there's always pros and cons and one could go either way, and that whichever way a decision goes, it would work out, one could live with it. No, the root of the problem is social, not technical. The thing is, the overall impression a contributor gets is: 1) They have little or no say over key project decisions. 2) There are unwritten requirements that are not communicated beforehand, but may suddenly appear at any time and land on you like a pile of bricks, negating weeks or even months of hard work and effort. 3) Preferred solutions will go through by default, and to reverse them is a long uphill battle. 4) Non-preferred solutions are not even considered by default, and to get them considered at all is an equally long uphill battle, not to mention an even longer uphill battle to get them approved. 5) Mistakes in preferred solutions in retrospect will generally not be acknowledged, or papered over with convenient excuses, while similar mistakes in non-preferred solutions will result in a ton of bricks landing on its proponents. 6) Preferred solutions may cut corners in the approval process, but non-preferred solutions must fulfill every last detail of a bureaucratic process to the letter even for the most trivial of decisions, otherwise they will be duly ignored. These impressions are not necessarily accurate, of course. But they do seem very real from the POV of would-be contributors, and can be very demotivating. As long as they are not addressed, D is going to continue experiencing manpower issues. Again, this has nothing to do with technical merit; it's a social problem. A programming language project involves not only technical issues, but social issues, because it has to be run by humans. Technical excellence can only go so far before a contributor decides it's not worth dealing with the social issues. Unfortunately, it does not seem that this is going to change as long as the current project management continues in its present course. So it's unlikely that it will ever be addressed.If you think that stopping the fork is going to help, think again. The behaviour of the D management is endemic and cannot be changed because much is linked to your personalities, much to the personally of Walter. For me the desire to remove binary literals was the wakeup call for me that something is not quite right and it cannot be fixed.Now this is uncalled for. Where in Atila's post was anything mentioned about stopping the fork?Now I cannot stop the D project to include things from openD and vice versa and I see no problems with that. However, trying to infiltrate the openD in order to derail it or influence it is benign and will lead to missed opportunities.[...] This is also uncalled for. Where in Atila's post is there anything to do with infiltration? T -- A programming language should be a toolbox for the programmer to draw upon, not a minefield of dangerous explosives that you have to very carefully avoid touching in the wrong way.
Jan 15
On Monday, 15 January 2024 at 18:33:07 UTC, H. S. Teoh wrote:Now this is uncalled for. This is also uncalled for.I think the worst part of the post was clearly: "Is there no bottom how low you can go?"
Jan 15
On Monday, 15 January 2024 at 18:33:07 UTC, H. S. Teoh wrote:Now this is uncalled for. Where in Atila's post was anything mentioned about stopping the fork?This.We hope that in time the contributors to OpenD will decide to lend their time instead to the D language.He basically writes "We don't want you to work on openD project, you should work on the D project". The key word here is *instead* which suggest that it should be mutually exclusive.This is also uncalled for. Where in Atila's post is there anything to do with infiltration?I'm concerned that the D management will influence the openD project and try to bring in the "old ways" which is the state of this project right now. It can also creep in when everybody is totally unaware of it, like a spouse always ending up in abusive relationships. I suggest that the decision making in openD should be isolated from the old D project management, at least in the beginning until openD has matured.
Jan 15
On Monday, 15 January 2024 at 19:10:27 UTC, IGotD- wrote:He basically writes "We don't want you to work on openD The key word here is *instead* which suggest that it should be mutually exclusive.Why so sure about that? Why isn’t the keyword *hope*?
Jan 15
On Monday, 15 January 2024 at 19:10:27 UTC, IGotD- wrote:On Monday, 15 January 2024 at 18:33:07 UTC, H. S. Teoh wrote:Maybe you read to much into it. Maybe he just hopes the egg can be unscrambled at some point in the future. But even if that's not what he meant so what? It's quite reasonable to believe that the fork will be detrimental to D, and if you really believe that then it would be perfectly rational to hope that it fizzles out and people come back into mainline. Im not saying that is what he thinks, but there's a perfectly rational and inoffensive reason to hold that view.Now this is uncalled for. Where in Atila's post was anything mentioned about stopping the fork?This.We hope that in time the contributors to OpenD will decide to lend their time instead to the D language.He basically writes "We don't want you to work on openD project, you should work on the D project". The key word here is *instead* which suggest that it should be mutually exclusive.What like their gonna send their agents over to derail OpenD? You know it'll need a DIP, a couple of years arguing in the forum, when somebody eventually completes the work it wont be merged for some reason. Etc.. I make that 4 years at least before you need to worry. If you're smoking weed stop, if your not smoking weed start.This is also uncalled for. Where in Atila's post is there anything to do with infiltration?I'm concerned that the D management will influence the openD project and try to bring in the "old ways" which is the state of this project right now. It can also creep in when everybody is totally unaware of it, like a spouse always ending up in abusive relationships. I suggest that the decision making in openD should be isolated from the old D project management, at least in the beginning until openD has matured.
Jan 15
On 1/15/2024 11:10 AM, IGotD- wrote:I'm concerned that the D management will influence the openD projectD is designed with being forkable in mind. Anyone is free to fork it for any reason. D's license is the most open license in the industry, and I'm proud of that. In the spirit of that, I won't be interfering with anybody's forks. I made no attempt to interfere with Tango, Amber, nor any other forks. I ask for the reciprocal courtesy from the openD folks.
Jan 15
On 1/15/2024 10:33 AM, H. S. Teoh wrote:Preferred solutions [...]What mechanism would you propose? I can't help but think a preferred solution already has a lot of buy-in for it, and so needs less justification? For a less preferred solution, it needs to make a compelling case for it. Before investing a lot of time making a proposal and/or coding up an implementation, I strongly recommend hashing the idea out in the n.g. first, and seeing if there's buy-in to the concept. I've floated many ideas on the n.g. in this manner. Some went ahead, some went into the dumpster and I'm glad I didn't waste time on the latter. For two recent examples, see the threads entitled: "Tuples, CTFE and Sliding Template Arguments" "Warn about using the GC" BTW, has anyone else tried to get changes into another language? I have. It's a years long process, and is extremely difficult to get it through. You have a better chance also if you're willing to fly to the conference meetings. None of my proposals got anywhere. Ironically, they way they made it in was to do them in D! P.S. We also have some contributors who have a long track record of superb contributions. They also have a consistent commitment to promptly fixing anything that goes wrong with it down the road. Yes, they get a lot less scrutiny. They've earned it.
Jan 15
On Monday, 15 January 2024 at 23:33:23 UTC, Walter Bright wrote:BTW, has anyone else tried to get changes into another language? I have. It's a years long process, and is extremely difficult to get it through.Just because it's bad somewhere else doesn't justify leaving things as is hereP.S. We also have some contributors who have a long track record of superb contributions. They also have a consistent commitment to promptly fixing anything that goes wrong with it down the road. Yes, they get a lot less scrutiny. They've earned it.Care to give a few names?In the spirit of that, I won't be interfering with anybody's forks. I made no attempt to interfere with Tango, Amber, nor any other forks.Did that work out well for you, or D, in the end? It's very interesting how you often use "lack of manpower" as an excuse to not get things done, yet you are more than willing to just let this "manpower" go without even an iota of interest or any attempts to make peaceI can't help but think a preferred solution already has a lot of buy-in for it, and so needs less justification?It's not the need of justification that people hate, it's the fact that you stop useful contributions based on some bike-shedding level issue, whilst allowing yourself to push fundamentally flawed features (ImportC for instance). If you showed the same level of concern for your own features -- there wouldn't be so much backlash. Instead, you can't even be bothered to __read__ the string interpolation that works well. And, on the other hand, you push in live (that doesn't work), ImportC (that doesn't work), and the list goes on. I know that you like to say on hackernews that "D has ownership" and "D can ImportC", but I'm sorry, it only has ownership in an isolated dmd test suite, and it all works really poorly in the real world. Same goes for ImportC. If you can't compile 99% of C code (I'll give you 95%, fine) it's useless in practice.
Jan 15
On 1/15/2024 4:14 PM, GrimMaple wrote:you are more than willing to just let this "manpower" go without even an iota of interest or any attempts to make peaceA couple days ago, you complained in the n.g. that a new deprecation introduced in the latest release broke your code. I replied asking for more information on it, so I could address it. You did not reply.
Jan 15
On Tuesday, 16 January 2024 at 00:14:50 UTC, GrimMaple wrote:On Monday, 15 January 2024 at 23:33:23 UTC, Walter Bright wrote:There's been some proposals I've seen that have taken 10+ years (std::mdspan) in C++ to get in. Reasons can be for backwards compatibility, ease of implementation, need in the language versus simply a library feature, not understanding the feature, etc. Sometimes it's just a climate change in programming -- so many more folks leaning into features common in functional languages now as an example! I think the C++ committee process is also evolving over time. Though they have the same (sometimes intense) debates I've observed here and other communities in regards to features. I personally think importC is a very important feature for the language and it's growth/adoption. live I haven't used much, but I like that it's there and hope it continues developing. Getting back to the original topic -- I appreciated reading Atila's response --thanks Atila! Hoping for the best for all projects, I'll contribute where I can!BTW, has anyone else tried to get changes into another language? I have. It's a years long process, and is extremely difficult to get it through.Just because it's bad somewhere else doesn't justify leaving things as is hereP.S. We also have some contributors who have a long track record of superb contributions. They also have a consistent commitment to promptly fixing anything that goes wrong with it down the road. Yes, they get a lot less scrutiny. They've earned it.Care to give a few names?In the spirit of that, I won't be interfering with anybody's forks. I made no attempt to interfere with Tango, Amber, nor any other forks.Did that work out well for you, or D, in the end? It's very interesting how you often use "lack of manpower" as an excuse to not get things done, yet you are more than willing to just let this "manpower" go without even an iota of interest or any attempts to make peaceI can't help but think a preferred solution already has a lot of buy-in for it, and so needs less justification?It's not the need of justification that people hate, it's the fact that you stop useful contributions based on some bike-shedding level issue, whilst allowing yourself to push fundamentally flawed features (ImportC for instance). If you showed the same level of concern for your own features -- there wouldn't be so much backlash. Instead, you can't even be bothered to __read__ the string interpolation that works well. And, on the other hand, you push in live (that doesn't work), ImportC (that doesn't work), and the list goes on. I know that you like to say on hackernews that "D has ownership" and "D can ImportC", but I'm sorry, it only has ownership in an isolated dmd test suite, and it all works really poorly in the real world. Same goes for ImportC. If you can't compile 99% of C code (I'll give you 95%, fine) it's useless in practice.
Jan 15
On Tuesday, 16 January 2024 at 01:11:16 UTC, Mike Shah wrote:On Tuesday, 16 January 2024 at 00:14:50 UTC, GrimMaple wrote:yeah but D pretty much only has to get Walter and Atila to agree on it. It's not like there's vast amount of stakeholders, or committee members that you need to get on board like with C++. It should actually be an advantage for D but somehow its not.I think the C++ committee process is also evolving over time. Though they have the same (sometimes intense) debates I've observed here and other communities in regards to features.
Jan 15
On Tuesday, 16 January 2024 at 01:37:40 UTC, claptrap wrote:On Tuesday, 16 January 2024 at 01:11:16 UTC, Mike Shah wrote:Pros and cons I imagine to that that, though I'm not trying to push any DIPs, I think we also need to think about how to grow the team and get them more help. Many other language foundations have money behind them to back a few full-time developers. I'll do what I can on advocacy around D, because I think it's a wonderful language and community -- that's why we're all here! :)On Tuesday, 16 January 2024 at 00:14:50 UTC, GrimMaple wrote:yeah but D pretty much only has to get Walter and Atila to agree on it. It's not like there's vast amount of stakeholders, or committee members that you need to get on board like with C++. It should actually be an advantage for D but somehow its not.I think the C++ committee process is also evolving over time. Though they have the same (sometimes intense) debates I've observed here and other communities in regards to features.
Jan 15
On Tuesday, 16 January 2024 at 02:33:32 UTC, Mike Shah wrote:On Tuesday, 16 January 2024 at 01:37:40 UTC, claptrap wrote:And it didn't fly down from the sky. Donors are humans too so without a social side to D management, your aren't getting much financial support either. Most open source projects (Gnome, Linux, Rust, PHP, Node.js, Gimp, Inkscape, Krita, ...) have ways to draw support and funding. We only have niche Dconf which has only been about code, the other equally important part of any foundation is severely lacking. I'll do what IOn Tuesday, 16 January 2024 at 01:11:16 UTC, Mike Shah wrote:Pros and cons I imagine to that that, though I'm not trying to push any DIPs, I think we also need to think about how to grow the team and get them more help. Many other language foundations have money behind them to back a few full-time developers.[...]yeah but D pretty much only has to get Walter and Atila to agree on it. It's not like there's vast amount of stakeholders, or committee members that you need to get on board like with C++. It should actually be an advantage for D but somehow its not.can on advocacy around D, because I think it's a wonderful language and community -- that's why we're all here! :)👍
Jan 16
On 1/15/2024 5:11 PM, Mike Shah wrote:Getting back to the original topic -- I appreciated reading Atila's response --thanks Atila! Hoping for the best for all projects, I'll contribute where I can!Can I pester you again for your amazing threading library?
Jan 15
On Tuesday, 16 January 2024 at 01:46:10 UTC, Walter Bright wrote:On 1/15/2024 5:11 PM, Mike Shah wrote:That might be Roy Margalit you are thinking of? Or maybe it was Sebastiaan Koppe's talk on Structured Concurrency? :) (As an aside, my Ph.D. work was in Java doing some concurrency studies on performance -- so eventually I'd like to do more research work in D on this topic)Getting back to the original topic -- I appreciated reading Atila's response --thanks Atila! Hoping for the best for all projects, I'll contribute where I can!Can I pester you again for your amazing threading library?
Jan 15
On 1/15/2024 6:25 PM, Mike Shah wrote:On Tuesday, 16 January 2024 at 01:46:10 UTC, Walter Bright wrote:Ah, maybe you're right!On 1/15/2024 5:11 PM, Mike Shah wrote:That might be Roy Margalit you are thinking of? Or maybe it was Sebastiaan Koppe's talk on Structured Concurrency? :)Getting back to the original topic -- I appreciated reading Atila's response --thanks Atila! Hoping for the best for all projects, I'll contribute where I can!Can I pester you again for your amazing threading library?(As an aside, my Ph.D. work was in Java doing some concurrency studies on performance -- so eventually I'd like to do more research work in D on this topic)That would be something to look forward too!
Jan 15
On 16/01/2024 3:25 PM, Mike Shah wrote:(As an aside, my Ph.D. work was in Java doing some concurrency studies on performance -- so eventually I'd like to do more research work in D on this topic)If you would like a suggestion on this topic, may I suggest coroutines? From what I've seen in my library implementation they are the right way to do asynchronous coding and they are at the fore-front of concurrency research. What is very interesting is that in D, as long as a function is being compiled the compiler could slice and dice it into a coroutine object (such as a closure) without needing to be annotated as such explicitly. It could be done implicitly upon the library struct that represents the language coroutine constructor. No async/await, no writing for asynchronously, just sequentially. For these reasons I've told Adam Wilson that if I am to be involved with an event loop library for PhobosV3, I would not consider it without such a feature. Because the alternatives are either a hacked together workaround that is fail heavy (fibers), or rather involved in how you need to write (callbacks). https://github.com/Project-Sidero/eventloop/blob/master/source/sidero/eventloop/coroutine/builder.d#L213 Lastly, what I call a future completion (a specific coroutine) is probably one of my most genius ideas of all time. It allows things like socket read to return a coroutine that will be triggered in say async read mechanism, but work with the coroutine worker runner dependency analysis. https://github.com/Project-Sidero/eventloop/blob/master/source/sidero/eventloop/tasks/future_completion.d#L113
Jan 15
On 1/15/2024 10:38 PM, Richard (Rikki) Andrew Cattermole wrote:[...]This sounds cool. Please do a DConf presentation on it!
Jan 16
On 16/01/2024 9:08 PM, Walter Bright wrote:On 1/15/2024 10:38 PM, Richard (Rikki) Andrew Cattermole wrote:I've talked about this on BeerConf, but there are a few reasons why unless DConf is here in New Zealand, its probably best that I don't go. However on that topic, I was going to do a Unicode talk for DConf Online this year, but alas that kinda depended upon UAX31 identifiers, and you haven't been too keen to approve that line of work so I haven't done it. Anyway regarding my stuff, a lot of the lessons learned from it have gone into other work like PhobosV3 and Paul's work on allocators. Its going to show up at DConf at some point I expect. Now if only I could convince you about having reference counting... that's another lesson that came from it. Good chance I'm going to have to drop DIP1000/scope if that cross behavior isn't resolved tbh. I can bare the pain, but I can't ask others to.[...]This sounds cool. Please do a DConf presentation on it!
Jan 16
On 1/16/2024 12:23 AM, Richard (Rikki) Andrew Cattermole wrote:However on that topic, I was going to do a Unicode talk for DConf Online this year, but alas that kinda depended upon UAX31 identifiers, and you haven't been too keen to approve that line of work so I haven't done it.I have actually approved it. My mistake it was not properly communicated to you.Anyway regarding my stuff, a lot of the lessons learned from it have gone into other work like PhobosV3 and Paul's work on allocators. Its going to show up at DConf at some point I expect.GoodNow if only I could convince you about having reference counting... that's another lesson that came from it. Good chance I'm going to have to drop DIP1000/scope if that cross behavior isn't resolved tbh. I can bare the pain, but I can't ask others to.We've investigated ref counting several times, but never figured out a way to make it both efficient and memory safe.
Jan 16
On 17/01/2024 8:50 AM, Walter Bright wrote:On 1/16/2024 12:23 AM, Richard (Rikki) Andrew Cattermole wrote:The updated plan was not as you never replied. The earlier plan of removing non-starters was (but that is a breaking change and strategy surrounding that changed before I could implement it fully). https://github.com/dlang/dmd/pull/15307#issuecomment-1620636247 I'm double checking that we are meaning the same thing. Regardless, breaking change prevention means I need to check in with you about how to move forward.However on that topic, I was going to do a Unicode talk for DConf Online this year, but alas that kinda depended upon UAX31 identifiers, and you haven't been too keen to approve that line of work so I haven't done it.I have actually approved it. My mistake it was not properly communicated to you.That is not our job. Efficiency is a problem for the backend to deal with (LLVM/GCC only). Doing it with copy constructors and destructors removes all possibility of ever optimizing it. They can't be elided, nor be communicated to the backend that this is what they are. Such backends have the capability for other languages like Objective-C. We'd need to figure out how to tap into it, but it is there in some form. Regardless it won't be any worse than what we have now. The only difference being is that we'll be able to encode that it is a lifetime mechanic in the type system allowing it to override scope and hopefully be key to helping get D classes working in -betterC (decoupling it from druntime is something I want to look into).Now if only I could convince you about having reference counting... that's another lesson that came from it. Good chance I'm going to have to drop DIP1000/scope if that cross behavior isn't resolved tbh. I can bare the pain, but I can't ask others to.We've investigated ref counting several times, but never figured out a way to make it both efficient and memory safe.
Jan 16
Hello, On Tuesday, 16 January 2024 at 06:38:16 UTC, Richard (Rikki) Andrew Cattermole wrote:On 16/01/2024 3:25 PM, Mike Shah wrote:(As an aside, my Ph.D. work was in Java doing some concurrency studies on performance -- so eventually I'd like to do more research work in D on this topic)What is very interesting is that in D, as long as a function is being compiled the compiler could slice and dice it into a coroutine object (such as a closure) without needing to be annotated as such explicitly.In Rust compiler convert `async` code into state machine with context.It could be done implicitly upon the library struct that represents the language coroutine constructor. No async/await, no writing for asynchronously, just sequentially.I'd start from defining event loop API to decouple interface from implementations.
Jan 16
On 16/01/2024 10:54 PM, ikod wrote:Hello, On Tuesday, 16 January 2024 at 06:38:16 UTC, Richard (Rikki) Andrew Cattermole wrote:Yeah that is basically what a coroutine becomes.On 16/01/2024 3:25 PM, Mike Shah wrote:(As an aside, my Ph.D. work was in Java doing some concurrency studies on performance -- so eventually I'd like to do more research work in D on this topic)What is very interesting is that in D, as long as a function is being compiled the compiler could slice and dice it into a coroutine object (such as a closure) without needing to be annotated as such explicitly.In Rust compiler convert `async` code into state machine with context.I have done this in the past. You end up defining the user experience in the process. Unless you go out of your way with something like coroutines, or fibers, you're pretty much stuck with callbacks of some kind and that is not going to fly.It could be done implicitly upon the library struct that represents the language coroutine constructor. No async/await, no writing for asynchronously, just sequentially.I'd start from defining event loop API to decouple interface from implementations.
Jan 16
On Tuesday, 16 January 2024 at 10:13:15 UTC, Richard (Rikki) Andrew Cattermole wrote:I had no problems implementing a common API for select, poll, epoll, kqueue event loops (never tried Linux io-uring or Windows completion ports). This API can be declared and used for independent implementations of current and future OS event systems. On top of this implementations for tasks, timeouts, and so on can be created. Are there any reasons why this won't work?I'd start from defining event loop API to decouple interface from implementations.I have done this in the past. You end up defining the user experience in the process. Unless you go out of your way with something like coroutines, or fibers, you're pretty much stuck with callbacks of some kind and that is not going to fly.
Jan 16
On 17/01/2024 3:42 AM, ikod wrote:On Tuesday, 16 January 2024 at 10:13:15 UTC, Richard (Rikki) Andrew Cattermole wrote:You may have misunderstood me. I suggested to design the user experience first, and only then build the event loop itself to fulfill its needs. Anything other than that, will produce undesirable user experience because you did not intentionally design it. It was shoehorned on to the implementation of the event loop (which is the wrong way round).I had no problems implementing a common API for select, poll, epoll, kqueue event loops (never tried Linux io-uring or Windows completion ports). This API can be declared and used for independent implementations of current and future OS event systems. On top of this implementations for tasks, timeouts, and so on can be created. Are there any reasons why this won't work?I'd start from defining event loop API to decouple interface from implementations.I have done this in the past. You end up defining the user experience in the process. Unless you go out of your way with something like coroutines, or fibers, you're pretty much stuck with callbacks of some kind and that is not going to fly.
Jan 16
On Tuesday, 16 January 2024 at 00:14:50 UTC, GrimMaple wrote:What is your contribution to D? As Walter says forks are good. But please go work on your fork and make it great, rather than complaining here. If OpenD is good, it will be good competition to D and help spur things. But on the other hand, it requires full time dedicated & knowledgeable people to maintain a language, so it remains to be seen whether anything comes out of the fork.P.S. We also have some contributors who have a long track record of superb contributions. They also have a consistent commitment to promptly fixing anything that goes wrong with it down the road. Yes, they get a lot less scrutiny. They've earned it.Care to give a few names?
Jan 16
On Tuesday, 16 January 2024 at 10:33:13 UTC, Dibyendu Majumdar wrote:On Tuesday, 16 January 2024 at 00:14:50 UTC, GrimMaple wrote:Yet another person telling "don't complain, just do things", I got tired from these, nothing works that way. Complaining is needed for improve.What is your contribution to D? As Walter says forks are good. But please go work on your fork and make it great, rather than complaining here. If OpenD is good, it will be good competition to D and help spur things. But on the other hand, it requires full time dedicated & knowledgeable people to maintain a language, so it remains to be seen whether anything comes out of the fork.P.S. We also have some contributors who have a long track record of superb contributions. They also have a consistent commitment to promptly fixing anything that goes wrong with it down the road. Yes, they get a lot less scrutiny. They've earned it.Care to give a few names?What is your contribution to D?The fork, OpenD is pretty enough, contribution doesn't have to be directly change in original code.But please go work on your fork and make it great, rather than complaining here.Do you think all people do here is just sit and complain? Do you even check OpenD's codebase for updates?
Jan 16
On Monday, 15 January 2024 at 18:33:07 UTC, H. S. Teoh wrote:On Mon, Jan 15, 2024 at 10:11:33AM +0000, IGotD- via Digitalmars-d wrote: [...]Thanks for the write-up. I think it's true that these perceptions exist, and would like to ask you what you think we can do about it. If I can summarise my own opinions about contributions, it's that they're absolutely welcome, but that every change has trade-offs and each diff has to justify itself with positive ROI. Of course it's going to be frustrating to work for free and not have it pay off (it's happened to me multiple times), but it also can't be the case that the default is to merge PRs unless "there's a reason not to". My own perception is that we keep saying this, but maybe not? Perhaps we need to update the contributor guide.[...]This is true, we have been repeating over the last decade or so the pattern of attracting enthusiastic contributors due to the technical excellence of D, only to have them turn around and leave after coming to an impasse with the project's management. As I have said previously, the problem isn't so much that things did not go their way; I think any reasonable person would understand that in technical decisions there's always pros and cons and one could go either way, and that whichever way a decision goes, it would work out, one could live with it. [...]
Jan 16
On Tuesday, 16 January 2024 at 10:06:47 UTC, Atila Neves wrote:On Monday, 15 January 2024 at 18:33:07 UTC, H. S. Teoh wrote:My humble proposal is to add another, language maintainer with good social and technical abilities, (like Steven), and more delegation (and trust!) towards 'experts' (Timon ...)On Mon, Jan 15, 2024 at 10:11:33AM +0000, IGotD- via Digitalmars-d wrote: [...]Thanks for the write-up. I think it's true that these perceptions exist, and would like to ask you what you think we can do about it.[...]This is true, we have been repeating over the last decade or so the pattern of attracting enthusiastic contributors due to the technical excellence of D, only to have them turn around and leave after coming to an impasse with the project's management. As I have said previously, the problem isn't so much that things did not go their way; I think any reasonable person would understand that in technical decisions there's always pros and cons and one could go either way, and that whichever way a decision goes, it would work out, one could live with it. [...]If I can summarise my own opinions about contributions, it's that they're absolutely welcome, but that every change has trade-offs and each diff has to justify itself with positive ROI. Of course it's going to be frustrating to work for free and not have it pay off (it's happened to me multiple times), but it also can't be the case that the default is to merge PRs unless "there's a reason not to".That was Andrei way of working, and Theo already wrote about the drawbacks of that. I think you guys should move away from seeing ROI only from a technical point of view, you should include also the impact on all the other aspect, you should look it at 360 degree. I think UCORA can really help on that, but you all should first recognise that this is a problem, and ask them directly for suggestions. My impression is that this change is happening, slowly but it's happening. The elephant entered the room, don't loose this opportunity to make a step towards D brilliant future. /PMy own perception is that we keep saying this, but maybe not? Perhaps we need to update the contributor guide.
Jan 16
On Tuesday, 16 January 2024 at 10:45:18 UTC, Paolo Invernizzi wrote:My humble proposal is to add another, language maintainer with good social and technical abilities, (like Steven), and more delegation (and trust!) towards 'experts' (Timon ...)I'd just like to say something about this. I've seen it repeated that we should delegate, as if we aren't aware of this, or are afraid to do it, or whatever. Well, we are aware of it, and we aren't afraid to do it. We do it when we can. Two examples currently in progress: Mathias is steadily chipping away at dub issues and Robert is working on the Bugzilla to GitHub migration. These are people working in their own time, on their own dime, to handle things the DLF asked them to handle. Once they became regular members of our monthly meetings, then over time they became integral members of the team. That makes it a lot easier to ask them to get things done. We know what they'd be willing to do. I periodically reach out to people and ask if they're interested in helping us tackle something. Some tell me they'd like to, but just don't have the time for it. Others tell me they're happy to, then in practice they never find the time for it. That tells me they said yes with good intentions, but weren't particularly motivated to work on that task. And that's no slight on them. I totally get it. I might ping a time or two over a few weeks, but I'm not going to be pushy about it. Very often, they're contributing to the broader community or ecosystem in other ways already, anyway. One of my goals is to alter that situation such that when we have any given task, we have a general idea of who would be motivated to work on it. To that end, I've been reaching out to some long-time D users to expand membership in our monthly meetings for the past several months. As a result, we've seen some great contributions that otherwise probably wouldn't have materialized (and that's in addition to the valuable insights and feedback they provide on the topics we discuss). I anticipate that not only will we see more such, but we'll be in a better position to find alignment with things we need to do and the things those members want to achieve, and so we'll be able to delegate more tasks more often, and they'll be more willing to get them done. Of course, I can't expand the monthly meetings indefinitely, so I'm also reaching out to chat with other members of the community to get a feel for who's interested in doing some of the work we need done and what kind best suits them. The more we can make that kind of match, the more likely they'll be willing to prioritize that work over something they might otherwise be doing with their time. So yes, we want to delegate. We just have to have the right environment and the right people to do it. We're working on creating that environment for those people.I think UCORA can really help on that, but you all should first recognise that this is a problem, and ask them directly for suggestions.Yes, we are working with Ucora already. Walter and I are participating in their executive coaching program. We just had a few weeks off for the holidays, but we're back in the saddle this week.My impression is that this change is happening, slowly but it's happening.Yes. Unfortunately, slowly is the name of the game for now. But I'm optimistic we'll pick up momentum over the next few months. We've got Ucora's advice and guidance, but they aren't pushing any sort of structures or frameworks on us. We (the DLF) have to build up our processes ourselves in a way that makes sense for us. It's not going to happen overnight, nor anywhere as quickly as we'd like it to. But we are finding our way.That's one of the things on our TODO list. That falls to Razvan and Dennis as our pull request and issue managers. I've discussed it with them already in our regular weekly meetings.Perhaps we need to update the contributor guide.
Jan 16
On Tuesday, 16 January 2024 at 12:50:35 UTC, Mike Parker wrote:On Tuesday, 16 January 2024 at 10:45:18 UTC, Paolo InvernizziIt is all good, the only problem in my (with limited information what I can see of course), that DLF acting like a billion corporate, but in reality at least in current situation it is very small start-up..
Jan 16
On Tuesday, 16 January 2024 at 12:50:35 UTC, Mike Parker wrote:On Tuesday, 16 January 2024 at 10:45:18 UTC, Paolo Invernizzi wrote:Thank you Mike, just one point about delegation. It's not only related to the 'do that _specific_ things': you wrote about issues on dub, task about migrations. "to handle things the DLF asked them to handle", you wrote. I'm referring to delegation for _judgements_ on specific aspect of D ecosystem: we are seeing it right now, an incredible amount of effort spent by a lot of people to "justify" why CT string interpolation is not a 'nice-to-have'. The net gain for _everybody_ , Walter included, would have been to simply delegate that specific judgement to Timon: yes, we need full CT capable interpolation solution, let's tackle the next point. Anyway, things are moving, and that's good. /P[...]I'd just like to say something about this. I've seen it repeated that we should delegate, as if we aren't aware of this, or are afraid to do it, or whatever. Well, we are aware of it, and we aren't afraid to do it. [...]
Jan 16
On Tuesday, 16 January 2024 at 14:38:36 UTC, Paolo Invernizzi wrote:On Tuesday, 16 January 2024 at 12:50:35 UTC, Mike Parker wrote:Delegation of judgement 👍. I don't think Walter is an expert at everything. So what it means is anything he doesn't understand isn't getting in the language. I think Andrei and Co were onetime trusted to do many things and that's what set D2 apart. That very function is currently missingOn Tuesday, 16 January 2024 at 10:45:18 UTC, Paolo Invernizzi wrote:Thank you Mike, just one point about delegation. It's not only related to the 'do that _specific_ things': you wrote about issues on dub, task about migrations. "to handle things the DLF asked them to handle", you wrote. I'm referring to delegation for _judgements_ on specific aspect of D ecosystem: we are seeing it right now, an incredible amount of effort spent by a lot of people to "justify" why CT string interpolation is not a 'nice-to-have'. The net gain for _everybody_ , Walter included, would have been to simply delegate that specific judgement to Timon: yes, we need full CT capable interpolation solution, let's tackle the next point.[...]I'd just like to say something about this. I've seen it repeated that we should delegate, as if we aren't aware of this, or are afraid to do it, or whatever. Well, we are aware of it, and we aren't afraid to do it. [...]Anyway, things are moving, and that's good. /P
Jan 16
On 1/16/2024 6:38 AM, Paolo Invernizzi wrote:I'm referring to delegation for _judgements_ on specific aspect of D ecosystem: we are seeing it right now, an incredible amount of effort spent by a lot of people to "justify" why CT string interpolation is not a 'nice-to-have'.Both proposals can do CT string interpolation. There are misunderstandings about both proposals. I suspect if we all sat down in a room together, we'd have it resolved within an hour.The net gain for _everybody_ , Walter included, would have been to simply delegate that specific judgement to TimonI've never caught Timon in a technical error, he's a genius as far as I can tell! But we disagree now and then on the value of various inevitable tradeoffs. This stems from our different backgrounds.
Jan 16
On Tuesday, 16 January 2024 at 20:18:00 UTC, Walter Bright wrote:I suspect if we all sat down in a room together, we'd have it resolved within an hour.While I’m not sure whether this would work out in practice from the organizational perspective, it sounds like a great idea.
Jan 16
On 1/16/2024 12:24 PM, Elias (0xEAB) wrote:On Tuesday, 16 January 2024 at 20:18:00 UTC, Walter Bright wrote:It's happened before. It's one reason why our annual in-person conference is so valuable. Sitting around the same table, perhaps with a beer(!), works wonders.I suspect if we all sat down in a room together, we'd have it resolved within an hour.While I’m not sure whether this would work out in practice from the organizational perspective, it sounds like a great idea.
Jan 16
On Tuesday, 16 January 2024 at 20:45:58 UTC, Walter Bright wrote:On 1/16/2024 12:24 PM, Elias (0xEAB) wrote: ... It's happened before. It's one reason why our annual in-person conference is so valuable. Sitting around the same table, perhaps with a beer(!), works wonders.I work as developer in a pretty much one of biggest health care companies in my Country. We have developers scattered across all the country, so we do pretty much everything online. Last week we were having a problem with one system, we stayed all day long talking about it over text (Chat), I had a solution but unfortunately some teams wasn't understanding and miscommunication was occurring and some people was entering the chat later and asking the same things over and over. The next day in the morning I was called again to explain the solution for a new team, then I asked everybody to go online (Video call). Believe or not in less than 10 minutes we were finished. This was not the first time this happened, where texts (Chat or e-mail) keep going around and nothing moves until we go online. I think sometimes this group lack of this kind of thing. I even posted in another thread about String Interpolation that this should be resolved faster if you were online. That's it, Matheus.
Jan 16
On 1/16/2024 3:49 PM, matheus wrote:I think sometimes this group lack of this kind of thing. I even posted in another thread about String Interpolation that this should be resolved faster if you were online.texting < newsgroup < phone < zoom meeting < in-person meeting
Jan 16
On Tuesday, January 16, 2024 1:24:04 PM MST Elias (0xEAB) via Digitalmars-d wrote:On Tuesday, 16 January 2024 at 20:18:00 UTC, Walter Bright wrote:Among other things, that's how we got the package.d feature. Daniel Murphy and I discussed it at length with Walter at dconf (either in 2013 or 2014) at a table in the hotel, because we were looking for a way to split up std.datetime without breaking existing code. And ultimately, package.d was the result. Who knows whether that would have occurred if we hadn't been able to sit down and discuss it in person like that. And I'm sure that there are plenty of other examples of stuff that's come out of dconf or other D meetups. That's just the one that comes to mind for me first. - Jonathan M DavisI suspect if we all sat down in a room together, we'd have it resolved within an hour.While I’m not sure whether this would work out in practice from the organizational perspective, it sounds like a great idea.
Jan 16
On Tuesday, 16 January 2024 at 20:18:00 UTC, Walter Bright wrote:On 1/16/2024 6:38 AM, Paolo Invernizzi wrote:Yeah, I know, I manage people since I was 25 and I'm 54 now: I've learned that nothing settles down misunderstandings better than having a beer.I'm referring to delegation for _judgements_ on specific aspect of D ecosystem: we are seeing it right now, an incredible amount of effort spent by a lot of people to "justify" why CT string interpolation is not a 'nice-to-have'.Both proposals can do CT string interpolation. There are misunderstandings about both proposals. I suspect if we all sat down in a room together, we'd have it resolved within an hour.Different backgrounds are valuables, especially since also you are genius in engineering, hey, a C++ compiler written by a solo man!The net gain for _everybody_ , Walter included, would have been to simply delegate that specific judgement to TimonI've never caught Timon in a technical error, he's a genius as far as I can tell! But we disagree now and then on the value of various inevitable tradeoffs. This stems from our different backgrounds.
Jan 16
On Tue, Jan 16, 2024 at 10:17:35PM +0000, Paolo Invernizzi via Digitalmars-d wrote:On Tuesday, 16 January 2024 at 20:18:00 UTC, Walter Bright wrote:[...][...] Meeting in person solves 90% of communication problems. Although online communication preserves the textual content of a message, it often fails to convey the emotional and implicit contents, and lacks facial / body language cues, which are equally important parts of human communication. Video communication is somewhat better in preserving the facial cue component, but often still lacks (most of) the body language. T -- Designer clothes: how to cover less by paying more.I suspect if we all sat down in a room together, we'd have it resolved within an hour.Yeah, I know, I manage people since I was 25 and I'm 54 now: I've learned that nothing settles down misunderstandings better than having a beer.
Jan 16
On 1/16/2024 2:17 PM, Paolo Invernizzi wrote:Different backgrounds are valuables, especially since also you are genius in engineering, hey, a C++ compiler written by a solo man!I appreciated working with Andrei because he had the academic background I lacked, while I had the "boots on the ground" experience.
Jan 17
On Tuesday, 16 January 2024 at 10:06:47 UTC, Atila Neves wrote:but it also can't be the case that the default is to merge PRs unless "there's a reason not to".Why not? I get that such PRs are not necessarily net positives in purely technical sense, but if there's no reason not to merge them they can't be big technical negatives either. If accepting PRs like that helps to keep people around, then considering the morale effect, I'd argue merging such PRs is still a net positive.
Jan 16
On Tuesday, 16 January 2024 at 10:47:11 UTC, Dukc wrote:On Tuesday, 16 January 2024 at 10:06:47 UTC, Atila Neves wrote:This is an excellent point that I think Walter and the others who manage this project need to take very seriously. The technical-social balance of this project is clearly skewed, the evidence being a long-term pattern of talented people heading for the exits.but it also can't be the case that the default is to merge PRs unless "there's a reason not to".Why not? I get that such PRs are not necessarily net positives in purely technical sense, but if there's no reason not to merge them they can't be big technical negatives either. If accepting PRs like that helps to keep people around, then considering the morale effect, I'd argue merging such PRs is still a net positive.
Jan 16
On Tuesday, 16 January 2024 at 13:42:36 UTC, Don Allen wrote:On Tuesday, 16 January 2024 at 10:47:11 UTC, Dukc wrote:Not at all a good idea. The D team is the gate keeper of the language and have to ensure that each feature integrates with the whole. Saying yes to every feature by default is complete madness. There is a huge cost to every new feature. Worth watching https://www.youtube.com/watch?v=gXdS3IftP0Y D is arguably already too full of features because of trying to please everyone. As someone argued, its better to focus on quality rather than features at this stage.On Tuesday, 16 January 2024 at 10:06:47 UTC, Atila Neves wrote:This is an excellent point that I think Walter and the others who manage this project need to take very seriously. The technical-social balance of this project is clearly skewed, the evidence being a long-term pattern of talented people heading for the exits.but it also can't be the case that the default is to merge PRs unless "there's a reason not to".Why not? I get that such PRs are not necessarily net positives in purely technical sense, but if there's no reason not to merge them they can't be big technical negatives either. If accepting PRs like that helps to keep people around, then considering the morale effect, I'd argue merging such PRs is still a net positive.
Jan 16
On Tuesday, 16 January 2024 at 14:03:20 UTC, Dibyendu Majumdar wrote:Not at all a good idea. The D team is the gate keeper of the language and have to ensure that each feature integrates with the whole. Saying yes to every feature by default is complete madness. There is a huge cost to every new feature.When adding new language features it makes sense that the bar is somewhat higher, to the point that the feature has to justify itself. But for internal changes, minor enhancements and bug fixes it's better to have "accept when technically neutral" stance. For an open-source project contributor enthusiasm is a central resource, much like money is for a commercial company. It's what makes the project to run. Hence anything that people have wish to do on their own initiative should be considered much cheaper relative to the needed man-hours than less popular work. Same for hanging a PR up because of relatively trivial nitpicks. If addressing some nitpicks takes the contributor 30% more time but leaves him feeling like "not going to do again", the cost of those nitpicks was far more than 30% of the original work.
Jan 16
On Tuesday, 16 January 2024 at 14:24:09 UTC, Dukc wrote:For an open-source project contributor enthusiasm is a central resource, much like money is for a commercial company. It's what makes the project to run. Hence anything that people have wish to do on their own initiative should be considered much cheaper relative to the needed man-hours than less popular work. Same for hanging a PR up because of relatively trivial nitpicks. If addressing some nitpicks takes the contributor 30% more time but leaves him feeling like "not going to do again", the cost of those nitpicks was far more than 30% of the original work.The reason I don't want to contribute is because the standard isn't "Does it pass the tests it's supposed to pass?" and "Is it written in an idiomatic style?", the standard is instead the reviewer asking "Is the code written the way I would have written it?" I just don't have time for that.
Jan 16
On 1/16/2024 8:13 AM, Lance Bachmeier wrote:The reason I don't want to contribute is because the standard isn't "Does it pass the tests it's supposed to pass?" and "Is it written in an idiomatic style?", the standard is instead the reviewer asking "Is the code written the way I would have written it?" I just don't have time for that.The larger a project is, the more useful a consistent style is across it. Though dmd/phobos/druntime each have a different style to them, as do the various other projects that are part of D. Or maybe you mean something else?
Jan 17
On Thursday, 18 January 2024 at 03:17:45 UTC, Walter Bright wrote:On 1/16/2024 8:13 AM, Lance Bachmeier wrote:Any such rules need to be stated up front. If they're written down, I don't know where they are. Nobody wants to find out after the fact that their work will be rejected if they don't reformat it (as one simple example).The reason I don't want to contribute is because the standard isn't "Does it pass the tests it's supposed to pass?" and "Is it written in an idiomatic style?", the standard is instead the reviewer asking "Is the code written the way I would have written it?" I just don't have time for that.The larger a project is, the more useful a consistent style is across it. Though dmd/phobos/druntime each have a different style to them, as do the various other projects that are part of D. Or maybe you mean something else?
Jan 17
On 1/17/2024 7:49 PM, bachmeier wrote:Nobody wants to find out after the fact that their work will be rejected if they don't reformat it (as one simple example).https://dlang.org/dstyle.html https://wiki.dlang.org/Phobos_and_Druntime_Style_Guide A style checker is also run over PRs as part of the test suite. (I didn't write the style checker nor specify what it does.)
Jan 17
On Tuesday, 16 January 2024 at 14:03:20 UTC, Dibyendu Majumdar wrote:On Tuesday, 16 January 2024 at 13:42:36 UTC, Don Allen wrote:I won't speak for Dukc, but I am certainly not advocating "saying yes to every feature". That's open-loop stupidity. What *is* being advocated is better balance between technical and social considerations, which has to be applied on a case-by-case basis. And there will (or should) be cases that might be rejected solely on technical grounds that should be accepted by also considering the social cost of rejection. The whole point is to maximize the welfare, the forward progress, of the project. These are judgement calls that the project leaders need to make and the evidence indicates that the way they do it needs adjustment. Case in point -- the OpenBSD project, for longer than you might think was sane, supported the Vax. Why? Because there were some people who were making valuable contributions to the project that cared about the Vax for some reason and Theo de Raadt, the project leader, decided that the cost of indulging them was worthwhile, given the benefits of keeping these people around.On Tuesday, 16 January 2024 at 10:47:11 UTC, Dukc wrote:Not at all a good idea. The D team is the gate keeper of the language and have to ensure that each feature integrates with the whole. Saying yes to every feature by default is complete madness. There is a huge cost to every new feature.On Tuesday, 16 January 2024 at 10:06:47 UTC, Atila Neves wrote:This is an excellent point that I think Walter and the others who manage this project need to take very seriously. The technical-social balance of this project is clearly skewed, the evidence being a long-term pattern of talented people heading for the exits.but it also can't be the case that the default is to merge PRs unless "there's a reason not to".Why not? I get that such PRs are not necessarily net positives in purely technical sense, but if there's no reason not to merge them they can't be big technical negatives either. If accepting PRs like that helps to keep people around, then considering the morale effect, I'd argue merging such PRs is still a net positive.Worth watching https://www.youtube.com/watch?v=gXdS3IftP0Y D is arguably already too full of features because of trying to please everyone. As someone argued, its better to focus on quality rather than features at this stage.
Jan 16
In general, we've been much more willing to accept PRs that we can back out of if they don't turn out well. For example, improvements to debug support, better code generation, stdatomic.d, fixing bugs, adding statistics to dmd's output, things like that. Language changes, though, have a much higher bar. The risk there is people rely on it, and then we're stuck with it forever. For example, `alias this` for classes. The semantics of it were never defined properly, and with many attempts at figuring what the correct semantics must be, never found one that anybody could defend. Worse, many people were using it for classes, and and relied on whatever the compiler did for it. Hence, we did not want to deprecated it. Instead, we froze its current behavior, and I opposed any further additions to it and/or attempts to fix it. All I can do is just recommend people not use `alias this` in classes. Rikki's proposal to do UAX31 identifiers I was initially opposed to, but upon reflection realized there was more risk in not doing it than doing it, and so full speed ahead, Rikki!
Jan 16
On Tuesday, 16 January 2024 at 20:07:08 UTC, Walter Bright wrote:In general, we've been much more willing to accept PRs that we can back out of if they don't turn out well. For example, improvements to debug support, better code generation, stdatomic.d, fixing bugs, adding statistics to dmd's output, things like that. Language changes, though, have a much higher bar. The risk there is people rely on it, and then we're stuck with it forever. For example, `alias this` for classes. The semantics of it were never defined properly, and with many attempts at figuring what the correct semantics must be, never found one that anybody could defend. Worse, many people were using it for classes, and and relied on whatever the compiler did for it. Hence, we did not want to deprecated it. Instead, we froze its current behavior, and I opposed any further additions to it and/or attempts to fix it. All I can do is just recommend people not use `alias this` in classes. Rikki's proposal to do UAX31 identifiers I was initially opposed to, but upon reflection realized there was more risk in not doing it than doing it, and so full speed ahead, Rikki!and this is also a problem. you leave bad features in the language that turned out to not work proberly, instead of just deprecating them. people don't mind breaking code as much as you think, as long as it doesn't silently break. D doesn't have the adoption rate where not breaking code is justified in any way.
Jan 18
On 1/18/2024 3:14 AM, DrDread wrote:and this is also a problem. you leave bad features in the language that turned out to not work proberly, instead of just deprecating them. people don't mind breaking code as much as you think, as long as it doesn't silently break.We recently has a long, acrimonious thread with people complaining that D would break their existing code, and not silently.
Jan 18
On Thursday, 18 January 2024 at 22:36:39 UTC, Walter Bright wrote:On 1/18/2024 3:14 AM, DrDread wrote:My understanding is that you now have a plan in place to change the language without breaking old code. Hopefully it works, because it will be one of the most important changes in the time I've used D.and this is also a problem. you leave bad features in the language that turned out to not work proberly, instead of just deprecating them. people don't mind breaking code as much as you think, as long as it doesn't silently break.We recently has a long, acrimonious thread with people complaining that D would break their existing code, and not silently.
Jan 18
On Tuesday, 16 January 2024 at 10:06:47 UTC, Atila Neves wrote:If I can summarise my own opinions about contributions, it's that they're absolutely welcome, but that every change has trade-offs and each diff has to justify itself with positive ROI. Of course it's going to be frustrating to work for free and not have it pay off (it's happened to me multiple times), but it also can't be the case that the default is to merge PRs unless "there's a reason not to". My own perception is that we keep saying this, but maybe not? Perhaps we need to update the contributor guide.With due respect, I think focusing on acceptance vs rejection of PRs is completely missing the point here. People like Adam Ruppe and Sebastian Wilzbach understand perfectly well that not every contribution is going to be accepted. They don't leave just because they can't get their way. They leave because they feel *personally* disrespected and insulted in their interactions with D's leadership. When their contributions are ignored, and they have to wait weeks or even months to get so much as an acknowledgement (let alone a review) from leadership [1], they feel personally disrespected and insulted. When their good-faith technical arguments are dismissed by someone "pulling rank" without addressing the actual points [2], they feel personally disrespected and insulted. When they put time and effort into following the proper process for their contributions, only to see leadership turn around and ignore that process when it suits them [3], they feel personally disrespected and insulted. I understand that you and Walter do not *intend* to insult contributors or to treat them with disrespect, but you need to recognize that, in practice, that's what you've been doing, and good intentions do not absolve you of responsibility for it. And you need to stop doing it, because if you don't, it's going to kill D. The simple fact is, D needs people like Adam Ruppe and Sebastian Wilzbach more than those people need D. D's leadership cannot afford to insult and disrespect its contributors until they run out of patience and leave for greener pastures. And D's leadership *especially* cannot afford to cement D in the minds of *potential* contributors as a language whose leadership is disrespectful, unprofessional, and frustrating to work with. OpenD was on the front page of both Hacker News and Reddit's /r/programming this week. What effect do you think that's had on D's reputation? On its ability to attract new contributors? This fork should have been a wakeup call, but already, looking at this thread, I can see that the wrong lessons are being learned. This is not about whether or not PRs get merged. It's about giving contributors the respect and acknowledgement they deserve--not just with your words, but with your actions, your effort, and your time. D is a great language, and a great community. All of us here, I think, want to see it succeed. Please don't let us down. [1] https://github.com/dlang/dmd/pull/15715 [2] https://github.com/dlang/dmd/pull/12828 [3] https://github.com/dlang/dmd/pull/12507
Jan 16
On Tue, Jan 16, 2024 at 11:20:59PM +0000, Paul Backus via Digitalmars-d wrote: [...]With due respect, I think focusing on acceptance vs rejection of PRs is completely missing the point here.Spot on!People like Adam Ruppe and Sebastian Wilzbach understand perfectly well that not every contribution is going to be accepted. They don't leave just because they can't get their way. They leave because they feel *personally* disrespected and insulted in their interactions with D's leadership.[...]I understand that you and Walter do not *intend* to insult contributors or to treat them with disrespect, but you need to recognize that, in practice, that's what you've been doing, and good intentions do not absolve you of responsibility for it. And you need to stop doing it, because if you don't, it's going to kill D.Yes, this is exactly what I've been trying to say (unsuccessfully, it seems). Thank you for spelling it out. Hopefully in a clear enough way that the message gets through. Because if this continues, D is indeed going to die. It may be a slow, painful death, but it will die. Die from long-time contributors finally deciding to throw in the towel. Die from not being able to gain (and retain) new contributors to replace them. And that would indeed be a huge tragedy. D is a great language, and has so much potential. For it to go to waste, because its leadership refuses to acknowledge and fix a social problem that has become glaringly, blindingly obvious to any unbiased observer over the past decade or more, would be a great tragedy indeed.The simple fact is, D needs people like Adam Ruppe and Sebastian Wilzbach more than those people need D.Yes. There's an entire series of contributors who, had they stayed, would have made a HUGE difference in D. How many more do we need to lose before we wake up?D's leadership cannot afford to insult and disrespect its contributors until they run out of patience and leave for greener pastures. And D's leadership *especially* cannot afford to cement D in the minds of *potential* contributors as a language whose leadership is disrespectful, unprofessional, and frustrating to work with.Exactly. We're already having manpower problems. Had been having them for a very long time now. If this continues, in all likelihood it will get worse. And may well reach the point where it will actually kill D.OpenD was on the front page of both Hacker News and Reddit's /r/programming this week. What effect do you think that's had on D's reputation? On its ability to attract new contributors? This fork should have been a wakeup call, but already, looking at this thread, I can see that the wrong lessons are being learned. This is not about whether or not PRs get merged. It's about giving contributors the respect and acknowledgement they deserve--not just with your words, but with your actions, your effort, and your time.+100. This fork has never been about the string interpolation PR. Nor about some pet feature that got rejected. All of that is only incidental. The REAL problem is the lack of respect and acknowledgement, not necessarily in word but certainly in action, that has accumulated over years, even decades, until finally the camel's back snapped. To merely remove that one last straw and think that the camel is now OK, completely misses the point. The remainder of the burden is still on the camel's back. It won't take much before another straw is piled on and the camel's back will break again. Soon there will be no more camels left, and D will be stranded, maybe forever, in the middle of the desert of obscurity with nowhere else to go.D is a great language, and a great community. All of us here, I think, want to see it succeed. Please don't let us down.[...] As others have already said, this is a critical juncture for D. If the current leadership continues its present course, openD may very well become D's replacement. Or it may not, and both will die. That is also a very real possibility. The best hope for D is really if the leadership could be reconciled with the openD folk, and both could work together to improve D. Adam has told me personally that this would be the best outcome. However, he is not holding his breath. Please prove him wrong. Because the other alternatives all suck. T -- People tell me that I'm paranoid, but they're just out to get me.
Jan 16
On Tuesday, 16 January 2024 at 23:20:59 UTC, Paul Backus wrote: Thanks for the write up.On Tuesday, 16 January 2024 at 10:06:47 UTC, Atila Neves wrote:I appreciate you pointing that out.[...]With due respect, I think focusing on acceptance vs rejection of PRs is completely missing the point here.People like Adam Ruppe and Sebastian Wilzbach understand perfectly well that not every contribution is going to be accepted. They don't leave just because they can't get their way. They leave because they feel *personally* disrespected and insulted in their interactions with D's leadership. When their contributions are ignored, and they have to wait weeks or even months to get so much as an acknowledgement (let alone a review) from leadership [1], they feel personally disrespected and insulted.I wrote a spec for that PR and tried to keep Adam informed about my progress as it was going on. I'm not sure what else I could have done in this specific case other than do it sooner, I'm more than willing to listen to suggestions. I'm still trying to get it merged.The simple fact is, D needs people like Adam Ruppe and Sebastian Wilzbach more than those people need D. D's leadership cannot afford to insult and disrespect its contributors until they run out of patience and leave for greener pastures. And D's leadership *especially* cannot afford to cement D in the minds of *potential* contributors as a language whose leadership is disrespectful, unprofessional, and frustrating to work with.I agree.This fork should have been a wakeup call, but already, looking at this thread, I can see that the wrong lessons are being learned.FWIW, it definitely was a wakeup call, at least for me.This is not about whether or not PRs get merged. It's about giving contributors the respect and acknowledgement they deserve--not just with your words, but with your actions, your effort, and your time.I hear you.
Jan 17
On 18/01/2024 5:02 AM, Atila Neves wrote:The simple fact is, D needs people like Adam Ruppe and Sebastian Wilzbach more than those people need D. D's leadership cannot afford to insult and disrespect its contributors until they run out of patience and leave for greener pastures. And D's leadership /especially/ cannot afford to cement D in the minds of /potential/ contributors as a language whose leadership is disrespectful, unprofessional, and frustrating to work with. I agree. This fork should have been a wakeup call, but already, looking at this thread, I can see that the wrong lessons are being learned. FWIW, it definitely was a wakeup call, at least for me.To be blunt, you and Walter are never on Discord, or anywhere where people are normally talking socially. In general, you're simply not active enough and on the ball about things to be doing the role you have. If there is a problem you quite often don't hear about it unless it goes through us long timers and even then it could take months. I personally have had problems with you not following up on things. That is not conducive towards getting people to contribute.
Jan 17
On Wednesday, 17 January 2024 at 16:13:27 UTC, Richard (Rikki) Andrew Cattermole wrote:On 18/01/2024 5:02 AM, Atila Neves wrote:I think that this thread is now going in the wrong direction, what can be obtained in asking people things that can't provide? This thread is improving trust or is mining it? Why ask Atila / Walter to be different? More _delegation_ in _taking decisions_ is needed, and to archive that, trust in decisions taken by delegated people is needed. Procedures and roles are to be revamped to improve the way D is managed, taking in account that emerged by the "wakeup call"? Well, to my understanding that's someone that can provide professional advices on what to change and how to change it, or at least can mentor the DLF on that road: UCORA people, they are professional on that, it's their job. Is that feasible? If yes, let's try to be constructive on that.The simple fact is, D needs people like Adam Ruppe and Sebastian Wilzbach more than those people need D. D's leadership cannot afford to insult and disrespect its contributors until they run out of patience and leave for greener pastures. And D's leadership /especially/ cannot afford to cement D in the minds of /potential/ contributors as a language whose leadership is disrespectful, unprofessional, and frustrating to work with. I agree. This fork should have been a wakeup call, but already, looking at this thread, I can see that the wrong lessons are being learned. FWIW, it definitely was a wakeup call, at least for me.To be blunt, you and Walter are never on Discord, or anywhere where people are normally talking socially. In general, you're simply not active enough and on the ball about things to be doing the role you have. If there is a problem you quite often don't hear about it unless it goes through us long timers and even then it could take months. I personally have had problems with you not following up on things. That is not conducive towards getting people to contribute.
Jan 17
On Wednesday, 17 January 2024 at 16:13:27 UTC, Richard (Rikki) Andrew Cattermole wrote:On 18/01/2024 5:02 AM, Atila Neves wrote:I've tried multiple times. There's usually 200+ unread messages and they keep coming in pretty quickly. I don't think I'd have time to read half of what ends up on Discord even if D were my full-time job.The simple fact is, D needs people like Adam Ruppe and Sebastian Wilzbach more than those people need D. D's leadership cannot afford to insult and disrespect its contributors until they run out of patience and leave for greener pastures. And D's leadership /especially/ cannot afford to cement D in the minds of /potential/ contributors as a language whose leadership is disrespectful, unprofessional, and frustrating to work with. I agree. This fork should have been a wakeup call, but already, looking at this thread, I can see that the wrong lessons are being learned. FWIW, it definitely was a wakeup call, at least for me.To be blunt, you and Walter are never on Discord,or anywhere where people are normally talking socially.Other than Discord, where's that? And how would I find the time to do Discord *and* this? I'm not convinced I need to hear everything that's going on, but I'm open to hearing the merits. It's not the same thing, but CEOs aren't expected to be hanging around on slack either.If there is a problem you quite often don't hear about it unless it goes through us long timers and even then it could take months.I'm not aware of any examples, but I believe you. Besides Discord, what do you suggest I do to avoid that in the future? I've been relying on Github mentions.I personally have had problems with you not following up on things. That is not conducive towards getting people to contribute.Yes, I remember, and sorry about that again.
Jan 18
Don't worry about all the talk beyond one page back. If you are needed you would be pinged. Even I as a moderator apply this approach. As long as you're there, talking occasionally and able to respond if there is a ping, we're golden. Otherwise ignore anything you're not interested in. Being available if needed is enough. Nobody expects you or anyone else to be a superhuman.
Jan 18
On Wednesday, 17 January 2024 at 16:02:28 UTC, Atila Neves wrote:On Tuesday, 16 January 2024 at 23:20:59 UTC, Paul Backus wrote:The problem is not what you did in this specific case; it's the fact that, by the time he submitted the DIP 1036e PR, Adam's relationship with D's leadership had *already* deteriorated so much that he felt only drastic action would get his point across. What you (and Walter, and Andrei) could, and should, have done is spent the last 10+ years treating Adam with the respect and professionalism he deserved. What you can, and must, do now is (a) determine why you failed to do so, and (b) make plans to ensure that those failures do not recur in the future (either with Adam, should he return, or with other contributors).People like Adam Ruppe and Sebastian Wilzbach understand perfectly well that not every contribution is going to be accepted. They don't leave just because they can't get their way. They leave because they feel *personally* disrespected and insulted in their interactions with D's leadership. When their contributions are ignored, and they have to wait weeks or even months to get so much as an acknowledgement (let alone a review) from leadership [1], they feel personally disrespected and insulted.I wrote a spec for that PR and tried to keep Adam informed about my progress as it was going on. I'm not sure what else I could have done in this specific case other than do it sooner, I'm more than willing to listen to suggestions. I'm still trying to get it merged.
Jan 17
On Wednesday, 17 January 2024 at 18:28:33 UTC, Paul Backus wrote:What you (and Walter, and Andrei) could, and should, have done is spent the last 10+ years treating Adam with the respect and professionalism he deserved. What you can, and must, do now is (a) determine why you failed to do so, and (b) make plans to ensure that those failures do not recur in the future (either with Adam, should he return, or with other contributors).Professional respect is both earned and revocable. Mr. Ruppe did himself no favors during the November community call (don't know if I can say more than that). Extreme frustration is not, and never can be, an excuse from professional decorum. Mr. Wilzbach handled it much better. IMO, the leadership dealt with Mr. Ruppe about as charitably as one could hope for.
Jan 17
On Thursday, 18 January 2024 at 01:56:32 UTC, Adam Wilson wrote:On Wednesday, 17 January 2024 at 18:28:33 UTC, Paul Backus wrote:I am less concerned about leadership's response to Mr. Ruppe's frustration than I am with the pattern of behavior, spread out over many years, that caused that frustration (and the frustration of others like Mr. Wilzbach) in the first place. It's good to put out fires, but it's even better to avoid starting them. That said, I certainly agree that, regardless of the circumstances, Mr. Ruppe bears the ultimate responsibility for his own actions.What you (and Walter, and Andrei) could, and should, have done is spent the last 10+ years treating Adam with the respect and professionalism he deserved. What you can, and must, do now is (a) determine why you failed to do so, and (b) make plans to ensure that those failures do not recur in the future (either with Adam, should he return, or with other contributors).Professional respect is both earned and revocable. Mr. Ruppe did himself no favors during the November community call (don't know if I can say more than that). Extreme frustration is not, and never can be, an excuse from professional decorum. Mr. Wilzbach handled it much better. IMO, the leadership dealt with Mr. Ruppe about as charitably as one could hope for.
Jan 17
On Thursday, 18 January 2024 at 01:56:32 UTC, Adam Wilson wrote:Professional respect is both earned and revocable. Mr. Ruppe did himself no favors during the November community call (don't know if I can say more than that). Extreme frustration is not, and never can be, an excuse from professional decorum. Mr. Wilzbach handled it much better. IMO, the leadership dealt with Mr. Ruppe about as charitably as one could hope for.When you try to communicate issues, and instead get told "You are free to fork the languge" -- is that the respect we are talking about? When you perform a massive amount of work, get ignored, and then someone repeatedly refuses to read your code -- is that the charitable dealing that a D contributor can expect? A lot is being said how some people around here are _unrespectful_, but I don't always see beheviour that would make you respect DLF in the first place. What happens is, DLF people are mostly silent with the community, people get frustrated to a boiling point, and then everyone on forums just **demands** respect. And do nothing to gain said respect. Respect has to be mutual. One that loses respect because of their actions can't just show up and demand to be respected. So, instead of demanding respect, start acting in a way that would make me respect you.
Jan 18
On Thursday, 18 January 2024 at 09:39:42 UTC, GrimMaple wrote:So, instead of demanding respect, start acting in a way that would make me respect you.It's hard to take the OpenD fork seriously when reading things like that.
Jan 18
On Thursday, 18 January 2024 at 13:07:45 UTC, Guillaume Piolat wrote:On Thursday, 18 January 2024 at 09:39:42 UTC, GrimMaple wrote:GrimMaple is right. Demanding respect in a rude manner will never work. The result is likely to be exactly the opposite. As for OpenD, I'm still waiting for their first formal release before making any judgements. Until then it effectively doesn't exist yet.So, instead of demanding respect, start acting in a way that would make me respect you.It's hard to take the OpenD fork seriously when reading things like that.
Jan 18
On Thursday, 18 January 2024 at 14:37:33 UTC, Siarhei Siamashka wrote:Demanding respect in a rude manner will never work. The result is likely to be exactly the opposite.It worked for you? https://forum.dlang.org/post/fqhcuecjrvbxuagrwhwa forum.dlang.org
Jan 18
On Thursday, 18 January 2024 at 13:07:45 UTC, Guillaume Piolat wrote:On Thursday, 18 January 2024 at 09:39:42 UTC, GrimMaple wrote:I missed the point where this is related openD. "I don't agree with you so your fork is not serious", you just searching for something for attackSo, instead of demanding respect, start acting in a way that would make me respect you.It's hard to take the OpenD fork seriously when reading things like that.
Jan 18
On Wednesday, 17 January 2024 at 18:28:33 UTC, Paul Backus wrote:The problem is not what you did in this specific case; it's the fact that, by the time he submitted the DIP 1036e PR, Adam's relationship with D's leadership had *already* deteriorated so much that he felt only drastic action would get his point across. What you (and Walter, and Andrei) could, and should, have done is spent the last 10+ years treating Adam with the respect and professionalism he deserved. What you can, and must, do now is (a) determine why you failed to do so, and (b) make plans to ensure that those failures do not recur in the future (either with Adam, should he return, or with other contributors).Respect and professionalism is a two-way street. I've seen some of these interactions up close and I can tell you it is not in anyway 100% Walter/Andrei/Atila's fault. There's plenty of blame to go around. Especially in this specific case with Adam. I'm not going to into details, but you've seen the same Discord comments I've seen, Paul. And you weren't in the two meetings where some of us got to see live and in person version. This was going on as we were working with him to overcome the issues he had with us. I just really take issue with Walter always getting all the blame here. Yes, the DLF needs to find ways to prevent contributors from feeling disrespected, ignored, undervalued, and all of that, and we need to find ways to help them overcome those feelings if they do arise. But please, let's also remember that everyone on the DLF team is just as human as the contributors. We deserve the same respect and professionalism as everyone else. There have been multiple occasions when I've gone into the Discord server and regretted it, asking myself why I'm even bothering to stick around here when the people I'm working for keep crapping all over us and the work we're doing. It got to the point where I dreaded opening it up. Being called stupid, fools, morons, m*fers, and such is the very opposite of a morale booster. What I would like to see is a commitment from everyone in the D community to treat everyone else with professionalism and respect. Anyone who is unhappy with a specific decision, process, incident, whatever, is welcome to email me and let me know about it. I'm happy to set up a meeting with the appropriate people to discuss it in person, or facilitate an email conversation with them, or whatever is needed to work it out. Too often, people don't tell us specifically what their root gripes are until they've reached the boiling point, and by then it's too late. So please, let us know before that point comes. And while we're at it, can we please get rid of this "us vs. them" mentality? We are all here for the same overarching reason: we're enthusiastic about the D programming language. We all want it to succeed, and we all want it to help us achieve our ideas and our goals. It doesn't matter if you're on the DLF team, an employee at one of the D shops, self-employed, or doing this just for fun. So let's please keep that in mind when we're interacting with each other.
Jan 17
On Thursday, 18 January 2024 at 02:51:06 UTC, Mike Parker wrote:Respect and professionalism is a two-way street. I've seen some of these interactions up close and I can tell you it is not in anyway 100% Walter/Andrei/Atila's fault. There's plenty of blame to go around. [...] Yes, the DLF needs to find ways to prevent contributors from feeling disrespected, ignored, undervalued, and all of that, and we need to find ways to help them overcome those feelings if they do arise. But please, let's also remember that everyone on the DLF team is just as human as the contributors. We deserve the same respect and professionalism as everyone else.I agree completely. I think the DLF has a great opportunity to lead by example here, but regardless, someone else's poor behavior is never an excuse for one's own.There have been multiple occasions when I've gone into the Discord server and regretted it, asking myself why I'm even bothering to stick around here when the people I'm working for keep crapping all over us and the work we're doing. It got to the point where I dreaded opening it up. Being called stupid, fools, morons, m*fers, and such is the very opposite of a morale booster.Many open source projects have adopted codes of conduct for their community spaces that forbid this sort of behavior. Perhaps D would benefit from doing the same. By the way, this is not just a morale killer for the people being called names. It's also discouraging to everyone who makes an effort to behave well when they see rude, inflammatory messages get rewarded with attention and engagement.Anyone who is unhappy with a specific decision, process, incident, whatever, is welcome to email me and let me know about it. I'm happy to set up a meeting with the appropriate people to discuss it in person, or facilitate an email conversation with them, or whatever is needed to work it out. Too often, people don't tell us specifically what their root gripes are until they've reached the boiling point, and by then it's too late. So please, let us know before that point comes.I think most members of the D community are not even aware that this is an option available to them. It would help a lot if the DLF could proactively reach out to some of these people, rather than passively waiting for them to take the first step.
Jan 17
On 1/17/2024 8:57 PM, Paul Backus wrote:By the way, this is not just a morale killer for the people being called names. It's also discouraging to everyone who makes an effort to behave well when they see rude, inflammatory messages get rewarded with attention and engagement.We do enforce a standard of professional behavior in the forum, and a number of posts do get removed. There's a somewhat looser standard when the vitriol is directed at me, at my request and in the spirit of letting people say what they want, but when it is directed at any other forum member it gets the boot. We also do not allow cursing, political discussions, or other topics that are not about D. Moderation is under Mike's purview, and his judgements are final and he's got my full support.
Jan 17
On Thursday, 18 January 2024 at 04:57:36 UTC, Paul Backus wrote:On Thursday, 18 January 2024 at 02:51:06 UTC, Mike Parker wrote:As a bystander here I have never observed anything good example from the D core team, so not sure what you are talking about. All the disrespect, vitriol seems to come from so called contributors. If it was me, they would just be kicked out if the attacks were personal and disrespectful.Respect and professionalism is a two-way street. I've seen some of these interactions up close and I can tell you it is not in anyway 100% Walter/Andrei/Atila's fault. There's plenty of blame to go around. [...] Yes, the DLF needs to find ways to prevent contributors from feeling disrespected, ignored, undervalued, and all of that, and we need to find ways to help them overcome those feelings if they do arise. But please, let's also remember that everyone on the DLF team is just as human as the contributors. We deserve the same respect and professionalism as everyone else.I agree completely. I think the DLF has a great opportunity to lead by example here, but regardless, someone else's poor behavior is never an excuse for one's own.
Jan 18
On Thursday, 18 January 2024 at 10:58:07 UTC, Dibyendu Majumdar wrote:As a bystander here I have never observed anything good example from the D core team, so not sure what you are talking about. All the disrespect, vitriol seems to come from so called contributors. If it was me, they would just be kicked out if the attacks were personal and disrespectful.anything "but" good example, I meant to write.
Jan 18
On Thursday, 18 January 2024 at 10:58:07 UTC, Dibyendu Majumdar wrote:As a bystander here I have never observed anything good example from the D core team, so not sure what you are talking about. All the disrespect, vitriol seems to come from so called contributors. If it was me, they would just be kicked out if the attacks were personal and disrespectful.The D core team is always courteous on the forums, but the way they handle contributions often displays a lack of respect for contributors' time and work. I gave some examples in an earlier post. [1] It is easier to inspire others to be respectful when they can see that you are willing to "walk the walk," and not just "talk the talk." All that said, I agree completely that personal attacks should not be tolerated. [1] https://forum.dlang.org/post/hmaiefygkvboruvheakv forum.dlang.org
Jan 18
On Thursday, 18 January 2024 at 16:07:58 UTC, Paul Backus wrote:On Thursday, 18 January 2024 at 10:58:07 UTC, Dibyendu Majumdar wrote:I had a quick look. To be honest none of those examples show disrespect toward contributors. In fact at least 2 of them show disrespect toward Walter. So I still do not see your point here.As a bystander here I have never observed anything good example from the D core team, so not sure what you are talking about. All the disrespect, vitriol seems to come from so called contributors. If it was me, they would just be kicked out if the attacks were personal and disrespectful.The D core team is always courteous on the forums, but the way they handle contributions often displays a lack of respect for contributors' time and work. I gave some examples in an earlier post. [1] [1] https://forum.dlang.org/post/hmaiefygkvboruvheakv forum.dlang.org
Jan 18
On Thursday, 18 January 2024 at 17:07:52 UTC, Dibyendu Majumdar wrote:On Thursday, 18 January 2024 at 16:07:58 UTC, Paul Backus wrote:When someone submits a contribution, and you make them wait for weeks or months before you even acknowledge their work, the message you are sending is that their work is not important and their time is not valuable. When someone shares their ideas, and you dismiss them without even attempting to reach a common understanding, the message you are sending is that their ideas are not worth listening to. When you require others to follow rules and processes, but exempt yourself from them, the message you are sending is that you do not view those people as your equals. No matter how polite you are, if you treat people like their work is not important, their time is not valuable, their ideas are not worth listening to, and they are not your equals, then you are not treating them with respect.On Thursday, 18 January 2024 at 10:58:07 UTC, Dibyendu Majumdar wrote:I had a quick look. To be honest none of those examples show disrespect toward contributors. In fact at least 2 of them show disrespect toward Walter. So I still do not see your point here.As a bystander here I have never observed anything good example from the D core team, so not sure what you are talking about. All the disrespect, vitriol seems to come from so called contributors. If it was me, they would just be kicked out if the attacks were personal and disrespectful.The D core team is always courteous on the forums, but the way they handle contributions often displays a lack of respect for contributors' time and work. I gave some examples in an earlier post. [1] [1] https://forum.dlang.org/post/hmaiefygkvboruvheakv forum.dlang.org
Jan 18
On Thursday, 18 January 2024 at 18:43:42 UTC, Paul Backus wrote:When someone submits a contribution, and you make them wait for weeks or months before you even acknowledge their work, the message you are sending is that their work is not important and their time is not valuable. When someone shares their ideas, and you dismiss them without even attempting to reach a common understanding, the message you are sending is that their ideas are not worth listening to. When you require others to follow rules and processes, but exempt yourself from them, the message you are sending is that you do not view those people as your equals. No matter how polite you are, if you treat people like their work is not important, their time is not valuable, their ideas are not worth listening to, and they are not your equals, then you are not treating them with respect.Hmm, my reactions are: * You have to live in the real world. Even in paid work, your PR can languish for ages, and sometimes never get merged. * It is not because people don't respect you - the more mundane reason is they haven't got the bandwidth, and you didn't make it easy. * I dread looking at complex PRs myself. * If I want my changes to go through it is up to me to make it as easy to consume as possible. This means I may need to break it up into palatable steps, document thoroughly, do in-person or zoom walk through of the changes; understand concerns, and address them. This is how things work everywhere. Secondly - of course you are not equal. The language has designated leads, you are not and cannot be equal to them; they have a final say.
Jan 18
On 1/18/2024 10:43 AM, Paul Backus wrote:When someone submits a contribution, and you make them wait for weeks or months before you even acknowledge their work, the message you are sending is that their work is not important and their time is not valuable.Since these three examples have come up repeatedly, I will add some context. https://github.com/dlang/dmd/pull/15715 That was submitted Oct 20. Discussion about it had gone on in the n.g. for years, which I participated in heavily.When someone shares their ideas, and you dismiss them without even attempting to reach a common understanding, the message you are sending is that their ideas are not worth listening to.https://github.com/dlang/dmd/pull/12828 Heated discussion has gone on about that issue for years, including at DConf. Also, https://github.com/dlang/dmd/pull/12828#issuecomment-875455810When you require others to follow rules and processes, but exempt yourself from them, the message you are sending is that you do not view those people as your equals.https://github.com/dlang/dmd/pull/12507 ImportC is not a language change, and so did not require a DIP. It was not pulled by myself, either. You could think of it as simply integration of existing tools we were already using. The 3 tools that convert C code to D code, htod, DStep, and dpp, showed the need for it. It had no impact on anyone who wasn't interested in it. We also do not require DIPs for bug fixes, internal improvements to the compiler, better code generation, adding things like generating C++ headers from D code, etc. And sure, ImportC met with a lot of skepticism (Adam called it "completely useless" https://github.com/dlang/dmd/pull/12507#issuecomment-835915214). Over time, it has found its legs and audience. A good proxy for how useful a feature is is the quantity of bugzilla issues submitted, and ImportC has had a lot of them! (317 submitted, 274 resolved)No matter how polite you are, if you treat people like their work is not important, their time is not valuable, their ideas are not worth listening to, and they are not your equals, then you are not treating them with respect.I agree completely. I also agree that there are instances where I do not live up to those ideals, and need to do better. A better example would be when I added user defined attributes over 10 years ago (the result of which the DIP process was initiated).
Jan 19
On Friday, 19 January 2024 at 15:05:28 UTC, Walter Bright wrote:.. ImportC is not a language change, and so did not require a DIP. ... It had no impact on anyone who wasn't interested in it. ... ... ... A good proxy for how useful a feature is is the quantity of bugzilla issues submitted, and ImportC has had a lot of them! (317 submitted, 274 resolved)A feature pulled in, essentially without any community involvement at the time, has resulted in 317+ bugs being summitted, and in addition, peoples time (perhaps mostly yours) spent resolving at least 274 of them. And you're justification is.. "ImportC is not a language change, and so did not require a DIP." As a developer in the team at my business, if you had done this, then you would have been promptly shown the door. btw. None of the above is a comment about the usefulness of ImportC, or not. It's about the impact of change that was never presented to the community before it got pulled. And those that pulled it are as much to blame. Would such a thing still occur today? (that is a question I don't know the answer to).
Jan 27
On 1/27/2024 8:20 PM, FairEnough wrote:A feature pulled in, essentially without any community involvement at the time, has resulted in 317+ bugs being summitted, and in addition, peoples time (perhaps mostly yours) spent resolving at least 274 of them.Those issues were about ImportC, not the rest of the compiler. As compilers go, this is a remarkably small number. As for the time, it is mine to spend as I see fit. Nobody is paying me.And you're justification is.. "ImportC is not a language change, and so did not require a DIP."Phobos additions don't require a DIP. Code gen improvements do not. Dub does not. C++ header file generation did not. Druntime changes do not. Build system does not. Infrastructure does not. Web site changes do not. And so on. Only language changes involve a DIP.As a developer in the team at my business, if you had done this, then you would have been promptly shown the door.I've done bootleg projects at the companies I've worked at. They were all eventually mainlined into the official products.btw. None of the above is a comment about the usefulness of ImportC, or not.It's fair to consider the result. ImportC elicited more or less no interest from anybody. I expected that. Over time, though, its detractors who have tried it have found it to be a game-changing time saver. ImportC is a huge win for D. I've implemented a C compiler before, and knew ImportC was going to work. In fact, it worked much better than I anticipated.It's about the impact of change that was never presented to the community before it got pulled.As a proposal, it was not. As a prototype, it was, it just was pulled shortly thereafter.And those that pulled it are as much to blame.The fellow that pulled it, Atila, is the author of dpp, a program to import C headers to D. Atila understood the potential of ImportC, probably better than anyone else.Would such a thing still occur today? (that is a question I don't know the answer to).I thought many times about doing an ImportC++, but ran away screaming. Maybe ImportCwithClasses :-)
Jan 27
On Sunday, 28 January 2024 at 05:29:54 UTC, Walter Bright wrote:I thought many times about doing an ImportC++, but ran away screaming. Maybe ImportCwithClasses :-)One funny thing... C doesn't even need classes. It only needs UFCS.
Jan 28
On Sunday, 28 January 2024 at 05:29:54 UTC, Walter Bright wrote:On 1/27/2024 8:20 PM, FairEnough wrote:And i thank you a lot for ImportC, just last week it saved me a ton of time I needed a voronoi library for some proc-gen, i could have wrote it myself but would take me too long, so instead went to C land, and simply just imported this library: https://github.com/JCash/voronoi ```c #define JC_VORONOI_IMPLEMENTATION #include "jc_voronoi.h" ``` And in D: ```d import jc_voronoi; ``` And voila, everything works out of the boxA feature pulled in, essentially without any community involvement at the time, has resulted in 317+ bugs being summitted, and in addition, peoples time (perhaps mostly yours) spent resolving at least 274 of them.Those issues were about ImportC, not the rest of the compiler. As compilers go, this is a remarkably small number. As for the time, it is mine to spend as I see fit. Nobody is paying me.And you're justification is.. "ImportC is not a language change, and so did not require a DIP."Phobos additions don't require a DIP. Code gen improvements do not. Dub does not. C++ header file generation did not. Druntime changes do not. Build system does not. Infrastructure does not. Web site changes do not. And so on. Only language changes involve a DIP.As a developer in the team at my business, if you had done this, then you would have been promptly shown the door.I've done bootleg projects at the companies I've worked at. They were all eventually mainlined into the official products.btw. None of the above is a comment about the usefulness of ImportC, or not.It's fair to consider the result. ImportC elicited more or less no interest from anybody. I expected that. Over time, though, its detractors who have tried it have found it to be a game-changing time saver. ImportC is a huge win for D. I've implemented a C compiler before, and knew ImportC was going to work. In fact, it worked much better than I anticipated.It's about the impact of change that was never presented to the community before it got pulled.As a proposal, it was not. As a prototype, it was, it just was pulled shortly thereafter.And those that pulled it are as much to blame.The fellow that pulled it, Atila, is the author of dpp, a program to import C headers to D. Atila understood the potential of ImportC, probably better than anyone else.Would such a thing still occur today? (that is a question I don't know the answer to).I thought many times about doing an ImportC++, but ran away screaming. Maybe ImportCwithClasses :-)
Jan 28
On 1/28/2024 4:41 AM, ryuukk_ wrote:And i thank you a lot for ImportC, just last week it saved me a ton of time I needed a voronoi library for some proc-gen, i could have wrote it myself but would take me too long, so instead went to C land, and simply just imported this library: https://github.com/JCash/voronoi ```c #define JC_VORONOI_IMPLEMENTATION #include "jc_voronoi.h" ``` And in D: ```d import jc_voronoi; ``` And voila, everything works out of the boxYour post makes me happy! Thank you for letting me know this.
Jan 28
On Sunday, 28 January 2024 at 05:29:54 UTC, Walter Bright wrote:...Walter I have a question regarding C, I remember that in the past you wrote a paper about a solution for the C Arrays, which would be something like storing its size in the first address and increment it to be used, and time you want the array size it would do something like: *(p-1) == size. Could you please share that paper again? Thanks in advance, Matheus.
Jan 28
On 1/28/2024 1:24 PM, matheus wrote:Walter I have a question regarding C, I remember that in the past you wrote a paper about a solution for the C Arrays, which would be something like storing its size in the first address and increment it to be used, and time you want the array size it would do something like: *(p-1) == size. Could you please share that paper again?I'm sorry, I don't recall writing such a paper. They're called length-prefixed strings, which are useful for some cases but not in the general case because they don't support slicing. I did write a paper about adding D arrays to C: https://www.digitalmars.com/articles/C-biggest-mistake.html
Jan 28
On Sunday, 28 January 2024 at 05:29:54 UTC, Walter Bright wrote:It's fair to consider the result. ImportC elicited more or less no interest from anybody. I expected that. Over time, though, its detractors who have tried it have found it to be a game-changing time saver. ImportC is a huge win for D.I wouldn't say "no interest". This is [what I said](https://forum.dlang.org/post/apozoxpxalpdqiysoqak forum.dlang.org):This will be incredible. I have a lot of use cases for it. In particular on Windows where linking to DLLs is not fun.It turns out I was a bit too optimistic. The number of dependencies for the typical C project is huge, including things like glib, so avoiding them isn't usually possible. I also underestimated the widespread use of compiler extensions (thankfully this doesn't seem to be much of a problem any longer for ImportC). What has worked surprisingly well is converting C headers to D and then using traits to create dynamic bindings at compile time. So while it is not what I originally thought it would be, it's been a win for me in a different way.
Jan 28
On 1/28/2024 8:11 PM, Lance Bachmeier wrote:On Sunday, 28 January 2024 at 05:29:54 UTC, Walter Bright wrote:Thanks for reminding me! My mind is like a sieve.It's fair to consider the result. ImportC elicited more or less no interest from anybody. I expected that. Over time, though, its detractors who have tried it have found it to be a game-changing time saver. ImportC is a huge win for D.I wouldn't say "no interest". This is [what I said](https://forum.dlang.org/post/apozoxpxalpdqiysoqak forum.dlang.org):I, too, underestimated the pervasive (and usually quite unnecessary) use of bizarro extensions in the C header files. The majority of the problems with ImportC were(are) these extensions.This will be incredible. I have a lot of use cases for it. In particular on Windows where linking to DLLs is not fun.It turns out I was a bit too optimistic. The number of dependencies for the typical C project is huge, including things like glib, so avoiding them isn't usually possible. I also underestimated the widespread use of compiler extensions (thankfully this doesn't seem to be much of a problem any longer for ImportC).What has worked surprisingly well is converting C headers to D and then using traits to create dynamic bindings at compile time. So while it is not what I originally thought it would be, it's been a win for me in a different way.You and Adam Wilson! An unanticipated use, for sure.
Jan 28
On Monday, 29 January 2024 at 06:21:00 UTC, Walter Bright wrote:On 1/28/2024 8:11 PM, Lance Bachmeier wrote:Surely you of all people would know that? I was one of the first people (that I'm aware of at least) to build and play with ImportC (i.e. slightly prior to it being announced) and it immediately blew up (even after preprocessing) on some GNU headers -- the trend wasn't hard to see.On Sunday, 28 January 2024 at 05:29:54 UTC, Walter Bright wrote:Thanks for reminding me! My mind is like a sieve.It's fair to consider the result. ImportC elicited more or less no interest from anybody. I expected that. Over time, though, its detractors who have tried it have found it to be a game-changing time saver. ImportC is a huge win for D.I wouldn't say "no interest". This is [what I said](https://forum.dlang.org/post/apozoxpxalpdqiysoqak forum.dlang.org):I, too, underestimated the pervasive (and usually quite unnecessary) use of bizarro extensions in the C header files. The majority of the problems with ImportC were(are) these extensions.This will be incredible. I have a lot of use cases for it. In particular on Windows where linking to DLLs is not fun.It turns out I was a bit too optimistic. The number of dependencies for the typical C project is huge, including things like glib, so avoiding them isn't usually possible. I also underestimated the widespread use of compiler extensions (thankfully this doesn't seem to be much of a problem any longer for ImportC).So what dstep has been doing for years? The value of ImportC is in importing c, i.e. thats the thing that the others can't do. Even then I think the lack of tools for doing it on the fly as part of a build with (say) dub does reveal that the demand is not as great as some think. The language is better with it, obviously, but I'm genuinely not sure if the strategic investment has paid off i.e. it's still in large viewed as a toy / solution for yesterday's problem industrially at least (I think we *switched* to using it for some bits and pieces recently it must be said but it didn't enable anything new). That and the binding generation is probably not as good as what you can do with DStep because it works with a higher level and frankly much more modern AST from a real C compiler i.e. more info to play with, and info that hasn't potentially been through a bunch of D semantic passes - which does mean that you can potentially do ExportD, in fairness.What has worked surprisingly well is converting C headers to D and then using traits to create dynamic bindings at compile time. So while it is not what I originally thought it would be, it's been a win for me in a different way.You and Adam Wilson! An unanticipated use, for sure.
Jan 29
On 1/29/2024 5:59 PM, max haughton wrote:Surely you of all people would know that? I was one of the first people (that I'm aware of at least) to build and play with ImportC (i.e. slightly prior to it being announced) and it immediately blew up (even after preprocessing) on some GNU headers -- the trend wasn't hard to see.My priority was compiling Standard C, not C extensions. I assumed that the gnu C headers would at least try to stick with Standard C for the Standard C header files. Oops! To add more complication, the different Posix versions had dramatically different Standard C header files, using different extensions.As has htod that I wrote, and dpp that Atila wrote.So what dstep has been doing for years?What has worked surprisingly well is converting C headers to D and then using traits to create dynamic bindings at compile time. So while it is not what I originally thought it would be, it's been a win for me in a different way.You and Adam Wilson! An unanticipated use, for sure.The value of ImportC is in importing c, i.e. thats the thing that the others can't do. Even then I think the lack of tools for doing it on the fly as part of a build with (say) dub does reveal that the demand is not as great as some think. The language is better with it, obviously, but I'm genuinely not sure if the strategic investment has paid off i.e. it's still in large viewed as a toy / solution for yesterday's problem industrially at least (I think we *switched* to using it for some bits and pieces recently it must be said but it didn't enable anything new). That and the binding generation is probably not as good as what you can do with DStep because it works with a higher level and frankly much more modern AST from a real C compiler i.e. more info to play with, and info that hasn't potentially been through a bunch of D semantic passes - which does mean that you can potentially do ExportD, in fairness.ImportC is a real C compiler. It doesn't need D to compile, link, and run C programs. It isn't, however, a clone of gcc, clang, or msvc. The .di code generation happens before semantic analysis, not after. What info to play with is it missing? Bottom line - if Dstep works for your purposes, great! Use it!
Jan 29
On 1/29/2024 5:59 PM, max haughton wrote:I was one of the first people (that I'm aware of at least) to build and play with ImportC (i.e. slightly prior to it being announced) and it immediately blew up (even after preprocessing) on some GNU headers -- the trend wasn't hard to see.Yes, you were very helpful it providing excellent bug reports in the early daze of ImportC. Thank you!
Jan 29
On Tuesday, 30 January 2024 at 01:59:47 UTC, max haughton wrote:So what dstep has been doing for years?Not only that, but it does work well for that purpose, and it's baked into the compiler.The value of ImportC is in importing c, i.e. thats the thing that the others can't do.It works well for C code without a ton of dependencies. It can also be used to compile C functions that aren't exported from a library, or to modify parts of a C library without having to maintain your own fork.
Jan 29
On 1/29/2024 8:02 PM, bachmeier wrote:Not only that, but it does work well for that purpose, and it's baked into the compiler.It's kinda the same thing as Ddoc and unittests. Building things into the compiler is transformative. Heck, once C acquired an inline assembler, I stopped using MASM. Same thing.
Jan 29
On Tuesday, 30 January 2024 at 04:02:30 UTC, bachmeier wrote:On Tuesday, 30 January 2024 at 01:59:47 UTC, max haughton wrote:I'm just wondering how good it is to perform CTFE on C code ... humm We are using a custom sql parser, imagine being able to use this [1] instead ... at compile time obviously. [1] https://github.com/pganalyze/libpg_query /PSo what dstep has been doing for years?Not only that, but it does work well for that purpose, and it's baked into the compiler.The value of ImportC is in importing c, i.e. thats the thing that the others can't do.It works well for C code without a ton of dependencies. It can also be used to compile C functions that aren't exported from a library, or to modify parts of a C library without having to maintain your own fork.
Jan 30
On 1/30/2024 12:24 AM, Paolo Invernizzi wrote:I'm just wondering how good it is to perform CTFE on C code ... humm We are using a custom sql parser, imagine being able to use this [1] instead ... at compile time obviously.CTFE works just fine on ImportC code !! I use it to speed up tests in the ImportC test suite. No need to build an executable for many of the semantic tests.
Jan 30
On Sunday, 28 January 2024 at 04:20:12 UTC, FairEnough wrote:On Friday, 19 January 2024 at 15:05:28 UTC, Walter Bright wrote:But this where you get it wrong. This is not a business. The thing about D is that everyone works on what they want to work on. and its perfectly valid for Walter to work on whatever motivates him. It took me a while to grasp this about the D eco-system, but its key to getting your expectations right. If you want a business like focused approach that managed top-down, this is not it... ImportC is not a language change, and so did not require a DIP. ... It had no impact on anyone who wasn't interested in it. ... ... ... A good proxy for how useful a feature is is the quantity of bugzilla issues submitted, and ImportC has had a lot of them! (317 submitted, 274 resolved)A feature pulled in, essentially without any community involvement at the time, has resulted in 317+ bugs being summitted, and in addition, peoples time (perhaps mostly yours) spent resolving at least 274 of them. And you're justification is.. "ImportC is not a language change, and so did not require a DIP." As a developer in the team at my business, if you had done this, then you would have been promptly shown the door.
Jan 28
On Sunday, 28 January 2024 at 11:23:45 UTC, Dibyendu Majumdar wrote:But this where you get it wrong. This is not a business. The thing about D is that everyone works on what they want to work on. and its perfectly valid for Walter to work on whatever motivates him.I don't know if I am right but part of the motivation of import C seems to have been competition - Zig added the ability to compile C. It seems the idea of import C came up after and maybe as a consequence of this.
Jan 28
On 1/28/2024 3:27 AM, Dibyendu Majumdar wrote:I don't know if I am right but part of the motivation of import C seems to have been competition - Zig added the ability to compile C. It seems the idea of import C came up after and maybe as a consequence of this.I didn't know Zig did that until after I did ImportC.
Jan 28
On Sunday, 28 January 2024 at 17:04:02 UTC, Walter Bright wrote:On 1/28/2024 3:27 AM, Dibyendu Majumdar wrote:Zig also has the ability to translate C headers into Zig. The result is very similar to ImportC. I believe I mentioned this to you when ImportC first became available. I think this is an important capability for both languages. Added to the ability to call C libraries directly, it makes direct access, without binding libraries, to C libraries possible. I think your decision to implement ImportC was a good one. I've done quite a bit of gtk3 work in Rust. The Rust gtk "crate" is insanely complex and poorly documented (sometimes even inaccurate, where they generate the documentation using snippets from the original gtk3 docs, sometimes including memory-management things that are not necessary in Rust), unlike gtk3 itself. I much prefer working directly with gtk3 in D. I did the D work before ImportC was available, so wrote my own D function prototypes. Even that was preferable to wrestling with the Rust "crate" and I'm sure ImportC would have made the job a lot easier, if it is up to dealing with the gtk header files. I have tried ImportC with sqlite and that works just fine.I don't know if I am right but part of the motivation of import C seems to have been competition - Zig added the ability to compile C. It seems the idea of import C came up after and maybe as a consequence of this.I didn't know Zig did that until after I did ImportC.
Jan 28
On 1/28/2024 7:35 PM, Don Allen wrote:Zig also has the ability to translate C headers into Zig. The result is very similar to ImportC. I believe I mentioned this to you when ImportC first became available.You probably did.I think this is an important capability for both languages. Added to the ability to call C libraries directly, it makes direct access, without binding libraries, to C libraries possible. I think your decision to implement ImportC was a good one. I've done quite a bit of gtk3 work in Rust. The Rust gtk "crate" is insanely complex and poorly documented (sometimes even inaccurate, where they generate the documentation using snippets from the original gtk3 docs, sometimes including memory-management things that are not necessary in Rust), unlike gtk3 itself. I much prefer working directly with gtk3 in D. I did the D work before ImportC was available, so wrote my own D function prototypes. Even that was preferable to wrestling with the Rust "crate" and I'm sure ImportC would have made the job a lot easier, if it is up to dealing with the gtk header files. I have tried ImportC with sqlite and that works just fine.I'm glad it's working for you! D can actually translate C to D, as well. Just add the switch for .di file generation, and the C code will be emitted as D! Adam Wilson prefers to use it this way rather than keep importing the .h files. I warned Adam that this was imperfect, as C semantics don't exactly line up with D semantics. But he's well aware of that, and it isn't a problem for his work.
Jan 28
On Sunday, 28 January 2024 at 17:04:02 UTC, Walter Bright wrote:On 1/28/2024 3:27 AM, Dibyendu Majumdar wrote:When did you start on importC? https://forum.dlang.org/thread/yocvibzernkchgsbcpyb forum.dlang.orgI don't know if I am right but part of the motivation of import C seems to have been competition - Zig added the ability to compile C. It seems the idea of import C came up after and maybe as a consequence of this.I didn't know Zig did that until after I did ImportC.
Jan 29
On 1/29/2024 1:34 PM, Dibyendu Majumdar wrote:On Sunday, 28 January 2024 at 17:04:02 UTC, Walter Bright wrote:That post was Dec 3, 2020. The PR for ImportC was May 9, 2021, about 5 months later. When did I start ImportC? I don't recall. I don't recall reading that thread, either, I don't read all the messages, and am generally not interested in detailed comparisons of D with other languages (as it is an endless timesink). I also was never sure if Zig could actually import C files, or was just able to fork a C compiler and link to the result. But this clears it up: ```C const c = cImport( cInclude("soundio/soundio.h")); ``` https://ziglang.org/learn/overview/#integration-with-c-libraries-without-ffibindings D's syntax is better: ```d import soundio; ``` ImportC grew out of my discussions with Atila about dpp.On 1/28/2024 3:27 AM, Dibyendu Majumdar wrote:When did you start on importC? https://forum.dlang.org/thread/yocvibzernkchgsbcpyb forum.dlang.orgI don't know if I am right but part of the motivation of import C seems to have been competition - Zig added the ability to compile C. It seems the idea of import C came up after and maybe as a consequence of this.I didn't know Zig did that until after I did ImportC.
Jan 29
On Tuesday, 30 January 2024 at 00:57:31 UTC, Walter Bright wrote:https://ziglang.org/learn/overview/#integration-with-c-libraries-without-ffibindings D's syntax is better:Well the syntax is cleaner but has the potential to be ambiguous both with .d files and the usual <> vs "" stuff.
Jan 29
On 1/29/2024 5:45 PM, max haughton wrote:Well the syntax is cleaner but has the potential to be ambiguous both with .d files and the usual <> vs "" stuff.Right. Putting .c and .d files with the same name in the same directory is not going to work well. The fix is easy and permanent - rename the .d or the .c file.
Jan 29
On Tuesday, 30 January 2024 at 04:00:48 UTC, Walter Bright wrote:On 1/29/2024 5:45 PM, max haughton wrote:Or in the same import path. This is what bit me -- my C files were not in the same directory, but in a similarly named directory. I ended up having to rename the directory to prevent the compiler from finding them. I also think the syntax can be clean without being ambiguous: ```d // import(C) soundio; // sadly not available because import expressions import!C soundio; ``` -SteveWell the syntax is cleaner but has the potential to be ambiguous both with .d files and the usual <> vs "" stuff.Right. Putting .c and .d files with the same name in the same directory is not going to work well. The fix is easy and permanent - rename the .d or the .c file.
Jan 31
On 1/31/2024 1:22 PM, Steven Schveighoffer wrote:I also think the syntax can be clean without being ambiguous: ```d // import(C) soundio; // sadly not available because import expressions import!C soundio; ```The rationale for not having a special syntax for importing C files is the importer should not have to know what language the import comes from. That information should not "leak" into the importer's code. The point is seamless integration. Analogously, if one gets from a .di file import: ``` int foo(); ``` it should not matter what language foo() is implemented in. The caller should not need to know. Having to organize the file names and paths so this works is a very small price to pay for this abstraction. Besides, if you have these files in your folder: foo.c foo.d what is the maintainer looking at the files going to think? Which one is incorporated into the code? foo.c? foo.d? both? neither? It's a sloppy practice, not some vital thing to support. One can name files as one pleases, organize them into sensible folders, etc., all part of doing a good job as a programmer.
Feb 01
On Thursday, 1 February 2024 at 17:49:42 UTC, Walter Bright wrote:On 1/31/2024 1:22 PM, Steven Schveighoffer wrote:This means you are changing the language based on the environment and on the whims of the compiler implementer. It's not a small price when it happens. In an ideal situation, where you control all files and environmental conditions, it could be fine. But we all live in the real world.I also think the syntax can be clean without being ambiguous: ```d // import(C) soundio; // sadly not available because import expressions import!C soundio; ```The rationale for not having a special syntax for importing C files is the importer should not have to know what language the import comes from. That information should not "leak" into the importer's code. The point is seamless integration. Analogously, if one gets from a .di file import: ``` int foo(); ``` it should not matter what language foo() is implemented in. The caller should not need to know. Having to organize the file names and paths so this works is a very small price to pay for this abstraction.Besides, if you have these files in your folder: foo.c foo.d what is the maintainer looking at the files going to think? Which one is incorporated into the code? foo.c? foo.d? both? neither? It's a sloppy practice, not some vital thing to support. One can name files as one pleases, organize them into sensible folders, etc., all part of doing a good job as a programmer.In my case, it was: raylib/rtextures.c source/raylib/rtextures.d And because D always looks in the current directory first, importing `raylib.rtextures` means the C file even though it wasn't intended to be part of the source code. What was I intending? Not to have the C files participate at all, after all, they aren't in the source directory. My solution is to rename the C-containing folder to `raylibc` (which still could technically be imported, but I'm not sure how to fix that). https://github.com/schveiguy/draylib/commit/9b04409fc3bda331d0a03583b2861552ffcaab04 In the general case, there are easily situations where C files might be in places that you need to specify an import path, where you *only* want one C file, but other C files that you *don't* want happen to conflict import-wise with D files in completely unrelated directories. It's not just the obviously wrong situation of putting a C and D file in the same directory. D has this problem even with other D files. This is why I always recommend putting all your library files into a uniquely-named package. But with C files it's even worse, because C environments are not constructed with the import rules of D in mind. -Steve
Feb 01
On Thursday, February 1, 2024 10:49:42 AM MST Walter Bright via Digitalmars-d wrote:On 1/31/2024 1:22 PM, Steven Schveighoffer wrote:Well, I would point out that if import C had its own syntax, anyone who wanted it to be invisible as to whether importC was involved or not could just stick the importC import inside of another module and make the importC import public. Then code could import the D module without knowing or caring whether importC was involved or not - and when someone did want to make it clear that that's what's going on, they could just use the importC import directly. While I agree that you often don't want to have to care about which language defines something, prior to importC, you could at least rely on the fact that what you were importing was D code even if they were just declarations. And it's certainly my gut reaction that I very much want to know when I'm importing C code and not D code. Whether the module being imported is actually a D module or a C file changes what I have to look for when looking up the file to see what's in it, and hiding the fact that it's a C file just makes that harder. And in general, I want to know when stuff is extern(C), or extern(C++), or extern(D), or whatever because that does affect how it should be used. So, personally, I'm inclined to think that making importC imports distinct from normal D imports would reduce the number of problems involved rather than increase them, but it's also true that I haven't done anything with importC yet (the one time I tried, I couldn't figure out how to do it in the time that I had). So, I haven't had to actually deal with the pros or cons of how it currently works. - Jonathan M DavisI also think the syntax can be clean without being ambiguous: ```d // import(C) soundio; // sadly not available because import expressions import!C soundio; ```The rationale for not having a special syntax for importing C files is the importer should not have to know what language the import comes from. That information should not "leak" into the importer's code. The point is seamless integration. Analogously, if one gets from a .di file import: ``` int foo(); ``` it should not matter what language foo() is implemented in. The caller should not need to know. Having to organize the file names and paths so this works is a very small price to pay for this abstraction. Besides, if you have these files in your folder: foo.c foo.d what is the maintainer looking at the files going to think? Which one is incorporated into the code? foo.c? foo.d? both? neither? It's a sloppy practice, not some vital thing to support. One can name files as one pleases, organize them into sensible folders, etc., all part of doing a good job as a programmer.
Feb 06
On Tuesday, 30 January 2024 at 00:57:31 UTC, Walter Bright wrote:On 1/29/2024 1:34 PM, Dibyendu Majumdar wrote:It doesn't really matter I guess, but its interesting that the discussion I pointed to actually suggested importC and dpp was mentioned, so it seems either you or Atila saw that thread. Maybe a delayed subconscious reaction. I certainly thought at the time that importC was a reaction to Zig doing it. I recall vaguely you started work on it after that thread.On Sunday, 28 January 2024 at 17:04:02 UTC, Walter Bright wrote:That post was Dec 3, 2020. The PR for ImportC was May 9, 2021, about 5 months later. When did I start ImportC? I don't recall. I don't recall reading that thread, either, I don't read all the messages, and am generally not interested in detailed comparisons of D with other languages (as it is an endless timesink). ImportC grew out of my discussions with Atila about dpp.On 1/28/2024 3:27 AM, Dibyendu Majumdar wrote:When did you start on importC? https://forum.dlang.org/thread/yocvibzernkchgsbcpyb forum.dlang.orgI don't know if I am right but part of the motivation of import C seems to have been competition - Zig added the ability to compile C. It seems the idea of import C came up after and maybe as a consequence of this.I didn't know Zig did that until after I did ImportC.
Jan 30
On Tuesday, 30 January 2024 at 13:06:08 UTC, Dibyendu Majumdar wrote:I certainly thought at the time that importC was a reaction to Zig doing it. I recall vaguely you started work on it after that thread.It's not full ImportC, but I remember Walter was talking about adding C header translation to the compiler [well before that](https://forum.dlang.org/post/p59jdq$2ttu$1 digitalmars.com), and apparently it was an old idea by then:I have thought about building this into D many times, especially since the Digital Mars C compiler is now available since it is Boost licensed.I don't think it would have been a big leap from that to compiling arbitrary code (the implementation would, but not the idea). Jacob Carlborg embedded dstep in the compiler in 2013: https://forum.dlang.org/post/ks3kir$1ubq$1 digitalmars.com Note Dicebot's comment:While this a relatively common requestAll this is to say that the idea was floating around before Zig existed. It's the implementation that's important.
Jan 30
On Tuesday, 30 January 2024 at 14:27:18 UTC, bachmeier wrote:It's not full ImportC, but I remember Walter was talking about adding C header translation to the compiler [well before that](https://forum.dlang.org/post/p59jdq$2ttu$1 digitalmars.com), and apparently it was an old idea by then:The idea of generating automatic bindings to declarations in header files may have been old, but the idea of compiling actual C programs appears to have come from Zig: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
Jan 30
On Tuesday, 30 January 2024 at 15:17:31 UTC, Dibyendu Majumdar wrote:The idea of generating automatic bindings to declarations in header files may have been old, but the idea of compiling actual C programs appears to have come from Zig: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.htmlThe idea is not new and unique for Zig 3 years before your post https://users.rust-lang.org/t/rustcc-a-c-compiler-written-in-rust/14322/4
Jan 30
On Tuesday, 30 January 2024 at 15:17:31 UTC, Dibyendu Majumdar wrote:On Tuesday, 30 January 2024 at 14:27:18 UTC, bachmeier wrote:There were discussions about the possibility of dmd compiling C code several years ago. My search attempts keep turning up way too many pages, but this is an old idea in the D community.It's not full ImportC, but I remember Walter was talking about adding C header translation to the compiler [well before that](https://forum.dlang.org/post/p59jdq$2ttu$1 digitalmars.com), and apparently it was an old idea by then:The idea of generating automatic bindings to declarations in header files may have been old, but the idea of compiling actual C programs appears to have come from Zig: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
Jan 30
On Tuesday, 30 January 2024 at 15:36:34 UTC, Mike Parker wrote:There were discussions about the possibility of dmd compiling C code several years ago. My search attempts keep turning up way too many pages, but this is an old idea in the D community.Okay, here's an early discussion. Not exactly the same, but in the ballpark: https://www.digitalmars.com/d/archives/22625.htmlAt first pass, I would assume that the C source would be passed without modification into the system's C compiler; the D compiler would then automatically link the C compiler's .o file with the D compiler's .o file.
Jan 30
On Tuesday, 30 January 2024 at 15:44:28 UTC, Mike Parker wrote:On Tuesday, 30 January 2024 at 15:36:34 UTC, Mike Parker wrote:And here's the earliest discussion of an ImportC-style thing that I can find (2006): https://www.digitalmars.com/d/archives/digitalmars/D/35483.htmlThere were discussions about the possibility of dmd compiling C code several years ago. My search attempts keep turning up way too many pages, but this is an old idea in the D community.Okay, here's an early discussion. Not exactly the same, but in the ballpark: https://www.digitalmars.com/d/archives/22625.htmlWhy not enable dmd to "import" C header files directly?One of the commenters listed this as a point against:2. Writers of other D compilers will feel compelled to build in a C compiler so that they can compile such projects.
Jan 30
On Tuesday, 30 January 2024 at 15:53:50 UTC, Mike Parker wrote:On Tuesday, 30 January 2024 at 15:44:28 UTC, Mike Parker wrote:Does it really matter?On Tuesday, 30 January 2024 at 15:36:34 UTC, Mike Parker wrote:And here's the earliest discussion of an ImportC-style thing that I can find (2006): https://www.digitalmars.com/d/archives/digitalmars/D/35483.html[...]Okay, here's an early discussion. Not exactly the same, but in the ballpark: https://www.digitalmars.com/d/archives/22625.htmlWhy not enable dmd to "import" C header files directly?One of the commenters listed this as a point against:2. Writers of other D compilers will feel compelled to build in a C compiler so that they can compile such projects.
Jan 30
On Tuesday, 30 January 2024 at 15:58:46 UTC, jmh530 wrote:On Tuesday, 30 January 2024 at 15:53:50 UTC, Mike Parker wrote:The history of programming languages is interesting in itself and it's good to acknowledge those making progress. It's also good to adopt/adapt the pioneering work of others. I'd also note that many programmers come to previously discovered good ideas independently. OTOH, I think we've all known people who have made false claims in this area. I'd rather associate with those who don't. So, yes, I think it matters but I don't see it as a big problem within the D community itself.On Tuesday, 30 January 2024 at 15:44:28 UTC, Mike Parker wrote:Does it really matter?On Tuesday, 30 January 2024 at 15:36:34 UTC, Mike Parker wrote:And here's the earliest discussion of an ImportC-style thing that I can find (2006): https://www.digitalmars.com/d/archives/digitalmars/D/35483.html[...]Okay, here's an early discussion. Not exactly the same, but in the ballpark: https://www.digitalmars.com/d/archives/22625.htmlWhy not enable dmd to "import" C header files directly?One of the commenters listed this as a point against:2. Writers of other D compilers will feel compelled to build in a C compiler so that they can compile such projects.
Jan 30
On Tuesday, 30 January 2024 at 15:58:46 UTC, jmh530 wrote:Does it really matter?Of course not. Just sharing what I found since it came up.
Jan 30
On Tuesday, 30 January 2024 at 16:27:34 UTC, Mike Parker wrote:On Tuesday, 30 January 2024 at 15:58:46 UTC, jmh530 wrote:It doesn't matter as such, but answering competition is a good excuse for it :-)Does it really matter?Of course not. Just sharing what I found since it came up.
Jan 30
On Tuesday, 30 January 2024 at 15:53:50 UTC, Mike Parker wrote:On Tuesday, 30 January 2024 at 15:44:28 UTC, Mike Parker wrote:That's a lot earlier than what I found, but my recollection was that it had been floating around the whole time I've been using D. The idea isn't important for something like this - implementation is all that matters. I attempted to hack a solution like ImportC at one time, with a script that would call dstep, a C compiler, and dmd. The compilation command was similar to what we have today. That went down in flames quickly because dstep couldn't fully translate headers.On Tuesday, 30 January 2024 at 15:36:34 UTC, Mike Parker wrote:And here's the earliest discussion of an ImportC-style thing that I can find (2006): https://www.digitalmars.com/d/archives/digitalmars/D/35483.htmlThere were discussions about the possibility of dmd compiling C code several years ago. My search attempts keep turning up way too many pages, but this is an old idea in the D community.Okay, here's an early discussion. Not exactly the same, but in the ballpark: https://www.digitalmars.com/d/archives/22625.htmlWhy not enable dmd to "import" C header files directly?One of the commenters listed this as a point against:2. Writers of other D compilers will feel compelled to build in a C compiler so that they can compile such projects.
Jan 30
On 1/30/2024 7:36 AM, Mike Parker wrote:There were discussions about the possibility of dmd compiling C code several years ago. My search attempts keep turning up way too many pages, but this is an old idea in the D community.The idea really goes back to C++. The C++ compiler could compile C code. Wanting to make this work for D was always on my mind.
Jan 30
On Tuesday, 30 January 2024 at 15:17:31 UTC, Dibyendu Majumdar wrote:On Tuesday, 30 January 2024 at 14:27:18 UTC, bachmeier wrote:Zig did it before D (arguably C++ and Objective C did something similar well before Zig). It doesn't really matter if Walter knew about what Zig was doing or not. It was a good idea and it's a good addition to D at the end of the day.It's not full ImportC, but I remember Walter was talking about adding C header translation to the compiler [well before that](https://forum.dlang.org/post/p59jdq$2ttu$1 digitalmars.com), and apparently it was an old idea by then:The idea of generating automatic bindings to declarations in header files may have been old, but the idea of compiling actual C programs appears to have come from Zig: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
Jan 30
On Sunday, 28 January 2024 at 11:23:45 UTC, Dibyendu Majumdar wrote:.. But this where you get it wrong. This is not a business. The thing about D is that everyone works on what they want to work on. and its perfectly valid for Walter to work on whatever motivates him. It took me a while to grasp this about the D eco-system, but its key to getting your expectations right. If you want a business like focused approach that managed top-down, this is not it.So I am pretty sure I fully understand the concept of opensource and also the concept of people volunteering their time to it. I don't need lessons in that ;-) I have assumed, perhaps wrongly, that (at the time of that PR) there were other people volunteering their time to the compiler as well, besides Walter. In that were true, then a team based approach would not be consistent with slipping this PR in, more or less without warning. In any case, as I said, my comment is not about the PR itself, but the manner in which it was pulled. Even in an opensource project like this, team work remains the key to its success. To me, the way the PR found its way into the compiler, suggest either no team existed, or team work was not a priority. I understand that this is just my view, and not necessarily how it is. But it's my view that matters to me ;-)
Jan 28
On 18/01/2024 3:51 PM, Mike Parker wrote:And while we're at it, can we please get rid of this "us vs. them" mentality? We are all here for the same overarching reason: we're enthusiastic about the D programming language. We all want it to succeed, and we all want it to help us achieve our ideas and our goals. It doesn't matter if you're on the DLF team, an employee at one of the D shops, self-employed, or doing this just for fun. So let's please keep that in mind when we're interacting with each other.Part of the problem that allows this to exist is simply because Walter & Atila are not where the people are. Yes Walter is active on the N.G., Atila isn't. However neither are on Discord, the easiest of live chat methods that we have. It is much harder to call someone a name, if they are responding directly to you. Of course because Walter keeps saying, I don't care if you insult me (more or less) on the N.G. its not like us moderators can take action, because he has waived an awful lot of the expectation of respect in simply stating that. It is a shame you didn't tell us how this was making you feel in the first instance. Once you told us I did I was able to change myself to lead changes. But only recently does the worst of the aggressors appear to have left.
Jan 17
On Thursday, 18 January 2024 at 06:31:33 UTC, Richard (Rikki) Andrew Cattermole wrote:Of course because Walter keeps saying, I don't care if you insult me (more or less) on the N.G. its not like us moderators can take action, because he has waived an awful lot of the expectation of respect in simply stating that.+1 Behaviour flows from the top. It's important to realize a chunk of the newcomers are people, for lack of better words, prone to trolling behaviour that may be attracted by that lax rules enabled by the top of the hierarchy. It makes the work of being a moderator in the D community much more stressful than people may realize.
Jan 18
On Thursday, 18 January 2024 at 06:31:33 UTC, Richard (Rikki) Andrew Cattermole wrote:On 18/01/2024 3:51 PM, Mike Parker wrote:Discord is a huge time sink and unproductive. I doubt the DLF folks can deal with it and get anything done. I sometimes wonder how you guys manage to get anything else done lol. On a serious note, I think being active in this forum alone is enough. But no pressure.And while we're at it, can we please get rid of this "us vs. them" mentality? We are all here for the same overarching reason: we're enthusiastic about the D programming language. We all want it to succeed, and we all want it to help us achieve our ideas and our goals. It doesn't matter if you're on the DLF team, an employee at one of the D shops, self-employed, or doing this just for fun. So let's please keep that in mind when we're interacting with each other.Part of the problem that allows this to exist is simply because Walter & Atila are not where the people are. Yes Walter is active on the N.G., Atila isn't. However neither are on Discord, the easiest of live chat methods that we have.
Jan 18
On Wednesday, 17 January 2024 at 18:28:33 UTC, Paul Backus wrote:The problem is not what you did in this specific case; it's the fact that, by the time he submitted the DIP 1036e PR, Adam's relationship with D's leadership had *already* deteriorated so much that he felt only drastic action would get his point across. What you (and Walter, and Andrei) could, and should, have done is spent the last 10+ years treating Adam with the respect and professionalism he deserved. What you can, and must, do now is (a) determine why you failed to do so, and (b) make plans to ensure that those failures do not recur in the future (either with Adam, should he return, or with other contributors).I mean, let's all be brutally real here for a minute. I've been in this community since 2012, and I'm familiar with all the regulars and even the old regulars who aren't around anymore. Adam's always been a bit of a prima donna - the lone wolf developer type who always wants to do things his own way or not at all. If you subscribe to the Jungian personality model, he's most likely an INTJ - very emotionally charged and willful, very sensitive to issues of status and respect, and notoriously difficult to work with. There's plenty of blame to go around, and ultimately it just comes down to a clash of different personalities and outlooks. People have wildly different motivations, and different standards for what constitutes disrespect, and ways of dealing with it. Not to mention varying levels of maturity and social skills. Sometimes shit just happens and there's not much you can do to avoid or fix it.
Jan 18
On Thursday, 18 January 2024 at 20:26:50 UTC, Meta wrote:There's plenty of blame to go around, and ultimately it just comes down to a clash of different personalities and outlooks. People have wildly different motivations, and different standards for what constitutes disrespect, and ways of dealing with it. Not to mention varying levels of maturity and social skills. Sometimes shit just happens and there's not much you can do to avoid or fix it.Yes, that's certainly true. My intent is not to focus on Adam Ruppe's case specifically, but on the broader pattern that also includes former contributors like Sebastian Wilzbach, Jonathan Marler, ag0aep6g, Suleyman Sahmi (SSoulaimane), etc. When one relationship fails, that's unfortunate. When a long string of relationships fail in the same way, that's a sign of a deeper problem. Even if we grant that there was nothing more to be done in Adam's case, I think D's approach to contributor relationships is leaving a lot of value on the table.
Jan 18
On Thu, Jan 18, 2024 at 08:51:48PM +0000, Paul Backus via Digitalmars-d wrote:On Thursday, 18 January 2024 at 20:26:50 UTC, Meta wrote:[...]My intent is not to focus on Adam Ruppe's case specifically, but on the broader pattern that also includes former contributors like Sebastian Wilzbach, Jonathan Marler, ag0aep6g, Suleyman Sahmi (SSoulaimane), etc. When one relationship fails, that's unfortunate. When a long string of relationships fail in the same way, that's a sign of a deeper problem.Exactly.Even if we grant that there was nothing more to be done in Adam's case, I think D's approach to contributor relationships is leaving a lot of value on the table.Yes, this area definitely needs improving. We should be keeping active contributors, not losing them. T -- Let's not fight disease by killing the patient. -- Sean 'Shaleh' Perry
Jan 18
On Thursday, 18 January 2024 at 20:51:48 UTC, Paul Backus wrote:My intent is not to focus on Adam Ruppe's case specifically, but on the broader pattern that also includes former contributors like Sebastian Wilzbach, Jonathan Marler, ag0aep6g, Suleyman Sahmi (SSoulaimane), etc. When one relationship fails, that's unfortunate. When a long string of relationships fail in the same way, that's a sign of a deeper problem.That's right, what the `community` needs is a constant influx of talent, not a constant outflow. The departure of these people is a `significant loss` for D! This is a major failure in `community management`! If there is continuous loss, then all D users will be victims. Because D's users are victims, having a `better branch` is not a bad thing, and even `more branches` can be established to reduce harm.
Jan 18
On Thursday, 18 January 2024 at 20:51:48 UTC, Paul Backus wrote:Yes, that's certainly true. My intent is not to focus on Adam Ruppe's case specifically, but on the broader pattern that also includes former contributors like Sebastian Wilzbach, Jonathan Marler, ag0aep6g, Suleyman Sahmi (SSoulaimane), etc. When one relationship fails, that's unfortunate. When a long string of relationships fail in the same way, that's a sign of a deeper problem. Even if we grant that there was nothing more to be done in Adam's case, I think D's approach to contributor relationships is leaving a lot of value on the table.I get the impression that these kinds of problems are more of a rule than an exception in succesful open-source projects though (by succesful I mean attracting dozens of contributors or more). Looking at the lobse.rs discussion Guillaume posted, Hacker news discussion about OpenD and considering what you hear about say Linus Torvalds or Theo de Raadt, strong enthusiasm to contribute seems to go hand in hand with a strong personality. I think keeping those kinds of contributors is simply hard. It might not be that hard for an average Joe were he leading, but I suspect the same qualities that make language creators succesful in the first place tend to make good leadership in these cases hard for them. I don't think D leadership is doing particulary badly - otherwise they would be developing the compiler alone by now. But sure it's still a critical thing that might well determine the future between stagnation and an explosion in popularity. Therefore you're right we ought to pay attention to it, however understandable the problems are.
Jan 19
On Friday, 19 January 2024 at 09:50:06 UTC, Dukc wrote:On Thursday, 18 January 2024 at 20:51:48 UTC, Paul Backus wrote:Again I agree with you. Another obvious factor that makes open-source projects difficult to manage is that people are contributing voluntarily. Their livelihood doesn't depend on toeing the line, as it frequently does in paid employment. *And* they have access to the source code. So when personal styles clash, as I think was the case here, it's much easier for things like we've just seen with this project to happen. I have personal experience with de Raadt (not good) and have used OpenBSD on and off for years. OpenBSD is absolutely a cult of personality, exactly as you said. But it takes a particular kind of personality to be willing to drink the de Raadt Kool-Aid. And recall that OpenBSD is a fork of NetBSD, the result of some particularly nasty circumstances. So I think the right way forward is to learn what can be learned from this kerfuffle, but don't over-react to it. You certainly want to try to retain someone like Adam, talented and volatile, but sometimes it's just not possible. C'est la vie.Yes, that's certainly true. My intent is not to focus on Adam Ruppe's case specifically, but on the broader pattern that also includes former contributors like Sebastian Wilzbach, Jonathan Marler, ag0aep6g, Suleyman Sahmi (SSoulaimane), etc. When one relationship fails, that's unfortunate. When a long string of relationships fail in the same way, that's a sign of a deeper problem. Even if we grant that there was nothing more to be done in Adam's case, I think D's approach to contributor relationships is leaving a lot of value on the table.I get the impression that these kinds of problems are more of a rule than an exception in succesful open-source projects though (by succesful I mean attracting dozens of contributors or more). Looking at the lobse.rs discussion Guillaume posted, Hacker news discussion about OpenD and considering what you hear about say Linus Torvalds or Theo de Raadt, strong enthusiasm to contribute seems to go hand in hand with a strong personality. I think keeping those kinds of contributors is simply hard. It might not be that hard for an average Joe were he leading, but I suspect the same qualities that make language creators succesful in the first place tend to make good leadership in these cases hard for them. I don't think D leadership is doing particulary badly - otherwise they would be developing the compiler alone by now. But sure it's still a critical thing that might well determine the future between stagnation and an explosion in popularity. Therefore you're right we ought to pay attention to it, however understandable the problems are.
Jan 19
On Friday, 19 January 2024 at 15:01:21 UTC, Don Allen wrote:On Friday, 19 January 2024 at 09:50:06 UTC, Dukc wrote:I should add that I no longer use OpenBSD and will not, because de Raadt, brilliant though he is, is a nasty piece of work and his followers have, in many cases, taken on some of his personality characteristics. This is an example of organizations tending to behave like their leaders. I refuse to subject myself to that kind of aberrant behavior. The software is good but not good enough to put up with that. Walter sets a very different tone for this project and I value that. The man behaves like a gentleman. Of course he's imperfect, just like the rest of us. But he tries to improve upon the imperfections. de Raadt? His way or the highway and that will never change.On Thursday, 18 January 2024 at 20:51:48 UTC, Paul Backus wrote:Again I agree with you. Another obvious factor that makes open-source projects difficult to manage is that people are contributing voluntarily. Their livelihood doesn't depend on toeing the line, as it frequently does in paid employment. *And* they have access to the source code. So when personal styles clash, as I think was the case here, it's much easier for things like we've just seen with this project to happen. I have personal experience with de Raadt (not good) and have used OpenBSD on and off for years. OpenBSD is absolutely a cult of personality, exactly as you said. But it takes a particular kind of personality to be willing to drink the de Raadt Kool-Aid. And recall that OpenBSD is a fork of NetBSD, the result of some particularly nasty circumstances. So I think the right way forward is to learn what can be learned from this kerfuffle, but don't over-react to it. You certainly want to try to retain someone like Adam, talented and volatile, but sometimes it's just not possible. C'est la vie.Yes, that's certainly true. My intent is not to focus on Adam Ruppe's case specifically, but on the broader pattern that also includes former contributors like Sebastian Wilzbach, Jonathan Marler, ag0aep6g, Suleyman Sahmi (SSoulaimane), etc. When one relationship fails, that's unfortunate. When a long string of relationships fail in the same way, that's a sign of a deeper problem. Even if we grant that there was nothing more to be done in Adam's case, I think D's approach to contributor relationships is leaving a lot of value on the table.I get the impression that these kinds of problems are more of a rule than an exception in succesful open-source projects though (by succesful I mean attracting dozens of contributors or more). Looking at the lobse.rs discussion Guillaume posted, Hacker news discussion about OpenD and considering what you hear about say Linus Torvalds or Theo de Raadt, strong enthusiasm to contribute seems to go hand in hand with a strong personality. I think keeping those kinds of contributors is simply hard. It might not be that hard for an average Joe were he leading, but I suspect the same qualities that make language creators succesful in the first place tend to make good leadership in these cases hard for them. I don't think D leadership is doing particulary badly - otherwise they would be developing the compiler alone by now. But sure it's still a critical thing that might well determine the future between stagnation and an explosion in popularity. Therefore you're right we ought to pay attention to it, however understandable the problems are.
Jan 19
On 1/19/2024 7:46 AM, Don Allen wrote:Walter sets a very different tone for this project and I value that. The man behaves like a gentleman. Of course he's imperfect, just like the rest of us. But he tries to improve upon the imperfections. de Raadt? His way or the highway and that will never change.I do agree that the tone of any organization flows down from the top, so it's up to me to lead by example. The other thing I've tried to do, perhaps with more success, is to emulate the honor system used at Caltech when I attended it. I enjoyed it and appreciated it very much as a student. It's unique to Caltech (other universities have honor systems, but with "adjustments"), and it's what made Caltech into a top shelf institution. In the years that followed, Caltech added more conditions and complexities to it, to its detriment. The original (from memory) was simple and straightforward: "No member shall take unfair advantage of any other member." It had far reaching consequences. For example, exams were unproctored, take-home, with time limits. Nobody would know if you cheated or not. It was entirely up to one's honor. Of course, there were cases of cheating. But it was never organized cheating. The students liked the honor system, and would ostracize anyone who took advantage of it. This was why organized cheating never happened. Cheating was a shameful thing one did in a closet, not something one bragged about getting away with. Nor was theft an issue, people would leave their dorm rooms unlocked. The only thefts I heard of were from outsiders who wandered into the dorm. The other interesting result of that is the professors and students became collaborators rather than adversaries. I've never made any explicit mention of this with the DLF, but it's the way we operate. To my great satisfaction, the DLF members adhere to it. It's really marvelous. For example, at our DLF conferences, nobody worries about leaving their possessions laying around. But we did have an incident at the last DLF where a couple laptops were stolen. Unsurprising to me, the culprit turned out to be a person who wandered in off the street, not one of our attendees. Our response for the next DConf is to hire a security person to gate keep at the door.
Jan 19
On 20/01/2024 6:48 AM, Walter Bright wrote:I do agree that the tone of any organization flows down from the top, so it's up to me to lead by example.I mentioned about this to Atila in another post. But I am hoping that he will continue to drop in on Discord to check for pings on a regular basis moving forward. Ideally you too. Why? Your email has been down for a while and I'm currently waiting on you to reply to a ping on GH. Having leaders where the people are shows that you care, and want to be needed in that way. As Mike said, the us vs them mentality has to go, and this could help to do it. There are other things but I'll let Adam Wilson talk about it.
Jan 19
I get a constant stream of requests for attention. There's only so much I can respond to. Adding another source will likely just make me less productive.
Jan 19
On 20/01/2024 7:52 AM, Walter Bright wrote:I get a constant stream of requests for attention. There's only so much I can respond to. Adding another source will likely just make me less productive.I can certainly understand that. But all of these giant drama threads are already doing that, not to mention the loss of productivity of others. That's the problem with leadership, you have to delegate, you can't do everything yourself.
Jan 19
On Friday, 19 January 2024 at 18:56:52 UTC, Richard (Rikki) Andrew Cattermole wrote:On 20/01/2024 7:52 AM, Walter Bright wrote:i thought this was the definition of open source software, you can do things without needing a leader. Can't community discuss about things without leader, if leader declines it (which is unlikely if most of the people actually want it), then you can always fork.I get a constant stream of requests for attention. There's only so much I can respond to. Adding another source will likely just make me less productive.I can certainly understand that. But all of these giant drama threads are already doing that, not to mention the loss of productivity of others. That's the problem with leadership, you have to delegate, you can't do everything yourself.
Jan 19
On 20/01/2024 8:39 AM, Hors wrote:On Friday, 19 January 2024 at 18:56:52 UTC, Richard (Rikki) Andrew Cattermole wrote:Yes, but you have missed the very important point. He hasn't got the time to see something to decline it. It is the old worker vs leader conflict. People don't have the time to perform both roles at full capability. Trying to keep both at full result in doing neither well. Not a good thing.On 20/01/2024 7:52 AM, Walter Bright wrote:i thought this was the definition of open source software, you can do things without needing a leader. Can't community discuss about things without leader, if leader declines it (which is unlikely if most of the people actually want it), then you can always fork.I get a constant stream of requests for attention. There's only so much I can respond to. Adding another source will likely just make me less productive.I can certainly understand that. But all of these giant drama threads are already doing that, not to mention the loss of productivity of others. That's the problem with leadership, you have to delegate, you can't do everything yourself.
Jan 19
On Fri, Jan 20, 2024 at 07:39:07PM +0000, Hors via Digitalmars-d wrote: [...]i thought this was the definition of open source software, you can do things without needing a leader. Can't community discuss about things without leader, if leader declines it (which is unlikely if most of the people actually want it), then you can always fork.Don't confuse the *license* of the software (license gives you the right to access and modify the source code) with the *development methodology* of the software (community decides what features to implement vs. leader makes final decision vs. anything in-between). D has always been closer to the closed development model where Walter has final say over what goes in and what doesn't. Not quite as closed as Lua (devs don't even grant access to the code repo, you only get the code snapshot at release time, they may or may not listen to community feedback and are not obligated to explain why), but still pretty near the closed end of the spectrum than your average open source project where the community's voice plays a bigger role. However, in spite of what the open source / open development model propagandists may say, it remains an open question which end of the spectrum (or whether the exact middle) is more effective. Having a BDFL can help move things along when the community is split over some controversial decision, and he can also ensure the big picture is not lost in the forest of immediate decisions. OTOH having everything go through one person has serious bottleneck issues and adversity issues (when the community at large disagrees with the leader's decision). There are pros and cons whichever way you take. I have my opinion on where on the spectrum things are more ideal, but it's not possible to know for sure without actually doing it. It's not an easy issue. T -- Notwithstanding the eloquent discontent that you have just respectfully expressed at length against my verbal capabilities, I am afraid that I must unfortunately bring it to your attention that I am, in fact, NOT verbose.
Jan 19
On Friday, 19 January 2024 at 20:22:07 UTC, H. S. Teoh wrote:D has always been closer to the closed development model where Walter has final say over what goes in and what doesn't. Not quite as closed as Lua (devs don't even grant access to the code repo, you only get the code snapshot at release time, they may or may not listen to community feedback and are not obligated to explain why), but still pretty near the closed end of the spectrum than your average open source project where the community's voice plays a bigger role.This is a bit far. Development of the compiler and the libraries are very open. In as far as Phobos (and to a great extent druntime) is concerned, Walter is not even involved. 3rd party projects that are essential to D's ecosystem are not actually even owned by DLF, but are still considered critical infrastructure. Adding *features to the language* is a different story. It is very easy to "just add this new thing" without thinking about the far-reaching consequences. That will lead to a disaster IMO. I'm actually glad that DIP1036 (not the most latest thing, which was a modified version) did not just make it in on the first round, and we worked through the debates and came to 1036e. I've had other features that I invented that got added which are less than ideal and hard to correct (inout for instance). I think D has done pretty well with Walter at the helm, and I'm not convinced the alternative would have been better. I don't want to make excuses, because I know what it's like to be on the receiving end of dismissal (it's one of the reasons I really don't try to make any sweeping changes to Phobos any more), but I think the current leadership situation is fixable, and we are better off trying to fix it than seceding.There are pros and cons whichever way you take. I have my opinion on where on the spectrum things are more ideal, but it's not possible to know for sure without actually doing it. It's not an easy issue.I would expect most open source to be designed and modified with one person or a small team at the top dictating what is OK and what is not, with many others who are trusted contributors. D is not any different. -Steve
Jan 19
On 1/19/2024 10:56 AM, Richard (Rikki) Andrew Cattermole wrote:That's the problem with leadership, you have to delegate, you can't do everything yourself.Then I delegate anyone who uses Discord and thinks an issue there needs to be raised in the n.g., to please do so. And, as always, bug reports go on bugzilla. It's only fair to give priority to bug reports where the bug reporter made an effort to post them there. Bug reports of the form "the latest release broke my code!" with no further elucidation are completely and utterly useless. There is nothing I nor anyone else can do about them.
Jan 19
On Friday, 19 January 2024 at 18:52:15 UTC, Walter Bright wrote:I get a constant stream of requests for attention. There's only so much I can respond to. Adding another source will likely just make me less productive.In Linux world, the leads just review and merge. It is difficult to both be the main compiler developer and also the project lead who must review PRs.
Jan 19
On Monday, 15 January 2024 at 10:11:33 UTC, IGotD- wrote:Is there no bottom how low you can go?Its funny this, as you are the one we should ask this question. Since you don't like it here, why are you here? I don't use D so I am just a bystander, but here is a thought. Try behaving this way over at OpenD and see how open people are.
Jan 16
On Monday, 15 January 2024 at 09:46:11 UTC, Atila Neves wrote:We hope that in time the contributors to OpenD will decide to lend their time instead to the D language.One might argue that's what they're doing. D doesn't have the tools in place for the language to evolve or for most people to productively contribute. Rather than arguing for months about things that in the end never get done, code can be added to OpenD and we can see what does and doesn't work.
Jan 15
On Monday, 15 January 2024 at 09:46:11 UTC, Atila Neves wrote:As seen on this very same forum / mailing list, some of the members of the community have decided to fork D over disagreements with how things are being run.I was very disappointed to read the whole post and find that the promised elephant was nowhere to be found. The idiom generally means "something huge and obvious that everyone is tiptoeing around as if it doesn't exist ". On contrary it's all been talked about top to bottom, endlessly. I had hope for some juicy diversion from the endless talk of string interpolation, sliding whatnots and forks up the proverbial... But alas I will have find that elsewhere. Top marks for click-baity title though!
Jan 15
On Monday, 15 January 2024 at 09:46:11 UTC, Atila Neves wrote:As seen on this very same forum / mailing list, some of the members of the community have decided to fork D over disagreements with how things are being run.People still make references to Tango vs Phobos, which happened years before I even heard of D. I suspect people will be using this current disagreement as an excuse to touch neither for some time. Rightly or wrongly.
Jan 16
On Monday, 15 January 2024 at 09:46:11 UTC, Atila Neves wrote:We hope that in time the contributors to OpenD will decide to lend their time instead to the D language.maybe dlang should embrace closedness [1] and actually encourage language forks benefit - it will save everyone's time. dlang org spends energy making a great language for their customers, dlang staff don't spend time on N.G. - zero expectation. language contributors will know upfront they should spend time on their own thing. con - community fragmentation - not an issue, those who quit are lost forever anyways. [1] https://lua.org/faq.html#1.8 https://lua.org/faq.html#1.9 http://lua-users.org/lists/lua-l/2008-06/msg00407.html
Jan 19