digitalmars.D - Is there an intention to 'finish' D2?
- Abdulhaq (6/6) Nov 16 2021 Is there a set of features that, when fully working, will mean
- zjh (2/3) Nov 16 2021 There are too few major developers.
- bauss (3/9) Nov 16 2021 No, but mark my words there will be 15 new attributes before any
- Paulo Pinto (3/9) Nov 16 2021 As the ongoing threads to reboot the language memory model prove,
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (3/6) Nov 16 2021 Maybe, but D doesn't really have a memory model. So it is more
- Imperatorn (6/12) Nov 16 2021 Time will tell.
- Abdulhaq (37/43) Nov 18 2021 I have a feeling that half the people in this forum are thinking
- FeepingCreature (127/217) Nov 18 2021 Disclaimer: Despite saying 'we' a few times, I do *not* speak for
- FeepingCreature (5/6) Nov 18 2021 Er, please ignore the top part of that, somehow I got a previous
- Abdulhaq (25/43) Nov 18 2021 Thanks for your detailed reply! It provides a useful counterpoint.
- FeepingCreature (7/28) Nov 18 2021 Yeah that makes sense. I think this is more an issue with General
- Abdulhaq (14/20) Nov 18 2021 Well it's great that they are doing that, but ATM the number of
- FeepingCreature (19/28) Nov 18 2021 I mean, I guess the answer for us is that we just don't need any
- Abdulhaq (16/32) Nov 18 2021 This answer has improved my understanding of where D is at, thank
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (5/12) Nov 18 2021 I dont think having many users that have no real interest in the
- Abdulhaq (11/19) Nov 18 2021 I don't understand you, no-one will pick up D if they have no
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (29/38) Nov 18 2021 No, I didn't mean you. Nothing wrong with commercial developers
- Abdulhaq (4/7) Nov 18 2021 Yes, and yes.... but it's worth laying it out so that it is more
- forkit (14/17) Nov 20 2021 Yes, this certainly appears to be the case.
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (17/24) Nov 22 2021 It wasn't a mistake for C++ to be compatible with C, but their
- forkit (17/19) Nov 22 2021 For the time, perhaps not. But in hindsight, all C++ did, was to
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (20/32) Nov 22 2021 Yes. Bjarne Stroustrup missed the modelling features of Simula
- forkit (4/6) Nov 22 2021 Creativity and 'disciplined planning' don't combine well .. and
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (3/10) Nov 22 2021 I don't necessarily agree. Regardless, PL design is 5% creativity
- forkit (15/26) Nov 22 2021 Plenty of psychologists would disagree, with your disagreement.
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (6/9) Nov 22 2021 Architects don’t exist?
- user1234 (10/13) Nov 18 2021 (Assuming you talk about D2 new features compared to D1)
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (20/26) Nov 18 2021 I don't think DIPs constitute a method. It also doesn't work all
- user1234 (5/27) Nov 20 2021 In the sense that a DIP is a specification, the way to implement
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (10/14) Nov 21 2021 I think I understand what you mean.
- Adam D Ruppe (10/12) Nov 18 2021 The truth is really we're in the most stagnant part of D's
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (9/11) Nov 18 2021 Well, IIRC, the old D1 website made a point of D1 being a
- Adam D Ruppe (16/20) Nov 18 2021 D1 has templates its entire life. Remember, D1 was created just a
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (15/21) Nov 18 2021 Ok. Call it D1+ then.
- Paolo Invernizzi (5/24) Nov 18 2021 Adam is right, D2 big shift was all about const/immutable for
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (16/19) Nov 18 2021 That is probably technically correct. I've always used D1 to
- Paolo Invernizzi (16/36) Nov 18 2021 I'm here since a LONG time [1] and at that time pre D1 was
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (18/30) Nov 18 2021 Aye, I didn't look at the forums when I used D first. I am more
- forkit (4/8) Nov 18 2021 This is why D needs a new motto. I mean, one that actually
- H. S. Teoh (8/17) Nov 18 2021 [...]
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (3/12) Nov 18 2021 I vote for:
- Imperatorn (2/11) Nov 18 2021 I vote for that "From prototype to production"
- Guillaume Piolat (6/12) Nov 18 2021 What is an example of a successful language that would stop
- H. S. Teoh (8/22) Nov 18 2021 Even C has not stopped evolving. And C++. Why should we stop now? The
- bachmeier (8/10) Nov 18 2021 I am not convinced D has figured out how to evolve. More
- H. S. Teoh (14/26) Nov 18 2021 That depends. It's good in the sense that code I have today will likely
- Adam D Ruppe (3/5) Nov 18 2021 It's that or we fork the language and seize control then just
- H. S. Teoh (10/16) Nov 18 2021 I have to say, the thought has crossed my mind a few times. Only thing
- Paolo Invernizzi (19/35) Nov 18 2021 Dlang is not alone [1], but at least Evan has strong motivations
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (6/10) Nov 18 2021 Simplicity is good, but don't throw out the baby with the
- bachmeier (12/23) Nov 18 2021 Yes, that is my hope. An updated Phobos would change the culture
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (12/19) Nov 18 2021 The experiments I did last year with a LDC fork convinced me that
- Adam D Ruppe (13/23) Nov 18 2021 Think of a fork not as a competing company, but rather as a labor
- H. S. Teoh (9/19) Nov 18 2021 [...]
- Adam D Ruppe (53/56) Nov 18 2021 The bourgeois class.
- forkit (7/13) Nov 18 2021 A steering group needs members who are permanent, and members who
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (8/17) Nov 19 2021 You need representation (diversity) otherwise you will end up
- FeepingCreature (4/6) Nov 19 2021 (To be fair, look up design by committee and analysis paralysis
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (5/11) Nov 19 2021 "Analysis paralysis" in PL design is a sign that the chosen
- Adam D Ruppe (6/8) Nov 19 2021 No one pretends that democracy is perfect or all-wise. Indeed it
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (6/14) Nov 19 2021 I wish you well with your democratic endeavour. It will be
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (16/24) Nov 19 2021 Also, if you haven't already read this book, consider borrowing
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/8) Nov 18 2021 I'll never understand why people put any emphasis on Phobos!
- Abdulhaq (7/29) Nov 18 2021 I'm not suggesting, as I made explicitly clear in a previous
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (8/10) Nov 18 2021 I think it is a more fair question to ask for an example of a
- Abdulhaq (12/25) Nov 18 2021 I specifically explained in a follow-up post, previous to yours,
- Guillaume Piolat (10/12) Nov 19 2021 _Doing things with D_ help lift the number of users.
- zjh (5/9) Nov 19 2021 We should collect criticism,
- zjh (6/7) Nov 19 2021 `Posts` should also be classified.
- jmh530 (5/14) Nov 19 2021 Yeah, I wouldn't want the forums to be a place like "we do not
- zjh (5/9) Nov 19 2021 D should make good use of the forum.
- Paul Backus (6/22) Nov 19 2021 Part of the problem here, I think, is that people are more
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (15/20) Nov 19 2021 Actually, the *biggest* problem for the decision makers of D is
- BoraxMan (27/48) Nov 26 2021 Another "silent majority" here. I do some hobby programming, and
- rikki cattermole (2/8) Nov 26 2021 It is completely out of date.
- bachmeier (4/13) Nov 26 2021 Yeah, it's dated 2010 and the package requires tango, so just a
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (39/44) Nov 19 2021 D has enough users, but I project most of them are like Abdulhaq
- Max Samukha (4/7) Nov 19 2021 They are also highly subjetive and context-dependent. I find "@"
- Max Samukha (2/10) Nov 19 2021 *subjective
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/12) Nov 19 2021 Yes, this is where usability studies with real programmers can
- Guillaume Piolat (9/9) Nov 19 2021 Nim forums are moderated: https://forum.nim-lang.org/
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (30/32) Nov 19 2021 The best moderation is done by moderators that are actively
- Tejas (4/12) Nov 19 2021 Maybe you just have to wait until Dconf can be held physically
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (17/19) Nov 20 2021 Maybe, but I don't think those that go to conferences represent
- zjh (4/4) Nov 20 2021 On Saturday, 20 November 2021 at 10:49:08 UTC, Ola Fosheim
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (19/20) Nov 20 2021 Yes, if D ranks its own problems on a list and give them high
- zjh (8/8) Nov 20 2021 On Saturday, 20 November 2021 at 12:06:35 UTC, Ola Fosheim
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (5/13) Nov 20 2021 Yes, but you should not expect it to change soon. That will make
- zjh (8/10) Nov 20 2021 what D needed is `reasonable organization`.
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (10/15) Nov 20 2021 Yes, I am sure that everyone would be very happy if you wrote
- zjh (3/4) Nov 20 2021 Me too.
- workman (18/36) Nov 20 2021 I agree with your option.
- Imperatorn (4/9) Nov 20 2021 If Rust didn't suck for productivity I would use it. I look at
- workman (18/21) Nov 20 2021 Compare (https://github.com/trending/rust
- Imperatorn (4/11) Nov 20 2021 Sure.
- workman (3/6) Nov 20 2021 I am not sure how to quantify productivity, maybe D has more
- Imperatorn (3/11) Nov 20 2021 I measure productivity as the number of seconds it takes to get
- Dukc (12/15) Nov 20 2021 My personal story, might be a bit incidential though: I applied
- workman (3/6) Nov 20 2021 TiDB is a few people build with Go and Rust few years ago, worth
- claptrap (3/16) Nov 20 2021 I think most people ignore your posts mate.
- Guillaume Piolat (8/11) Nov 20 2021 Non-sequitur.
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (7/11) Nov 21 2021 I am of course not a representative of the general D programmer.
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (14/23) Nov 21 2021 In case I was unclear:
- Dukc (16/23) Nov 21 2021 Sure, forums don't filter out people who aren't already committed
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (52/62) Nov 21 2021 Absolutely. I agree. You cannot take their anger in itself as a
- Dukc (11/25) Nov 24 2021 So you do agree that forum complaining often does not correlate
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (10/15) Nov 24 2021 You are assuming too much now. The complaining do correlate to D
- forkit (4/8) Nov 24 2021 Yes, precisely. This is how you put some controls on creativity.
- Dukc (15/37) Nov 24 2021 The assumption here appears to be that since the people we're
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (21/32) Nov 24 2021 I think this overstating the issue.
- Dukc (14/32) Nov 25 2021 And the issue is, how do we know what REALLY makes then
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/9) Nov 25 2021 They are both wrong. This is how big companies fold. IBM. SGI.
- Paulo Pinto (5/11) Nov 25 2021 The irony to see IBM on the list, given how much they move around
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (6/9) Nov 25 2021 They were forced to change their business model, because they did
- Paulo Pinto (6/17) Nov 25 2021 Except Apple and IBM are around and quite relevant in this
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/6) Nov 25 2021 They are around, but missed the mark for a long time because they
- Dukc (9/15) Nov 26 2021 I'm definitely far from convinced, but at least this explains why
- Dukc (13/16) Nov 26 2021 Perhaps I used a bad word there. My point was that you're
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (18/29) Nov 26 2021 I think I've said that one should listen to what issues people
- Tejas (4/13) Nov 19 2021 That Nim moderation thread... That one guy is a little too
- jmh530 (4/13) Nov 22 2021 Hacker news reporting all of Rust's mods just resigned.
- Imperatorn (3/18) Nov 22 2021 Yeah just saw that drama. I wonder what that's all about
- bachmeier (3/23) Nov 22 2021 Prediction: It's the same stuff all large projects and
- Imperatorn (2/17) Nov 22 2021 What is it they encounter?
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (3/4) Nov 22 2021 Disagreements about direction, and personal conflicts in the core
- Imperatorn (4/8) Nov 22 2021 I understand, I was more curious of what exactly
- forkit (7/16) Nov 22 2021 No. But it's clearly related to 'the moderators' trying (and
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (2/3) Nov 22 2021 They did. They fired themselves.
- zjh (2/3) Nov 22 2021 Big news.Probably a dictatorship.
- Abdulhaq (26/38) Nov 19 2021 Sorry but you've totally misunderstood me. I hate bullying and I
- Imperatorn (3/14) Nov 19 2021 It's not about you, but the pattern.
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (11/12) Nov 19 2021 The pattern is the result of not having a software development
- Abdulhaq (2/18) Nov 19 2021 Yes I understand.
- Guillaume Piolat (3/5) Nov 19 2021 I'm not specifically talking about you, or your posts, or this
- Imperatorn (3/15) Nov 19 2021 +1
- Patrick Schluter (3/15) Nov 19 2021 Amen. This is exactly what happens here.
- Paolo Invernizzi (4/22) Nov 19 2021 You are really sure about that?
- Walter Bright (2/8) Nov 18 2021 No software development is ever done as long as people are still using i...
- Abdulhaq (11/21) Nov 19 2021 That's true, of course. What I mean is, nail all those boring
- Mike Parker (13/15) Nov 19 2021 I recommend you watch Atila's upcoming DConf Online talk:
- Abdulhaq (3/7) Nov 19 2021 Thanks Mike, I will certainly do that. I do enjoy the DConf
- IGotD- (2/8) Nov 24 2021 I'd say lets not finish it and start on D3 instead.
- forkit (8/10) Nov 24 2021 No. D2 needs to first come to a design halt. It seems far from
- Greg Strong (15/26) Nov 24 2021 Agreed. I think we *need* a stable D2 before we can hope for
- zjh (5/6) Nov 24 2021 D's vision can be summed up as `better, faster, safer and more
- forkit (6/13) Nov 24 2021 better than what? (than shooting yourself in the foot?)
- zjh (3/4) Nov 24 2021 D just needs to be `faster, safer, more elegant, better` than `D`
- forkit (5/12) Nov 24 2021 The vision, as I see it (at the moment), can be summed up like
- zjh (4/8) Nov 24 2021 How is `D++` bad?
- forkit (12/20) Nov 24 2021 My concern is that a D++ will for 'compatability reasons' bring
- zjh (10/11) Nov 24 2021 `C++`, so complicated, but so what? Complexity is left to the
- forkit (6/17) Nov 24 2021 Yes, I agree. Complexity is not inherently bad.
- zjh (9/11) Nov 24 2021 You're right. I also hope D can `reasonably arrange and organize`
- zjh (2/5) Nov 24 2021 That is an ideal, not a reality.
- forkit (3/9) Nov 24 2021 no. it's a reality.
Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?
Nov 16 2021
On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:timescale for that? What platforms will it support?There are too few major developers.
Nov 16 2021
On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?No, but mark my words there will be 15 new attributes before any of it is finished.
Nov 16 2021
On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?As the ongoing threads to reboot the language memory model prove, it is doomed to be in a state of ongoing feature development.
Nov 16 2021
On Tuesday, 16 November 2021 at 12:25:19 UTC, Paulo Pinto wrote:As the ongoing threads to reboot the language memory model prove, it is doomed to be in a state of ongoing feature development.Maybe, but D doesn't really have a memory model. So it is more about getting one than rebooting…
Nov 16 2021
On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?Time will tell. Currently pretty much is happening and with the stdv2 etc. So my sense it that D2 will be in pretty stable soon. And I don't know if the stdv2 will in the long run enable D3 or not but it's interesting that we're starting at least.
Nov 16 2021
On Tuesday, 16 November 2021 at 13:18:54 UTC, Imperatorn wrote:On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development?Time will tell.I have a feeling that half the people in this forum are thinking 'Are you trolling me, D2 was finished a decade ago', and the other half are thinking it's a non-question. Allow me to elaborate. I'm an occasional user of D since may years ago, a D supporter. I'd love to see it become more well known and used. I have now reached a stage in my career where I have a significant influence on what languages are being used in a commercial environment - and sometimes for large corporates. I understand what it takes to make a large commercial application succeed, to be maintainable, to have a sustainable future. With that user base in mind, probably the largest constituency of developers that D could hope to reach, there are some requirements, that I see D currently falling down on. I've just been an observer of D for the last few years but that is the case for nearly everyone in my position. I'm waiting for these major DIPs and -preview this and that to settle back down to Earth. I don't want to be having to work around **any** half baked features, I don't have time. E.g. I want it to be clearly defined how to implement and use ranges (from an observers POV it feels like this question has never been properly answered, I asked it many years ago and still it seems to be in motion). 'Finishing' D2 doesn't mean that feature development stops. It means that the community makes a concerted attempt to make **everything** work well that is claimed to work well, at least make it work to a spec. Pin this fully working feature set to a named long term supported version. It feels to this observer that there is not even a known list of features that will one day work fully, and on which platforms that will be done for. Until that is the case, I cannot base my plans on D in a commercial environment. I believe that Walter et al. don't think that the user base I am talking about, corporate application developers, are their target audience. They have some other 'system' developers in mind. That's fine with me! This post simply serves to point out to the rest of the community why this particular group remain waiting in the wings.
Nov 18 2021
On Thursday, 18 November 2021 at 08:44:57 UTC, Abdulhaq wrote:On Tuesday, 16 November 2021 at 13:18:54 UTC, Imperatorn wrote:Disclaimer: Despite saying 'we' a few times, I do *not* speak for Funkwerk. All opinions are my own. Offering a different take, that may be compatible with yours: At Funkwerk, we use D in production, doing high-throughput backend work. (By cycle mostly JSON encoding/decoding, to be honest.) I want to be clear that if we ever switch to another language, it will almost certainly *not* be because D changes too fast or is too unstable, but because it changes too *slow* and is too set in its ways. Barring breaking issues, we roll out compiler updates maybe every three major versions or so. This then takes a few months to propagate through all our services. However, especially in the last few versions, we've rarely had regression issues from DMD upgrades. I'd estimate the time spent on reporting or fixing compiler regressions as one or two developer-weeks in total across, uh, *checks* ~400kloc just for services that are at DMD 2.09*, ie. reasonably recent and actively maintained. Time to get rid of deprecations is about that high again. In comparison, whenever we stumble on a novel compiler bug, that eats away another half-day or so from dustmiting. And it's not like we don't use the language to its fullest - as pointed out in previous dconfs, we use ranges very heavily (almost to the exclusion of imperative code) to enable a functional style, and boilerplate/serialized on github demonstrate that we aren't afraid of templates either. And yet, every time we upgrade, we maybe get a few instances of deprecations per service, that are easily fixed (maybe that we even pushed for), a few instances of regressions across the entire codebase, usually resulting in compile errors, extremely rarely in code errors, and not much change otherwise. However, there is also time taken to work around language deficiencies. This is mostly not a big issue, and it's hard to quantify, but purely as a feeling I wouldn't put it as much lower than the previous issues. And there are things that should work but that we don't even attempt anymore, or only with great trepidation, such as marking data structures as immutable, due to language limitations with reassignment. (At least I got rebindable deployed internally, fingers crossed.) I once said to a colleague that the process of learning D consists almost entirely, by time, of what *not* to do - what sort of things the language is happy about, what it only lets you get away with grudgingly, and what it will punish you for. Though some of the most severe gotchas have gotten fixed, I stand by this still. All our issues with the language are documented and well-known in the community. D is efficient and we're all comfortable with it, but it's not like we're married to it; our microservice architecture does allow us to experiment with different frameworks for service development. As such, if we ever switch away from D, it will be because we've found something better - ie. because D was moving too slow to keep up with language improvements, not because it was moving so fast that it overwhelmed us. At present, I do not see that as a credible risk.On Thursday, 18 November 2021 at 08:44:57 UTC, Abdulhaq wrote:On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development?Time will tell.I have a feeling that half the people in this forum are thinking 'Are you trolling me, D2 was finished a decade ago', and the other half are thinking it's a non-question. Allow me to elaborate. I'm an occasional user of D since may years ago, a D supporter. I'd love to see it become more well known and used. I have now reached a stage in my career where I have a significant influence on what languages are being used in a commercial environment - and sometimes for large corporates. I understand what it takes to make a large commercial application succeed, to be maintainable, to have a sustainable future. With that user base in mind, probably the largest constituency of developers that D could hope to reach, there are some requirements, that I see D currently falling down on. I've just been an observer of D for the last few years but that is the case for nearly everyone in my position. I'm waiting for these major DIPs and -preview this and that to settle back down to Earth. I don't want to be having to work around **any** half baked features, I don't have time. E.g. I want it to be clearly defined how to implement and use ranges (from an observers POV it feels like this question has never been properly answered, I asked it many years ago and still it seems to be in motion). 'Finishing' D2 doesn't mean that feature development stops. It means that the community makes a concerted attempt to make **everything** work well that is claimed to work well, at least make it work to a spec. Pin this fully working feature set to a named long term supported version. It feels to this observer that there is not even a known list of features that will one day work fully, and on which platforms that will be done for. Until that is the case, I cannot base my plans on D in a commercial environment. I believe that Walter et al. don't think that the user base I am talking about, corporate application developers, are their target audience. They have some other 'system' developers in mind. That's fine with me! This post simply serves to point out to the rest of the community why this particular group remain waiting in the wings.On Tuesday, 16 November 2021 at 13:18:54 UTC, Imperatorn wrote:Offering a different take, that may be compatible with yours: At Funkwerk, we use D in production, doing high-throughput backend work. (By cycle mostly JSON encoding/decoding, to be honest.) I want to be clear that if we ever switch to another language, it will almost certainly *not* be because D changes too fast or is too unstable, but because it changes too *slow* and is too set in its ways. Barring breaking issues, we roll out compiler updates maybe every three major versions or so. This then takes a few months to propagate through all our services. However, especially in the last few versions, we've rarely had regression issues from DMD upgrades. I'd estimate the time spent on reporting or fixing compiler regressions as one or two developer-weeks in total across, uh, *checks* ~400kloc just for services that are at DMD 2.09*, ie. reasonably recent and actively maintained. Time to get rid of deprecations is about that high again. In comparison, whenever we stumble on a novel compiler bug, that eats away another half-day or so from dustmiting. And it's not like we don't use the language to its fullest - as pointed out in previous dconfs, we use ranges very heavily (almost to the exclusion of imperative code) to enable a functional style, and boilerplate/serialized on github demonstrate that we aren't afraid of templates either. And yet, every time we upgrade, we maybe get a few instances of deprecations per service, that are easily fixed (maybe that we even pushed for), a few instances of regressions across the entire codebase, usually resulting in compile errors, extremely rarely in code errors, and not much change otherwise. However, there is also time taken to work around language deficiencies. This is mostly not a big issue, and it's hard to quantify, but purely as a feeling I wouldn't put it as much lower than the previous issues. And there are things that should work but that we don't even attempt anymore, or only with great trepidation, such as marking data structures as immutable, due to language limitations with reassignment. (At least I got rebindable deployed internally, fingers crossed.) I once said to a colleague that the process of learning D consists almost entirely, by time, of what *not* to do - what sort of things the language is happy about, what it only lets you get away with grudgingly, and what it will punish you for. Though some of the most severe gotchas have gotten fixed, I stand by this still. All our issues with the language are documented and well-known in the community. D is efficient and we're all comfortable with it, but it's not like we're married to it; our microservice architecture does allow us to experiment with different frameworks for service development. As such, if we ever switch away from D, it will be because we've found something better - ie. because D was moving too slow to keep up with language improvements, not because it was moving so fast that it overwhelmed us. At present, I do not see that as a credible risk. *On the other hand,* we also don't really use DIP features. I think maybe this is a communications problem. In my experience, the parts of D that are released and have been used for a few major versions tend to be very stable and hard to change. So people see all the cool new things, live, DIP1000, ImportC, and think that the language is still in flux. But the core functionality of the language, ranges, templates, constness etc. is and has been incredibly stable even since D1, so if you just ignore the rapidly mutating fringe you'll get exactly what you want - a stable, even too stable, subset. *On the other hand,* we also don't really use DIP features. I think maybe this is a communications problem. In my experience, the parts of D that are released and have been used for a few major versions tend to be very stable and hard to change. So people see all the cool new things, live, DIP1000, ImportC, and think that the language is still in flux. But the core functionality of the language, ranges, templates, constness etc. is and has been incredibly stable even since D1, so if you just ignore the rapidly mutating fringe you'll get exactly what you want - a stable, even too stable, subset.On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development?Time will tell.I have a feeling that half the people in this forum are thinking 'Are you trolling me, D2 was finished a decade ago', and the other half are thinking it's a non-question. Allow me to elaborate. I'm an occasional user of D since may years ago, a D supporter. I'd love to see it become more well known and used. I have now reached a stage in my career where I have a significant influence on what languages are being used in a commercial environment - and sometimes for large corporates. I understand what it takes to make a large commercial application succeed, to be maintainable, to have a sustainable future. With that user base in mind, probably the largest constituency of developers that D could hope to reach, there are some requirements, that I see D currently falling down on. I've just been an observer of D for the last few years but that is the case for nearly everyone in my position. I'm waiting for these major DIPs and -preview this and that to settle back down to Earth. I don't want to be having to work around **any** half baked features, I don't have time. E.g. I want it to be clearly defined how to implement and use ranges (from an observers POV it feels like this question has never been properly answered, I asked it many years ago and still it seems to be in motion). 'Finishing' D2 doesn't mean that feature development stops. It means that the community makes a concerted attempt to make **everything** work well that is claimed to work well, at least make it work to a spec. Pin this fully working feature set to a named long term supported version. It feels to this observer that there is not even a known list of features that will one day work fully, and on which platforms that will be done for. Until that is the case, I cannot base my plans on D in a commercial environment. I believe that Walter et al. don't think that the user base I am talking about, corporate application developers, are their target audience. They have some other 'system' developers in mind. That's fine with me! This post simply serves to point out to the rest of the community why this particular group remain waiting in the wings.
Nov 18 2021
On Thursday, 18 November 2021 at 09:38:09 UTC, FeepingCreature wrote:Messed up double messageEr, please ignore the top part of that, somehow I got a previous revision of the message copypasted on top. What the heck. Mods, if you delete that I can repost it better?
Nov 18 2021
On Thursday, 18 November 2021 at 09:38:09 UTC, FeepingCreature wrote:On Thursday, 18 November 2021 at 08:44:57 UTC, Abdulhaq wrote:Thanks for your detailed reply! It provides a useful counterpoint.On Tuesday, 16 November 2021 at 13:18:54 UTC, Imperatorn wrote:I once said to a colleague that the process of learning D consists almost entirely, by time, of what *not* to do - what sort of things the language is happy about, what it only lets you get away with grudgingly, and what it will punish you for. Though some of the most severe gotchas have gotten fixed, I stand by this still.This is exactly what I mean by not wanting to learn workarounds. I find battling with 'suprising' behaviour and/or bugs in any development environment extremely frustrating these days. For developers coming fresh to D they have to manage to break through this pain barrier to get to the point of productivity. It's a personal thing of mine but I've just had enough of this particular fight. I just want it to work without needing to pull out what remains of my hair while I learn the foibles and failings of the tool. I suspect that the body of D developers at any one time falls into those who are fairly new and haven't yet faced many frustrations, and those who are now experts and instinctively avoid problem areas. I suspect there is a great deal of 'wastage' i.e. developers leaving, between those two levels. Just a suspicion.*On the other hand,* we also don't really use DIP features. I think maybe this is a communications problem. In my experience, the parts of D that are released and have been used for a few major versions tend to be very stable and hard to change. So people see all the cool new things, live, DIP1000, ImportC, and think that the language is still in flux. But the core functionality of the language, ranges, templates, constness etc. is and has been incredibly stable even since D1, so if you just ignore the rapidly mutating fringe you'll get exactly what you want - a stable, even too stable, subset.Yes, it's likely a communications problem. I don't have the heart or time to come back and try again, so I have to infer the current status of D from the forums. The impression that I have gained, and I suspect the same for other observers, is the one I have recounted. I don't know why I do it, but I read pretty much all the messages in General and have done for many years. This is the impression I have got.
Nov 18 2021
On Thursday, 18 November 2021 at 11:05:12 UTC, Abdulhaq wrote:On Thursday, 18 November 2021 at 09:38:09 UTC, FeepingCreature wrote:Yeah that makes sense. I think this is more an issue with General than the language though; the debate tends to be centered on controversial new features because that's what attracts attention. I think that's part of why the DLF has dedicated feedback talks with industry users, because otherwise it's very easy for that signal to get lost in the noise.*On the other hand,* we also don't really use DIP features. I think maybe this is a communications problem. In my experience, the parts of D that are released and have been used for a few major versions tend to be very stable and hard to change. So people see all the cool new things, live, DIP1000, ImportC, and think that the language is still in flux. But the core functionality of the language, ranges, templates, constness etc. is and has been incredibly stable even since D1, so if you just ignore the rapidly mutating fringe you'll get exactly what you want - a stable, even too stable, subset.Yes, it's likely a communications problem. I don't have the heart or time to come back and try again, so I have to infer the current status of D from the forums. The impression that I have gained, and I suspect the same for other observers, is the one I have recounted. I don't know why I do it, but I read pretty much all the messages in General and have done for many years. This is the impression I have got.
Nov 18 2021
On Thursday, 18 November 2021 at 11:11:20 UTC, FeepingCreature wrote:Yeah that makes sense. I think this is more an issue with General than the language though; the debate tends to be centered on controversial new features because that's what attracts attention. I think that's part of why the DLF has dedicated feedback talks with industry users, because otherwise it's very easy for that signal to get lost in the noise.Well it's great that they are doing that, but ATM the number of corporates using D and attending DLF meetings is tiny compared to the number that could potentially use D but are holding back due to perceived problems. Going back to my original question at the top of the thread, do you have an answer to my questions? Is the answer actually well known but it has slipped me by? I think you're saying it's already polished and done, and features tend to work well. So what about the perennial issues, memory management, DLL support, Android/iOS support? Shared? They keep coming up, do I have to spend a few months digging in to D again to see if my experience is now one of 'it just works' on Windows, Linux, Mac? Mobile?
Nov 18 2021
On Thursday, 18 November 2021 at 11:32:15 UTC, Abdulhaq wrote:Going back to my original question at the top of the thread, do you have an answer to my questions? Is the answer actually well known but it has slipped me by? I think you're saying it's already polished and done, and features tend to work well. So what about the perennial issues, memory management, DLL support, Android/iOS support? Shared? They keep coming up, do I have to spend a few months digging in to D again to see if my experience is now one of 'it just works' on Windows, Linux, Mac? Mobile?I mean, I guess the answer for us is that we just don't need any of those. I don't think D is ready to be used by everyone for every purpose. But I think it's ready to be used by some for some purposes, and has been for a long time. Even by many for many purposes. I think the set of "customers that D is ready for" is badly communicated at the moment, but it is definitely non-empty. (Evidence one.) PS: I concur with the GC. I think this is one case where D majorly falls down, because it advertises as "you don't need to think about memory management" and if you take that seriously, you *will* get punished for it as you scale up input. You can't write D like Java, because D's GC is significantly less forgiving, but this is not communicated anywhere. PPS: 'shared' is one of those features that we've just elected to not touch with a ten foot pole. It does nothing useful for us; I believe I've had rants on the topic. :) Luckily, it's easy to pretend it doesn't exist.
Nov 18 2021
On Thursday, 18 November 2021 at 12:31:43 UTC, FeepingCreature wrote:I don't think D is ready to be used by everyone for every purpose. But I think it's ready to be used by some for some purposes, and has been for a long time. Even by many for many purposes. I think the set of "customers that D is ready for" is badly communicated at the moment, but it is definitely non-empty. (Evidence one.) PS: I concur with the GC. I think this is one case where D majorly falls down, because it advertises as "you don't need to think about memory management" and if you take that seriously, you *will* get punished for it as you scale up input. You can't write D like Java, because D's GC is significantly less forgiving, but this is not communicated anywhere. PPS: 'shared' is one of those features that we've just elected to not touch with a ten foot pole. It does nothing useful for us; I believe I've had rants on the topic. :) Luckily, it's easy to pretend it doesn't exist.This answer has improved my understanding of where D is at, thank you. It's this information that is not coming over loud and clear to me. Personally, I don't have a strong opinion on GC vs nogc etc., etc. I do think that if the community could agree to differ on these issues, state clearly what is fully supported and what platforms it works **excellently** on, and commits to maintain those features on those platforms at that level of excellence, then numbers will pick up faster than they otherwise would. Off the top of my head I'd also even consider making an LTS release that had no preview options. Again just an observer's perspective but it feels like with the various DIPs and previews available that this causes an interoperability problem between libraries. I'm happy to be corrected if that is not the case.
Nov 18 2021
On Thursday, 18 November 2021 at 08:44:57 UTC, Abdulhaq wrote:With that user base in mind, probably the largest constituency of developers that D could hope to reach, there are some requirements, that I see D currently falling down on.I dont think having many users that have no real interest in the language is an advantage at this point, to be honest. It makes changes more difficult.I believe that Walter et al. don't think that the user base I am talking about, corporate application developers, are their target audience. They have some other 'system' developers in mind.I feel the opposite, but I am happy if you are right.
Nov 18 2021
On Thursday, 18 November 2021 at 10:11:46 UTC, Ola Fosheim Grøstad wrote:I dont think having many users that have no real interest in the language is an advantage at this point, to be honest. It makes changes more difficult.I don't understand you, no-one will pick up D if they have no prior interest. I have a lot of interest in using D because of its expressivity, but won't use it in a commercial environment for the reasons given. It's nothing to do with lack of interest.It's very illuminating that the two of us, both long term readers of the forums, have opposite opinions of what Walter thinks regarding the direction he is 'heading' to. It says to me that the direction has not been well communicated - which is perhaps one of my main points.I believe that Walter et al. don't think that the user base I am talking about, corporate application developers, are their target audience. They have some other 'system' developers in mind.I feel the opposite, but I am happy if you are right.
Nov 18 2021
On Thursday, 18 November 2021 at 11:13:05 UTC, Abdulhaq wrote:I don't understand you, no-one will pick up D if they have no prior interest. I have a lot of interest in using D because of its expressivity, but won't use it in a commercial environment for the reasons given. It's nothing to do with lack of interest.No, I didn't mean you. Nothing wrong with commercial developers in small teams. But if Big Business start making D mandatory, then that would not necessarily mean improvements for the existing users. Being nimble and passionate is an advantage D has over C++. I like that C++ is improving by adding stuff, but the overall cognitive burden is quite large even for highly skilled developers. Unfortunately the leaders of D view C++'s model as successful. Well, it isn't. C++ has had momentum since early 90s. That is the source for C++'s success. It does not confirm their development process! D1 had one big advantage over C++: lower cognitive burden. I agree with you, D2 needs to be better at that. I think that is in effect what you feel uncertain about regarding bringing it into your workplace?It's very illuminating that the two of us, both long term readers of the forums, have opposite opinions of what Walter thinks regarding the direction he is 'heading' to. It says to me that the direction has not been well communicated - which is perhaps one of my main points.Or… there is no focus on concrete use cases, so there is no direction to communicate? I also think you already know the answer to your own doubts. If we look at history, I'd say D2 is stable in 10 years if ever. Because big new features are added while the count of weird deficiencies isn't really changing. So that count will not reach zero… Someone from the outside with a background in usability, software engineering and software process improvement probably has to enter the scene and break the patterns before you get the focus and clear direction communicated. I think D could benefit immensely from some outside consulting… :-)
Nov 18 2021
On Thursday, 18 November 2021 at 11:48:28 UTC, Ola Fosheim Grøstad wrote:Or… there is no focus on concrete use cases, so there is no direction to communicate? I also think you already know the answer to your own doubts.Yes, and yes.... but it's worth laying it out so that it is more visible.
Nov 18 2021
On Thursday, 18 November 2021 at 11:48:28 UTC, Ola Fosheim Grøstad wrote:... ....Unfortunately the leaders of D view C++'s model as successful.Yes, this certainly appears to be the case. I personally believe, that this view is what will bring about D's demise, sooner rather than later. In the end, I see D (and I expect the outide world see's D), as an experiment in language design. Usuable ..yes. Interesting..yes. Leading edge features... yes. But ultimately centered around the same mistakes that C++ made: - trying to be compatible with C - trying to replace C - refusing to break things - and in addition to all of the above, adding as much as possible. Having said that, I kinda like D ;-)
Nov 20 2021
On Sunday, 21 November 2021 at 00:40:23 UTC, forkit wrote:But ultimately centered around the same mistakes that C++ made: - trying to be compatible with C - trying to replace C - refusing to break things - and in addition to all of the above, adding as much as possible.It wasn't a mistake for C++ to be compatible with C, but their users also don't crave automatic memory management. For D the most problematic C feature is badly typed unions. What is annoying is that there isn't all that much wrong with D, you just need to do adjustments to get more shiny than C++. But many adjustments: - make type unification work so that an alias is an alias (or has that been fixed?) - make integers non-modular so that you get better optimization and can do overflow checks - clean up some syntax - add ref counting optimizations and so on. If D focused on adjusting what is in the language rather than adding new stuff it could do well.Having said that, I kinda like D ;-)Sure.
Nov 22 2021
On Monday, 22 November 2021 at 08:55:42 UTC, Ola Fosheim Grøstad wrote:It wasn't a mistake for C++ to be compatible with C, but their users also don't crave automatic memory management.For the time, perhaps not. But in hindsight, all C++ did, was to 'add onto' a language that provided very little in terms of safety guarantees. D is inheriting all of that too, while adding on to it. A lot of the code in the future, will need formal safety guarantees, and at some point, I wouldn't be surprised if countries start passing legislation to mandate this (well, they already do this in some industries anyway). D cannot provide such guarantees.. and will never be in a position to do so. I suppose what I'm getting at, is D really a language I'd recommend to the CIO? Or is it just nice to play around with. I'd say that latter, in which case.. (to get back on topic).. who really cares when D2 is finished ;-)
Nov 22 2021
On Monday, 22 November 2021 at 21:38:57 UTC, forkit wrote:For the time, perhaps not. But in hindsight, all C++ did, was to 'add onto' a language that provided very little in terms of safety guarantees.Yes. Bjarne Stroustrup missed the modelling features of Simula (OOP and coroutines) and added those to C. Of course, C++ became the black bastardized sheep of OOP and academics frowned... Then Java was inspired by OOP and more or less reimplemented Simula (semantically close), and Bjarne got a prize for his OOP efforts. :-DA lot of the code in the future, will need formal safety guarantees, and at some point, I wouldn't be surprised if countries start passing legislation to mandate this (well, they already do this in some industries anyway). D cannot provide such guarantees.. and will never be in a position to do so.D could become interesting for small businesses or individuals that create commercial interactive desktop products. Clean up the semantics, syntax, memory management and build an application framework for D. I guess Swift is workable, to some extent, but very Mac centric and requires some C. D could be a cross platform replacement for Swift + C. But it takes a lot of focus on polish (semantics + syntax). And well, "focus" and "polish" requires disciplined planning.Or is it just nice to play around with. I'd say that latter, in which case.. (to get back on topic).. who really cares when D2 is finished ;-)I'd care, if it was polished and suitable for effectively creating highly interactive software. But then we come back to disciplined planning. Which seems to be an unsurmountable challenge.
Nov 22 2021
On Monday, 22 November 2021 at 22:14:46 UTC, Ola Fosheim Grøstad wrote:But then we come back to disciplined planning. Which seems to be an unsurmountable challenge.Creativity and 'disciplined planning' don't combine well .. and never will.
Nov 22 2021
On Monday, 22 November 2021 at 22:21:37 UTC, forkit wrote:On Monday, 22 November 2021 at 22:14:46 UTC, Ola Fosheim Grøstad wrote:I don't necessarily agree. Regardless, PL design is 5% creativity 95% engineering.But then we come back to disciplined planning. Which seems to be an unsurmountable challenge.Creativity and 'disciplined planning' don't combine well .. and never will.
Nov 22 2021
On Monday, 22 November 2021 at 22:26:41 UTC, Ola Fosheim Grøstad wrote:On Monday, 22 November 2021 at 22:21:37 UTC, forkit wrote:Plenty of psychologists would disagree, with your disagreement. Creativity (by it's very nature) allows you to go in all kinds of directions. Disciplined planning (by it's very nature) moves you towards a specific direction. Sure, you can make tradeoffs towards one end of the spectrum or the other. But I would be shocked, if I ever came across a creative personality (someone who is creative by nature) that willingly embraces disciplined planning. What you're asking for, seems more directed towards developing a culture of 'controlled creativity'. Good luck with that ;-) Creativity is not an algorithm.On Monday, 22 November 2021 at 22:14:46 UTC, Ola Fosheim Grøstad wrote:I don't necessarily agree. Regardless, PL design is 5% creativity 95% engineering.But then we come back to disciplined planning. Which seems to be an unsurmountable challenge.Creativity and 'disciplined planning' don't combine well .. and never will.
Nov 22 2021
On Monday, 22 November 2021 at 22:59:49 UTC, forkit wrote:But I would be shocked, if I ever came across a creative personality (someone who is creative by nature) that willingly embraces disciplined planning.Architects don’t exist? Industrial designers dont exist? Lets not confuse hobbyism with professionalism. Humans are not unidimensional. There are even techniques for being more creative...
Nov 22 2021
On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development?(Assuming you talk about D2 new features compared to D1) A problem is that D1 to D2 was a major change with several objectives. The current approach that is to introduce changes, incrementally "DIP driven"-ly, is more likely to result in finished features. To me, unfisnished D2 "new" features (e.g shared) are more a symptom of the poor managment and the poor methodology that drove D development 10 years ago.
Nov 18 2021
On Thursday, 18 November 2021 at 12:45:16 UTC, user1234 wrote:The current approach that is to introduce changes, incrementally "DIP driven"-ly, is more likely to result in finished features. To me, unfisnished D2 "new" features (e.g shared) are more a symptom of the poor managment and the poor methodology that drove D development 10 years ago.I don't think DIPs constitute a method. It also doesn't work all that great for other languages in my opinion. I think even Python is aggregating bloat and complexity now that Guido took the hand of the breaks. Bloat destroys good languages, over time. You need some kind of structured loop(s), very sketchy: 1. gather information related to key use cases 2. analyse 3. rank and select key problem to be addressed 4. describe problem, ask for solution propositions (many) 5. analyse, evaluate, select 6. make experimental implementations 7. analyse, evaluate, go back to 3-6 if needed 8. make a release strategy (minor/major release) 9. implement, test 10. collect feedback from end users 11. analyse, evaluate, go back to 3-10 if needed 12. polish, deploy, go to 1 That is just for addressing pressing issues, and does not cover strategic planning or quality assurance.
Nov 18 2021
On Thursday, 18 November 2021 at 13:27:56 UTC, Ola Fosheim Grøstad wrote:On Thursday, 18 November 2021 at 12:45:16 UTC, user1234 wrote:In the sense that a DIP is a specification, the way to implement a new feature should be more straight than by implementing without previous serious reflection on "what's gonna be done".[...]I don't think DIPs constitute a method. It also doesn't work all that great for other languages in my opinion. I think even Python is aggregating bloat and complexity now that Guido took the hand of the breaks. Bloat destroys good languages, over time. You need some kind of structured loop(s), very sketchy: 1. gather information related to key use cases 2. analyse 3. rank and select key problem to be addressed 4. describe problem, ask for solution propositions (many) 5. analyse, evaluate, select 6. make experimental implementations 7. analyse, evaluate, go back to 3-6 if needed 8. make a release strategy (minor/major release) 9. implement, test 10. collect feedback from end users 11. analyse, evaluate, go back to 3-10 if needed 12. polish, deploy, go to 1 That is just for addressing pressing issues, and does not cover strategic planning or quality assurance.
Nov 20 2021
On Saturday, 20 November 2021 at 16:47:38 UTC, user1234 wrote:In the sense that a DIP is a specification, the way to implement a new feature should be more straight than by implementing without previous serious reflection on "what's gonna be done".I think I understand what you mean. The problem with DIPs is that they invite people to propose a series of additions that has nothing to do with what should be top priority. Python is adding new features with every release… at some point it will loose the essential quality of being "a simple language". designed by teams of experts, not by the most enthusiastic users of a language?
Nov 21 2021
On Thursday, 18 November 2021 at 12:45:16 UTC, user1234 wrote:A problem is that D1 to D2 was a major change with several objectives.The truth is really we're in the most stagnant part of D's history right now. What really happened with the D1 to D2 thing is that D has always been on an evolutionary path and would add and change things as needed. "D1" was not really much of a thing - it was just an arbitrarily selected maintenance branch while D's existing evolution kept going but was rebranded D2. It isn't like D1 was some stable target and D2 was a radical change in development. No, D1 came out only 6 months before D2.
Nov 18 2021
On Thursday, 18 November 2021 at 13:29:59 UTC, Adam D Ruppe wrote:It isn't like D1 was some stable target and D2 was a radical change in development. No, D1 came out only 6 months before D2.Well, IIRC, the old D1 website made a point of D1 being a simplified C++ family language, and having no templates was essential to that simplicity philosophy. That is the impression I got. I felt that Walter tried to collect the most common patterns he felt people used in C++ (right or wrong) and tried to make those patterns simpler in D1 than in C++. D2 was a pretty radical change in philosophy in my opinion.
Nov 18 2021
On Thursday, 18 November 2021 at 14:05:37 UTC, Ola Fosheim Grøstad wrote:Well, IIRC, the old D1 website made a point of D1 being a simplified C++ family language, and having no templates was essential to that simplicity philosophy.D1 has templates its entire life. Remember, D1 was created just a few months before D2. D itself got templates in more-or-less the modern form we have It had templates in any form since D 0.40, released Sep 8, 2002. So even if you incorrectly pretend "D1" = any D version prior making strings immutable (which was D 2.06; Oct 2007. Jan 2007 is when D1 came out btw), it is still *almost* accurate to say D has always had templates, since D's initial public release was December 2001, less than a year before templates were added. It is true that Walter was skeptical about templates in the olden day, but it had nothing to do with D2.D2 was a pretty radical change in philosophy in my opinion.The history is easy to look up, you don't need to have uninformed opinions.
Nov 18 2021
On Thursday, 18 November 2021 at 14:23:35 UTC, Adam D Ruppe wrote:2002. So even if you incorrectly pretend "D1" = any D version prior making strings immutable (which was D 2.06; Oct 2007.So you want me to call it D0.It is true that Walter was skeptical about templates in the olden day, but it had nothing to do with D2.Ok. Call it D1+ then. I am referring to the initial philosophy of D being much simpler than C++. I am referring to why I picked up D initially. And how Walter did communicate that simplicity in his messaging on the website.The history is easy to look up, you don't need to have uninformed opinions.Ok, but that does not really matter. Does it? D1+ is template heavy. There has been a significant change in philosophy and complexity. That is my viewpoint and opinion. You may claim that it is uninformed, but my opinion is not about versioning or technicalities, it is about how the perception of complexity in the D language has changed over time. Basically a usability perspective.
Nov 18 2021
On Thursday, 18 November 2021 at 14:23:35 UTC, Adam D Ruppe wrote:On Thursday, 18 November 2021 at 14:05:37 UTC, Ola Fosheim Grøstad wrote:Adam is right, D2 big shift was all about const/immutable for concurrency, as concurrency at that time was the main opportunity goal not to be missed. /P[...]D1 has templates its entire life. Remember, D1 was created just a few months before D2. D itself got templates in more-or-less the modern form we have It had templates in any form since D 0.40, released Sep 8, 2002. So even if you incorrectly pretend "D1" = any D version prior making strings immutable (which was D 2.06; Oct 2007. Jan 2007 is when D1 came out btw), it is still *almost* accurate to say D has always had templates, since D's initial public release was December 2001, less than a year before templates were added. It is true that Walter was skeptical about templates in the olden day, but it had nothing to do with D2.[...]The history is easy to look up, you don't need to have uninformed opinions.
Nov 18 2021
On Thursday, 18 November 2021 at 15:13:59 UTC, Paolo Invernizzi wrote:Adam is right, D2 big shift was all about const/immutable for concurrency, as concurrency at that time was the main opportunity goal not to be missed.That is probably technically correct. I've always used D1 to refer to "simple D" and D2 to refer to modern D maximising meta-programming. Never seen "D0" used anywhere before, but if that is needed to avoid noise, then so be it. Let me use that from now on. (You usually include version 0.x in the first version of a language, so this is a very odd thing to require.) Vision 1: simple language that can compete with C++ in performance Vision 2: language that can outdo C++ in meta-programming There is a drastic shift in complexity and development focus. I was attracted to "Vision 1", not "Vision 2". The language I started to use followed "Vision 1", not "Vision 2". "Vision 1" could have reached a polished state if "Vision 2" had not come along. I am perplexed that anyone could disagree with this viewpoint.
Nov 18 2021
On Thursday, 18 November 2021 at 15:29:24 UTC, Ola Fosheim Grøstad wrote:On Thursday, 18 November 2021 at 15:13:59 UTC, Paolo Invernizzi wrote:I'm here since a LONG time [1] and at that time pre D1 was already used in production. Walter pragmatic way of moving shined in the early stage, but early stage is the moment to experiment things. So you are right, *that* D was the simple language that could compete with C++, given the state of C++ (and processing power) in early 2000. D2 had a vision, the D Programming Language. Something went wrong with it, something went really really well, and I was for a long time on the "break the compatibility" bandwagon and "fix the language". Nowadays I agree with Adam, D is in a stagnant history phase, not that is bad (see Elm, for example), it's an opportunity, leverage it. Just stop experimenting, and go for D2 as LTS as it is. [1] https://forum.dlang.org/post/40BB3D47.9030007 inwind.itAdam is right, D2 big shift was all about const/immutable for concurrency, as concurrency at that time was the main opportunity goal not to be missed.That is probably technically correct. I've always used D1 to refer to "simple D" and D2 to refer to modern D maximising meta-programming. Never seen "D0" used anywhere before, but if that is needed to avoid noise, then so be it. Let me use that from now on. (You usually include version 0.x in the first version of a language, so this is a very odd thing to require.) Vision 1: simple language that can compete with C++ in performance Vision 2: language that can outdo C++ in meta-programming There is a drastic shift in complexity and development focus. I was attracted to "Vision 1", not "Vision 2". The language I started to use followed "Vision 1", not "Vision 2". "Vision 1" could have reached a polished state if "Vision 2" had not come along. I am perplexed that anyone could disagree with this viewpoint.
Nov 18 2021
On Thursday, 18 November 2021 at 16:05:53 UTC, Paolo Invernizzi wrote:I'm here since a LONG time [1] and at that time pre D1 was already used in production.Aye, I didn't look at the forums when I used D first. I am more like Abdulhaq, interested, try out, interesting, but cannot use it right now, take break, try it again, but cannot use it right now... etc. I think this could be a quite common pattern for D users (not on the forum).Walter pragmatic way of moving shined in the early stage, but early stage is the moment to experiment things. So you areIf you keep complexity in the design low then you can get quite a long way by going by intuition based on experience, but once the type system is starting to get complex intuition becomes insufficient. The challenge of language design increases in a nonlinear fashion with ambition.D2 had a vision, the D Programming Language. Something went wrong with it, something went really really well, and I was for a long time on the "break the compatibility" bandwagon and "fix the language". Nowadays I agree with Adam, D is in a stagnant history phase, not that is bad (see Elm, for example), it's an opportunity, leverage it. Just stop experimenting, and go for D2 as LTS as it is.Fair enough. I guess that is what Abdulhaq asked for. For me personally, a language optimized for WASM would be nice, but that might end up being another language than D. WASM will be more important now that Safari also supports WebGL2, I think. (online games etc)
Nov 18 2021
On Thursday, 18 November 2021 at 13:29:59 UTC, Adam D Ruppe wrote:... The truth is really we're in the most stagnant part of D's history right now. ....This is why D needs a new motto. I mean, one that actually motivates. 'Fast code, fast'.... I wanna puke.
Nov 18 2021
On Thu, Nov 18, 2021 at 10:20:49PM +0000, forkit via Digitalmars-d wrote:On Thursday, 18 November 2021 at 13:29:59 UTC, Adam D Ruppe wrote:[...] Wow, so I'm not the only one? I've been saying this for, oh, years now? And nobody ever paid any attention. Every time I see that motto I cringe and feel the creepycrawlies. T -- Freedom of speech: the whole world has no right *not* to hear my spouting off!... The truth is really we're in the most stagnant part of D's history right now. ....This is why D needs a new motto. I mean, one that actually motivates. 'Fast code, fast'.... I wanna puke.
Nov 18 2021
On Thursday, 18 November 2021 at 22:20:49 UTC, forkit wrote:On Thursday, 18 November 2021 at 13:29:59 UTC, Adam D Ruppe wrote:I vote for: «We came from Mars to conquer the world!»... The truth is really we're in the most stagnant part of D's history right now. ....This is why D needs a new motto. I mean, one that actually motivates. 'Fast code, fast'.... I wanna puke.
Nov 18 2021
On Thursday, 18 November 2021 at 22:20:49 UTC, forkit wrote:On Thursday, 18 November 2021 at 13:29:59 UTC, Adam D Ruppe wrote:I vote for that "From prototype to production"... The truth is really we're in the most stagnant part of D's history right now. ....This is why D needs a new motto. I mean, one that actually motivates. 'Fast code, fast'.... I wanna puke.
Nov 18 2021
On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?What is an example of a successful language that would stop feature development? If D would stop feature development, it wouldn't solve the "billion posts" problem of people not vested in D complaining loudly in the D forums.
Nov 18 2021
On Thu, Nov 18, 2021 at 05:21:40PM +0000, Guillaume Piolat via Digitalmars-d wrote:On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Even C has not stopped evolving. And C++. Why should we stop now? The time when D stops evolving is the time it's dead.Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?What is an example of a successful language that would stop feature development? If D would stop feature development, it wouldn't solve the "billion posts" problem of people not vested in D complaining loudly in the D forums.I suspect these are just the vocal minority. The rest of the happy D users are too busy actually writing code than debating on the forums. T -- Meat: euphemism for dead animal. -- Flora
Nov 18 2021
On Thursday, 18 November 2021 at 17:31:24 UTC, H. S. Teoh wrote:Even C has not stopped evolving. And C++. Why should we stop now? The time when D stops evolving is the time it's dead.I am not convinced D has figured out how to evolve. More honestly, I am convinced D is not capable of evolving, and will in ten years look pretty close to what it is now. Whether that is good or bad is up to each programmer to decide. Perl 5 (renamed to Perl 7, but that was only for marketing purposes) is still widely used and provides a solid platform after 27 years. The innovative changes are now in the barely-used Raku.
Nov 18 2021
On Thu, Nov 18, 2021 at 05:46:52PM +0000, bachmeier via Digitalmars-d wrote:On Thursday, 18 November 2021 at 17:31:24 UTC, H. S. Teoh wrote:That depends. It's good in the sense that code I have today will likely still compile then, modulo some small changes to upgrade the syntax perhaps. It's not so good in the sense that design decisions that were in hindsight the wrong ones will remain and never be corrected. I'm seriously hoping Andrei pulls off stdv2, because that's the only way I see to move forward with Phobos. Otherwise Phobos is just stuck in a stagnant state and there's no way to move forward.Even C has not stopped evolving. And C++. Why should we stop now? The time when D stops evolving is the time it's dead.I am not convinced D has figured out how to evolve. More honestly, I am convinced D is not capable of evolving, and will in ten years look pretty close to what it is now. Whether that is good or bad is up to each programmer to decide.Perl 5 (renamed to Perl 7, but that was only for marketing purposes) is still widely used and provides a solid platform after 27 years. The innovative changes are now in the barely-used Raku.Yeah, I even forgot it was called Raku once and had to look it up. :-D I didn't see anything particular inspiring about it that would motivate me to spend the effort to learn it. T -- This sentence is false.
Nov 18 2021
On Thursday, 18 November 2021 at 17:59:06 UTC, H. S. Teoh wrote:I'm seriously hoping Andrei pulls off stdv2, because that's the only way I see to move forward with Phobos.It's that or we fork the language and seize control then just start actually fixing things.
Nov 18 2021
On Thu, Nov 18, 2021 at 06:03:07PM +0000, Adam D Ruppe via Digitalmars-d wrote:On Thursday, 18 November 2021 at 17:59:06 UTC, H. S. Teoh wrote:I have to say, the thought has crossed my mind a few times. Only thing is, this community is already so tiny, splitting it would probably mean death to both resulting dialects. Though on 2nd thoughts, forking *Phobos* could actually be viable... Even put it up on dub as a Phobos alternative and let the two compete, see which one survives. T -- "The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts." -- Bertrand Russell. "How come he didn't put 'I think' at the end of it?" -- AnonymousI'm seriously hoping Andrei pulls off stdv2, because that's the only way I see to move forward with Phobos.It's that or we fork the language and seize control then just start actually fixing things.
Nov 18 2021
On Thursday, 18 November 2021 at 18:20:18 UTC, H. S. Teoh wrote:On Thu, Nov 18, 2021 at 06:03:07PM +0000, Adam D Ruppe via Digitalmars-d wrote:Dlang is not alone [1], but at least Evan has strong motivations behind that [2]. Forking, well ... Sociomantic tsunami (well, it was a *way* different time period) or Weka mekka ... I still think that the first thing to do is push for a language cleanup, prior to start taking care of Phobos. Walter wandered what happened with copyctor, aren't they supposed to solve some critic low level problem paving the way to ...? The impression is that nobody have the complete and sound design in mind (no pun), but if such a case, removing complexity is better than adding. I would rather fork the frontend, and start removing things, like class alias this, shared, and (why not) start thinking if the whole const/immutable things as it is worths the complexity it brings in the codebase. Again, my 2c ... [1] https://discourse.elm-lang.org/t/a-process-for-core-library-fixes-and-improvements/7916/17 [2] https://youtu.be/o_4EX4dPppAOn Thursday, 18 November 2021 at 17:59:06 UTC, H. S. Teoh wrote:I have to say, the thought has crossed my mind a few times. Only thing is, this community is already so tiny, splitting it would probably mean death to both resulting dialects. Though on 2nd thoughts, forking *Phobos* could actually be viable... Even put it up on dub as a Phobos alternative and let the two compete, see which one survives. TI'm seriously hoping Andrei pulls off stdv2, because that's the only way I see to move forward with Phobos.It's that or we fork the language and seize control then just start actually fixing things.
Nov 18 2021
On Thursday, 18 November 2021 at 18:43:57 UTC, Paolo Invernizzi wrote:adding. I would rather fork the frontend, and start removing things, like class alias this, shared, and (why not) start thinking if the whole const/immutable things as it is worths the complexity it brings in the codebase.Simplicity is good, but don't throw out the baby with the bathwater. Just remove atomic access from shared. Shared is needed for dealing properly with memory management improvements.
Nov 18 2021
On Thursday, 18 November 2021 at 18:20:18 UTC, H. S. Teoh wrote:On Thu, Nov 18, 2021 at 06:03:07PM +0000, Adam D Ruppe via Digitalmars-d wrote:Yes, that is my hope. An updated Phobos would change the culture of this project and make it exciting to contribute as part of the community, whether that's core development or libraries, blog posts, whatever.On Thursday, 18 November 2021 at 17:59:06 UTC, H. S. Teoh wrote:I'm seriously hoping Andrei pulls off stdv2, because that's the only way I see to move forward with Phobos.The main reason to fork the language would be to make changes that should happen but aren't, or to do things that wouldn't be practical in the current language. That should bring in more users. On the other hand, if you don't have a *completed* language fork, the new won't be doing anything but taking manpower from the current. I honestly don't see anything other than the GC that would motivate a fork at this time.It's that or we fork the language and seize control then just start actually fixing things.I have to say, the thought has crossed my mind a few times. Only thing is, this community is already so tiny, splitting it would probably mean death to both resulting dialects.
Nov 18 2021
On Thursday, 18 November 2021 at 20:18:43 UTC, bachmeier wrote:The main reason to fork the language would be to make changes that should happen but aren't, or to do things that wouldn't be practical in the current language. That should bring in more users. On the other hand, if you don't have a *completed* language fork, the new won't be doing anything but taking manpower from the current. I honestly don't see anything other than the GC that would motivate a fork at this time.The experiments I did last year with a LDC fork convinced me that a lot can be done at the parser and runtime level. That also has the advantage that the compiler stays compatible in a nonbreaking way with the mainline. I just duplicated the parser and tied it to files ending with ```.dex```. That way you can mix standard and experimental D code with no hiccups. It is also very easy to do. I started added full unicode support to the lexer, added new tokens and went on from there. You can gradually do more and more with few bugs since it is mostly syntactical.
Nov 18 2021
On Thursday, 18 November 2021 at 20:18:43 UTC, bachmeier wrote:On Thursday, 18 November 2021 at 18:20:18 UTC, H. S. Teoh wrote:Think of a fork not as a competing company, but rather as a labor strike. The goal isn't actually to coexist with nor to vanquish D as we know it today, but rather to save it. We'd get together and start a fork with the *goal* of getting the changes merged back upstream and fixing our broken governance model so it never has to happen this way again. Just like how labor unions go on strike to negotiate a better (binding) contract with the company - they aren't leaving their jobs, they are trying to work with the bosses to make their jobs better. That's what D needs to get on track. Enough people to force some positive change to actually get going, then after that, we can negotiate on the specifics to merge back in.The main reason to fork the language would be to make changes that should happen but aren't, or to do things that wouldn't be practical in the current language.It's that or we fork the language and seize control then just start actually fixing things.I have to say, the thought has crossed my mind a few times. Only thing is, this community is already so tiny, splitting it would probably mean death to both resulting dialects.
Nov 18 2021
On Thu, Nov 18, 2021 at 08:36:52PM +0000, Adam D Ruppe via Digitalmars-d wrote: [...]Think of a fork not as a competing company, but rather as a labor strike. The goal isn't actually to coexist with nor to vanquish D as we know it today, but rather to save it. We'd get together and start a fork with the *goal* of getting the changes merged back upstream and fixing our broken governance model so it never has to happen this way again. Just like how labor unions go on strike to negotiate a better (binding) contract with the company - they aren't leaving their jobs, they are trying to work with the bosses to make their jobs better.[...] OK, so the big question: who's "we"? And who are "we" negotiating with, and what specific result(s) are we after? T -- All problems are easy in retrospect.
Nov 18 2021
On Thursday, 18 November 2021 at 23:19:20 UTC, H. S. Teoh wrote:OK, so the big question: who's "we"?The international proletariat.And who are "we" negotiating withThe bourgeois class.and what specific result(s) are we after?The dissolution of all class distinctions. Duh. ok fine really it is anyone who wants to see real change in the language vs the leadership. And what want to see is the aforementioned change. Personally what I want is a new leadership structure, a steering group of probably seven, maybe eleven, selected by D stakeholders on some term basis, probably annually, who have authority to make whatever changes they see fit. From there, they guide the language. Now, what I'd like to see from the steering group is: 1) A new DIP policy that dispenses with the pretensions of grandeur and focuses on getting things done. These aren't Ph.D. theses, they're ways to solicit use cases and associated feature requests and technical analyses from the community. The process I propose is letting the steering committee deliberate on them in a private forum thread, which is then made public (but read only) after the decision is locked. This decision can thus be reviewed without being bikeshedded to hell. I would vote for steering committee members who weigh changes with a cost/benefit eye. Some breaking changes are short term pain for long term gain. That's worth it. 2) A radically different approach to Phobos development that is significantly more open than it is now. Phobos is currently where code goes to die. It should be where code goes to thrive among the community. Breaking changes are discouraged, but made when necessary. I've heard people say the package manager renders the standard library obsolete, but this isn't really true. In fact, I think it might be the opposite: a strong stdlib gives a solid foundation for reliable and interoperable third party packages. What I'd do is to curate things from the community that can be tested and adopted if need be. Then if there's multiple options, work with the authors to abstract out some common interface into Phobos and get the others to use them. Then other packages can depend on the Phobos interface as users swap out implementations. But again, the steering group would have the final say. I'd just want them to create a process that can be reliably delegated so it isn't using any particular bottleneck; a decentralized development model of a centralized library. They'd say what they want then they can pull from community work if/when it pops up. 3) The steering group would also have access to the foundation budget for hiring outside consultants when necessary. While this might be programming work sometimes we'd more likely need outside help for things like marketing since we have significant in-house code talent. But what I'd push for is the steering group reform specifically as a condition to stop the fork. The other details can be worked out once we have that formed. The steering group must have binding authority - if they decide a change is going to happen, it gets merged in and no individual can overrule that.
Nov 18 2021
On Friday, 19 November 2021 at 03:00:14 UTC, Adam D Ruppe wrote:.. But what I'd push for is the steering group reform specifically as a condition to stop the fork. The other details can be worked out once we have that formed. The steering group must have binding authority - if they decide a change is going to happen, it gets merged in and no individual can overrule that.A steering group needs members who are permanent, and members who are rotated (on a fixed term). Otherwise it will lead to rot. Getting a permanent seat on the steering group needs to be something that is hard fought. There is only one person I know of, that deserves that position, at the moment (possibly two, but I'll stick with one for now).
Nov 18 2021
On Friday, 19 November 2021 at 03:00:14 UTC, Adam D Ruppe wrote:aforementioned change. Personally what I want is a new leadership structure, a steering group of probably seven, maybe eleven, selected by D stakeholders on some term basis, probably annually, who have authority to make whatever changes they see fit. From there, they guide the language.You need representation (diversity) otherwise you will end up with many of the same issues. You also need a shared vision. Simpler or more features? You also need to restructure compiler internals to get more people interested. So a merge is not realistic.The process I propose is letting the steering committee deliberate on them in a private forum thread, which is then made public (but read only) after the decision is locked. This decision can thus be reviewed without being bikeshedded to hell.Look up Group Think. The road to hell is paved with good intensions.
Nov 19 2021
On Friday, 19 November 2021 at 08:07:11 UTC, Ola Fosheim Grøstad wrote:Look up Group Think. The road to hell is paved with good intensions.(To be fair, look up design by committee and analysis paralysis as well.)
Nov 19 2021
On Friday, 19 November 2021 at 08:08:38 UTC, FeepingCreature wrote:On Friday, 19 November 2021 at 08:07:11 UTC, Ola Fosheim Grøstad wrote:"Analysis paralysis" in PL design is a sign that the chosen approach does not lead to the goal, like having an unsound typesystem. Start over from scratch is often the better solution.Look up Group Think. The road to hell is paved with good intensions.(To be fair, look up design by committee and analysis paralysis as well.)
Nov 19 2021
On Friday, 19 November 2021 at 08:07:11 UTC, Ola Fosheim Grøstad wrote:Look up Group Think. The road to hell is paved with good intensions.No one pretends that democracy is perfect or all-wise. Indeed it has been said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.…
Nov 19 2021
On Friday, 19 November 2021 at 13:59:04 UTC, Adam D Ruppe wrote:On Friday, 19 November 2021 at 08:07:11 UTC, Ola Fosheim Grøstad wrote:I wish you well with your democratic endeavour. It will be interesting to see what you achieve! There are techniques to avoid Group Think, but one has to be aware of the phenomenon and take the appropriate steps. You can do that.Look up Group Think. The road to hell is paved with good intensions.No one pretends that democracy is perfect or all-wise. Indeed it has been said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.…
Nov 19 2021
On Friday, 19 November 2021 at 13:59:04 UTC, Adam D Ruppe wrote:On Friday, 19 November 2021 at 08:07:11 UTC, Ola Fosheim Grøstad wrote:Also, if you haven't already read this book, consider borrowing it from a library: Forsyth, *Group Dynamics* It gives perspectives on dynamics in groups that can be useful, based on research. I've seen it used in psychology and software process improvement classes. It won't give you answers, but if you haven't read a similar book before you might view dynamics in groups differently after reading it. I hope you take no offence at this suggestion, but setting up a group for the purpose you suggest is challenging. For instance, if you have only one member with a computer science background in the group, then that member might get undue influence (for good or worse). I totally believe you can do this, but you have to think ahead about what can happen, I think.Look up Group Think. The road to hell is paved with good intensions.No one pretends that democracy is perfect or all-wise. Indeed it has been said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.…
Nov 19 2021
On Thursday, 18 November 2021 at 17:59:06 UTC, H. S. Teoh wrote:I'm seriously hoping Andrei pulls off stdv2, because that's the only way I see to move forward with Phobos. Otherwise Phobos is just stuck in a stagnant state and there's no way to move forward.I'll never understand why people put any emphasis on Phobos! Anyone can create their own, the only blocker is if language features makes it hard (like RC).
Nov 18 2021
On Thursday, 18 November 2021 at 17:31:24 UTC, H. S. Teoh wrote:On Thu, Nov 18, 2021 at 05:21:40PM +0000, Guillaume Piolat via Digitalmars-d wrote:I'm not suggesting, as I made explicitly clear in a previous post, to stop new feature development. I think some D users would like to see increased user numbers and are happy to get good practical suggestions as to how to do that. Andrei for one. It would help the hobbyists too because there would be more hands to do more work.On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Even C has not stopped evolving. And C++. Why should we stop now? The time when D stops evolving is the time it's dead.Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?What is an example of a successful language that would stop feature development? If D would stop feature development, it wouldn't solve the "billion posts" problem of people not vested in D complaining loudly in the D forums.I suspect these are just the vocal minority. The rest of the happy D users are too busy actually writing code than debating on the forums. T
Nov 18 2021
On Thursday, 18 November 2021 at 17:21:40 UTC, Guillaume Piolat wrote:What is an example of a successful language that would stop feature development?I think it is a more fair question to ask for an example of a successful system level language without a polished stable branch? I mean modern C++ compilers are pretty polished. It may take a year to get there after the ISO standard is published, but when it is done, the compiler is shiny with bells and whistles (more compiler options than you wish for).
Nov 18 2021
On Thursday, 18 November 2021 at 17:21:40 UTC, Guillaume Piolat wrote:On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:I specifically explained in a follow-up post, previous to yours, that I'm not suggesting that new feature development be stopped. I am simply and genuinely asking a simple question. Check my previous posts if you think I'm trolling - I'm not.Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?What is an example of a successful language that would stop feature development?If D would stop feature development, it wouldn't solve the "billion posts" problem of people not vested in D complaining loudly in the D forums.I'm not complaining, I'm explaining why I think that corporate users are not using D. I'm hoping to help those people who *do* care about why D remains relatively unknown and unused, and I'm doing it politely. I don't feel the tiniest emotion about it, I just want to give a POV that I think can help lift the number of users.
Nov 18 2021
On Thursday, 18 November 2021 at 18:05:38 UTC, Abdulhaq wrote:I just want to give a POV that I think can help lift the number of users._Doing things with D_ help lift the number of users. Constant, harsh, unsubstantiated criticism on the main communication channel (these very forums) for D doesn't help getting more users. No language has an anti-themselves campaign going on for years on their main communication channels. Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.
Nov 19 2021
On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.We should collect criticism, If you want to criticize, please see whether the opinion has been put forward.
Nov 19 2021
On Friday, 19 November 2021 at 11:36:48 UTC, zjh wrote:We should collect criticism,`Posts` should also be classified. Such as `opinion/question/`..., etc. Our problem is organization. Excellent posts should also be scored,And reward. etc...
Nov 19 2021
On Friday, 19 November 2021 at 11:36:48 UTC, zjh wrote:On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:Yeah, I wouldn't want the forums to be a place like "we do not tolerate dissent". It's just that unrelenting criticism that repeats the same things over and over again gets a little boring to read...Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.We should collect criticism, If you want to criticize, please see whether the opinion has been put forward.
Nov 19 2021
On Friday, 19 November 2021 at 13:07:04 UTC, jmh530 wrote:Yeah, I wouldn't want the forums to be a place like "we do not tolerate dissent". It's just that unrelenting criticism that repeats the same things over and over again gets a little boring to read...D should make good use of the forum. Now the forum resources are not well utilized. Many people repeat his opinion over and over again. But others still don't know your point of view.
Nov 19 2021
On Friday, 19 November 2021 at 13:07:04 UTC, jmh530 wrote:On Friday, 19 November 2021 at 11:36:48 UTC, zjh wrote:Part of the problem here, I think, is that people are more strongly motivated to speak up about their opinions when there is something they are unsatisfied with. So discussions like this will be biased towards the things people don't like about D, even if they are relatively happy with the language overall.On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:Yeah, I wouldn't want the forums to be a place like "we do not tolerate dissent". It's just that unrelenting criticism that repeats the same things over and over again gets a little boring to read...Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.We should collect criticism, If you want to criticize, please see whether the opinion has been put forward.
Nov 19 2021
On Friday, 19 November 2021 at 14:05:17 UTC, Paul Backus wrote:Part of the problem here, I think, is that people are more strongly motivated to speak up about their opinions when there is something they are unsatisfied with. So discussions like this will be biased towards the things people don't like about D, even if they are relatively happy with the language overall.Actually, the *biggest* problem for the decision makers of D is that the average person who does use D from time to time never speaks up about what they are happy/unhappy with. So there is a big silent majority. I didn't read the D forums for years. Random incident that I did. I only started to write here because Manu tried to argue for a direction that would make D better for systems development. So I wanted to back him. If Manu had not been persistent in his quest, then I'd probably would have put D back in the drawer for good. It is of course possible to continue to make decisions based on the tiny hardcore that populate the forums, but then you won't have an ecosystem. And well, what is the point of having powerful meta-programming if there are no frameworks (except vibe.d) that are built with it?
Nov 19 2021
On Friday, 19 November 2021 at 15:06:28 UTC, Ola Fosheim Grøstad wrote:On Friday, 19 November 2021 at 14:05:17 UTC, Paul Backus wrote:Another "silent majority" here. I do some hobby programming, and while I like D the main barrier isn't the language but the way the language fits in with the OS (for me its Linux). For D, there is this guide to packaging for Fedora https://docs.fedoraproject.org/en-US/packaging-guidelines/D/ but it said that D doesn't support shared libraries and as an exception, static linking is OK. Is this even correct? It does answer my other question, should I link using GDC or LDC. Also, if I use DUB, how does that work? What is the process then? This link implies you can create shared libraries https://dlang.org/articles/dll-linux.html Aside from the actual language, people are looking to see how the use of that language, the tools, fit in with the systems they are developing for. My choice of language isn't simply about the language, but how it builds actual distributed software. Best practices for how to create software. For example, I've looked at Tilix, and noted that it uses libgtkd and LDC, and a dub.json file. It would be good to know the ins and outs, what you should do, what you shouldn't do, to say, make a Linux software package that can be built into a .DEB and .RPM. Can it be done if dub has to download dependencies? How to package? It might seem trivial, but there are the little things that I think make a difference. I might write posts about this myself when I know that advice I'm giving is good advice.Part of the problem here, I think, is that people are more strongly motivated to speak up about their opinions when there is something they are unsatisfied with. So discussions like this will be biased towards the things people don't like about D, even if they are relatively happy with the language overall.Actually, the *biggest* problem for the decision makers of D is that the average person who does use D from time to time never speaks up about what they are happy/unhappy with. So there is a big silent majority. I didn't read the D forums for years. Random incident that I did. I only started to write here because Manu tried to argue for a direction that would make D better for systems development. So I wanted to back him. If Manu had not been persistent in his quest, then I'd probably would have put D back in the drawer for good. It is of course possible to continue to make decisions based on the tiny hardcore that populate the forums, but then you won't have an ecosystem. And well, what is the point of having powerful meta-programming if there are no frameworks (except vibe.d) that are built with it?
Nov 26 2021
On 27/11/2021 2:12 PM, BoraxMan wrote:For D, there is this guide to packaging for Fedora https://docs.fedoraproject.org/en-US/packaging-guidelines/D/ but it said that D doesn't support shared libraries and as an exception, static linking is OK. Is this even correct? It does answer my other question, should I link using GDC or LDC. Also, if I use DUB, how does that work? What is the process then?It is completely out of date.
Nov 26 2021
On Saturday, 27 November 2021 at 01:41:07 UTC, rikki cattermole wrote:On 27/11/2021 2:12 PM, BoraxMan wrote:Yeah, it's dated 2010 and the package requires tango, so just a tad out of date.For D, there is this guide to packaging for Fedora https://docs.fedoraproject.org/en-US/packaging-guidelines/D/ but it said that D doesn't support shared libraries and as an exception, static linking is OK. Is this even correct? It does answer my other question, should I link using GDC or LDC. Also, if I use DUB, how does that work? What is the process then?It is completely out of date.
Nov 26 2021
On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:On Thursday, 18 November 2021 at 18:05:38 UTC, Abdulhaq wrote:D has enough users, but I project most of them are like Abdulhaq and myself. They write D code occasionally in their hobbyspace and would like to see a situation where you would choose D because it is objectively the best choice. Right now D is not the most rational choice, unless you do exactly what you do: write your own foundation and extend the compiler with what you need (like SIMD support). That is a lot to demand of others… So you are very demanding in your attitude! I've come to the conclusion that for me D will never move out of hobbyspace (well, maybe if I write an audioplugin). That conclusion made me happier about D! Abdulhaq still dreams of using D outside his hobbyspace, but he clearly cannot make a salespitch at his workplace by appealing to emotions, he has to make a rational argument for it.I just want to give a POV that I think can help lift the number of users._Doing things with D_ help lift the number of users.No, this is just bullying, by people who enjoy doing just that.You've bullied me repeatedly. I never bullied you. :-P Bullying a technical construct and a development process is not a concept… Hurting the compiler's self confidence or something? For instance, let us return to the introduction of ``` nogc```. If you read the DIP thread on that you'll see that Manu, Mike and other low level coders were not enthusiastic. Manu wanted ARC at the time. You know, a solid compiler backed memory management solution. The survey from 2010 shows that nobody wanted ```-nogc``` as an option. The conclusion is that everybody that use D wants managed memory backed by the compiler (some kind of automatic memory management). ``` nogc``` does not satisfy that need, it is more like an escape-hatch. At the end of the day it comes down to wanting to write code that is and looks beautiful. You want this yourself. You want to get rid of the " " in front of attributes. Aesthetics matter. Aesthetics in memory management. Aesthetics in semantics. Aesthetics in syntax. So when you go to bed you can go to sleep knowing that you created something beautiful that day. People want this from D. I think you do too.
Nov 19 2021
On Friday, 19 November 2021 at 11:49:40 UTC, Ola Fosheim Grøstad wrote:You want this yourself. You want to get rid of the " " in front of attributes. Aesthetics matter.They are also highly subjetive and context-dependent. I find " " to be weirdly cute.
Nov 19 2021
On Friday, 19 November 2021 at 12:15:02 UTC, Max Samukha wrote:On Friday, 19 November 2021 at 11:49:40 UTC, Ola Fosheim Grøstad wrote:*subjectiveYou want this yourself. You want to get rid of the " " in front of attributes. Aesthetics matter.They are also highly subjetive and context-dependent. I find " " to be weirdly cute.
Nov 19 2021
On Friday, 19 November 2021 at 12:15:02 UTC, Max Samukha wrote:On Friday, 19 November 2021 at 11:49:40 UTC, Ola Fosheim Grøstad wrote:Yes, this is where usability studies with real programmers can help. :-) Probably never been done with D.You want this yourself. You want to get rid of the " " in front of attributes. Aesthetics matter.They are also highly subjetive and context-dependent. I find " " to be weirdly cute.
Nov 19 2021
Nim forums are moderated: https://forum.nim-lang.org/ Rust forums are moderated: https://users.rust-lang.org/ Go forums are moderated: https://forum.golangbridge.org/ If you browse them, I doubt you will find the kind of systematic negativity one can find here. If you enjoy reading HN and Reddit, it's also because they are heavily moderated. This is just my opinion, but I think the moderation on the D forums should be a bit more ban-happy.
Nov 19 2021
On Friday, 19 November 2021 at 16:30:14 UTC, Guillaume Piolat wrote:This is just my opinion, but I think the moderation on the D forums should be a bit more ban-happy.The best moderation is done by moderators that are actively participating and diffusing conflict. Or just close threads that have become unproductive. Or move threads to an off-topic forum. Flamewars tend to arise from misinterpretation or just two people being tired after work, divorce or whatever… But there aren't actually many flamewars in the D forums. Just strategic disagreement, passionate disagreement. You have many people being passionate because they want to write beautiful code. And well, a simpler language than C++ allows your write more beautiful code. Maybe that is also why you use D daily. Maybe most of those that you would ban actually are in agreement with you if you sat down around a coffee table? Maybe they get frustrated after several years, because they cannot do like you, write beautiful code every day? I don't know. The only thing I know is that I appreciate that D now is on track to become what I was looking for many years ago. Despite it happening in slow motion. I am not unhappy with that. I would be much more happy with a D3, because then things would not move in slow motion. But I don't depend on D and totally understand that you and others have more reasons to feel passionate about D2 as it is today than those of use that only have D as a hobby. Anyway, I am pretty sure that if you, I and the OP sat down around a coffee-table, then we would agree on *most* things if we shared our perspectives face to face. Maybe we can do that one day. Cheers!
Nov 19 2021
On Friday, 19 November 2021 at 16:47:33 UTC, Ola Fosheim Grøstad wrote:On Friday, 19 November 2021 at 16:30:14 UTC, Guillaume Piolat wrote:Maybe you just have to wait until Dconf can be held physically again :P[...]The best moderation is done by moderators that are actively participating and diffusing conflict. Or just close threads that have become unproductive. Or move threads to an off-topic forum. [...]
Nov 19 2021
On Friday, 19 November 2021 at 17:50:36 UTC, Tejas wrote:Maybe you just have to wait until Dconf can be held physically again :PMaybe, but I don't think those that go to conferences represent the majority. C++ conference presentations often show more high level code than people usually write... A distorted reality. What people in the D-forums don't get is that people who come to complain on the forums and are perceived as detractors actually represent that silent majority that never visit the forums, but who want a completed system level development language solution, not a glorified scripting language for scientific computing. There is no future for D in that (too many competing solutions backed by arrays of GPUs in the cloud). The regulars on language forums tend to be die-hard-fans, which leads to a distorted picture of reality. You can of course ban the signal of frustration, and create an echo chamber, but then there is no reality check feedback in the loop. And the language fades away and becomes a relic of the past. Like most languages. It is not unusual, it is typical.
Nov 20 2021
On Saturday, 20 November 2021 at 10:49:08 UTC, Ola Fosheim Grøstad wrote: Anyway, I like `D`. I hope `D` can solve `its own problems`.
Nov 20 2021
On Saturday, 20 November 2021 at 11:09:35 UTC, zjh wrote:I hope `D` can solve `its own problems`.Yes, if D ranks its own problems on a list and give them high priority then they can be solved. If weaknesses are brushed under the carpet, like having a compiler that does not manage memory properly, then they can't solve the problems. But they should never complain that they lack manpower. I and others with me warned strongly against not giving the highest priority to compiler backed memory management over seven years ago, and made it clear that other (then small) languages would rob them of users and manpower. It was made very explicit, so they knew, but ignored it. It was made clear repeatedly that this outcome was easy to predict. People here think that is trolling. The reality is that when many independently say it in these forums then it is not noise, it is a very strong signal. Because most users who feel the same, don't say it. So if 30 people say it, then maybe 3000 feel it. Take care, and have fun with D and other languages! You can use as many as you like :-)
Nov 20 2021
On Saturday, 20 November 2021 at 12:06:35 UTC, Ola Fosheim Grøstad wrote: D's mistake is superstitious `GC`. Many other small language users used to use `d`. Disappointed and left. `D` should listen to the right opinion. Many people's opinions are just misleading. `D` now should be careful, not to make any `big mistakes`.
Nov 20 2021
On Saturday, 20 November 2021 at 12:18:49 UTC, zjh wrote:On Saturday, 20 November 2021 at 12:06:35 UTC, Ola Fosheim Grøstad wrote: D's mistake is superstitious `GC`. Many other small language users used to use `d`. Disappointed and left. `D` should listen to the right opinion. Many people's opinions are just misleading. `D` now should be careful, not to make any `big mistakes`.Yes, but you should not expect it to change soon. That will make you miserable. So, take a break if you feel disappointed. Have fun with other languages and come back next year and see if things fit you better. :-)
Nov 20 2021
On Saturday, 20 November 2021 at 12:27:46 UTC, Ola Fosheim Grøstad wrote:Have fun with other languages and come back next year and see if things fit you better. :-)what D needed is `reasonable organization`. Not only organize `people`, but also organize `code/articles/forum informations/links` etc. With effective organization, combat effectiveness can be doubled. Other languages don't look good. I'm not used to using them.The beauty of language is also `combat effectiveness`.
Nov 20 2021
On Saturday, 20 November 2021 at 13:01:59 UTC, zjh wrote:what D needed is `reasonable organization`. Not only organize `people`, but also organize `code/articles/forum informations/links` etc. With effective organization, combat effectiveness can be doubled.Yes, I am sure that everyone would be very happy if you wrote such items! Maybe more people in your country would discover the language? Such a large country, with many clever people, can make a major impact, I think. If you bring more people to the language, that think the same way as you do yourself, then that can change the direction over time. Just be patient. I had a chinese girlfriend a long time ago, and since then I always have felt more connected to your country, even though is is far away. I would love to see more chinese D programmers! :-D
Nov 20 2021
On Saturday, 20 November 2021 at 13:40:21 UTC, Ola Fosheim Grøstad wrote:I would love to see more chinese D programmers! :-D.Me too.
Nov 20 2021
On Saturday, 20 November 2021 at 12:06:35 UTC, Ola Fosheim Grøstad wrote:Yes, if D ranks its own problems on a list and give them high priority then they can be solved. If weaknesses are brushed under the carpet, like having a compiler that does not manage memory properly, then they can't solve the problems. But they should never complain that they lack manpower. I and others with me warned strongly against not giving the highest priority to compiler backed memory management over seven years ago, and made it clear that other (then small) languages would rob them of users and manpower. It was made very explicit, so they knew, but ignored it. It was made clear repeatedly that this outcome was easy to predict. People here think that is trolling. The reality is that when many independently say it in these forums then it is not noise, it is a very strong signal. Because most users who feel the same, don't say it. So if 30 people say it, then maybe 3000 feel it. Take care, and have fun with D and other languages! You can use as many as you like :-)I agree with your option. Few years ago I decide to give up on D runtime and Phobos, at that time I believe it will take decade to match the need I want to do with D. One can still build ref count betterC with cross platform app, but it is hard and not always get well support from here. better to move on to other language choice. D want to be betterC, better C++/CLI, better Java. It is better at some point, but not better if you want to made a product most time. C++/CLI JAVA is replace by GO/Rust in a lot new project/product, there is so much companies refactor they product by GO or Rust. C++/CLI, Java will not go away, but the market is smaller day by day. D still try to eat this dying market cake, and not get a bite yet. Rust/GO is product oriented programming, D is NOT.
Nov 20 2021
On Saturday, 20 November 2021 at 13:55:51 UTC, workman wrote:On Saturday, 20 November 2021 at 12:06:35 UTC, Ola Fosheim Grøstad wrote:If Rust didn't suck for productivity I would use it. I look at someone doing X in Rust and it takes much longer for them to[...]I agree with your option. [...]
Nov 20 2021
On Saturday, 20 November 2021 at 15:20:21 UTC, Imperatorn wrote:If Rust didn't suck for productivity I would use it. I look at someone doing X in Rust and it takes much longer for them toCompare (https://github.com/trending/rust https://github.com/trending/c%23 https://github.com/trending/scala) with https://github.com/trending/d. Rust is made into linux/window kernel, Video compression, Digital Coin, distribute Database/store, AI/Scientific Computing, UI/Browser Engine, Web framework, WASM, Terminal tools/shell, Javascript/type script preprocessing tools, microVM and docker replacement, TLS/SSL/Crypto. Google/Microsoft/Amazon/Cloudflare/Dropbox/Uber/Netflix/LinkIn has a lot product switch from C/C++ into RUST or GO, and used by real custom. And there is blooming small companies from China build they product on GO/RUST, like PingCap TiDB and a lot others. you know GO/Javascipt/Rust you will find a job more easely. I dare to say GO vs D job opportunity is like 10000000 vs 1.
Nov 20 2021
On Saturday, 20 November 2021 at 15:44:50 UTC, workman wrote:On Saturday, 20 November 2021 at 15:20:21 UTC, Imperatorn wrote:Sure. But I didn't say I was interested in making money. I said I was interested in productivity.[...]Compare (https://github.com/trending/rust https://github.com/trending/c%23 https://github.com/trending/scala) with https://github.com/trending/d. [...]
Nov 20 2021
On Saturday, 20 November 2021 at 16:32:43 UTC, Imperatorn wrote:Sure. But I didn't say I was interested in making money. I said I was interested in productivity.I am not sure how to quantify productivity, maybe D has more productivity, but has much less product.
Nov 20 2021
On Saturday, 20 November 2021 at 16:40:50 UTC, workman wrote:On Saturday, 20 November 2021 at 16:32:43 UTC, Imperatorn wrote:I measure productivity as the number of seconds it takes to get from A to B.Sure. But I didn't say I was interested in making money. I said I was interested in productivity.I am not sure how to quantify productivity, maybe D has more productivity, but has much less product.
Nov 20 2021
On Saturday, 20 November 2021 at 15:44:50 UTC, workman wrote:if you know GO/Javascipt/Rust you will find a job more easely. I dare to say GO vs D job opportunity is like 10000000 vs 1.My personal story, might be a bit incidential though: I applied at like 50 programming jobs at Finland, that were using common every single of them. Granted I think it was a close call in a somewhat viable C++ programmer because it's not that different from D, and I have also used it a bit. Then, the _first_ D workplace I applied to, Symmetry Investments, accepted me. Of course it might have something to do with that it was also the first non-Finnish company I applied to, but still. So much from the theory that D can't get you a job.
Nov 20 2021
On Saturday, 20 November 2021 at 15:20:21 UTC, Imperatorn wrote:If Rust didn't suck for productivity I would use it. I look at someone doing X in Rust and it takes much longer for them toTiDB is a few people build with Go and Rust few years ago, worth 0.34 billion today.
Nov 20 2021
On Saturday, 20 November 2021 at 12:06:35 UTC, Ola Fosheim Grøstad wrote:On Saturday, 20 November 2021 at 11:09:35 UTC, zjh wrote:I think most people ignore your posts mate.I hope `D` can solve `its own problems`.But they should never complain that they lack manpower. I and others with me warned strongly against not giving the highest priority to compiler backed memory management over seven years ago, and made it clear that other (then small) languages would rob them of users and manpower. It was made very explicit, so they knew, but ignored it. It was made clear repeatedly that this outcome was easy to predict. People here think that is trolling. The reality is that when many independently say it in these forums then it is not noise, it is a very strong signal. Because most users who feel the same, don't say it. So if 30 people say it, then maybe 3000 feel it.
Nov 20 2021
On Saturday, 20 November 2021 at 12:06:35 UTC, Ola Fosheim Grøstad wrote:People here think that is trolling. The reality is that when many independently say it in these forums then it is not noise, it is a very strong signal.Non-sequitur. Most people don't write at all on Internet forums. You can't be more representative of the general public than other members of this forum while writing about 20% of the words it contains total. That makes you the outlier, not the general public.
Nov 20 2021
On Saturday, 20 November 2021 at 15:52:37 UTC, Guillaume Piolat wrote:Non-sequitur. Most people don't write at all on Internet forums. You can't be more representative of the general public than other members of this forumI am of course not a representative of the general D programmer. Did you read what I wrote? If 1 person points out X. Then it might be an aberration. If 30 people independently point out X. Then it is a strong signal.
Nov 21 2021
On Sunday, 21 November 2021 at 14:43:00 UTC, Ola Fosheim Grøstad wrote:On Saturday, 20 November 2021 at 15:52:37 UTC, Guillaume Piolat wrote:In case I was unclear: 1. The typical D user is not a regular on the forums. Only the hardcore users are regulars. Fulfilling their wishes does not necessarily satisfy the non-hardcore users. 2. The non-hardcore users use D every now and then. This is the majority. They are happy about some thing, unhappy about other things. Happy enough to dabble. Unhappy enough to not build larger things like frameworks. Then you need to figure out what they are unhappy about and fix it. Until then the eco system will not grow. No matter how many users you have in category 2. It is that simple. Yes?Non-sequitur. Most people don't write at all on Internet forums. You can't be more representative of the general public than other members of this forumI am of course not a representative of the general D programmer. Did you read what I wrote?
Nov 21 2021
On Saturday, 20 November 2021 at 10:49:08 UTC, Ola Fosheim Grøstad wrote:Maybe, but I don't think those that go to conferences represent the majority. C++ conference presentations often show more high level code than people usually write... A distorted reality. What people in the D-forums don't get is that people who come to complain on the forums and are perceived as detractors actually represent that silent majority that never visit the forums, but who want [whatever].Sure, forums don't filter out people who aren't already committed like conferences tend to do. But also: sampling forum complainers has its own biases, they tend to be those of the inpatient and furious nature. Also more or less forum complaining suffers from cheapness of talk. Conference people have usually had to consider the limits of time/manpower/influence when pushing for changes. Forum complainers often have not. That many people have been whining about the same things does not show the forum ranters any less biased. Conference people also often bring up same things as each other, yet we accept there is a bias in sampling just their opinions. Do you think listening to the forum complainers paints a less distorted picture nonetheless, compared to people one meets at conferences? And if, what makes you think so?
Nov 21 2021
On Sunday, 21 November 2021 at 16:24:58 UTC, Dukc wrote:Sure, forums don't filter out people who aren't already committed like conferences tend to do. But also: sampling forum complainers has its own biases, they tend to be those of the inpatient and furious nature.Absolutely. I agree. You cannot take their anger in itself as a need for changing the product. You can try to find out what the source of their anger is. It could for instance be a communication problem and not a product problem. But if 30 people independently say that the Boehm-like GC is preventing them from becoming enthusiatic about the language, and that they therefore are limited to dabbling with it. Then you also should think that there is a rather large number of people that don't come to the forum and feel the same way. Does this mean not having a GC is the right resolution? Of course not. But it suggests that you might have greater enthusiasm in a greater proportion of your user base if you find a better solution for compiler backed memory management. And make that a priority. People will not build a framework until they feel that the tool is solid (for their use case), until then they will dabble with a wait-and-see attitude.Conference people have usually had to consider the limits of time/manpower/influence when pushing for changes. Forum complainers often have not.Maybe. You should of course not accept the solution the complainers present, since it might cause other problems. But if it is a repeating pattern, then you should make it a priority to find a solution that create enthusiasm. By collecting many solution proposal (not a random DIP from a random user) you can get an idea of what options exists and can try to find synergies in the design space. In essence I don't think the users should design the language. I think the designers should design the language. I think the designers should collect ideas from outside, then design something that makes the language become something clean and beautiful as a whole (rather than a mix of 100 different aesthetics from 100 different users)Do you think listening to the forum complainers paints a less distorted picture nonetheless, compared to people one meets at conferences? And if, what makes you think so?The most enthusiastic users may not be able to lift up those issues that make other users less enthusiastic. The most enthusiastic users are likely to grow the complexity of the language if you were to accept all individual features they present. Each feature might be great, but not fit well with everything else. The users that are enthusiastic are already productive. Do you want to prioritize that one group more productive? Or do you want to increase the number of well supported use cases by covering the needs of the less enthusiastic users? Do you want to evolve the design into a corner that the most enthusiastic crowd is in? Or do you want to find a wider sense of common ground? For instance, we now have many non-system-level programmers. We need to preserve their use case, absolutely! So we have to look for common ground with hardcore system level programmers. That is a challenge, but possible (I think). But I don't think that resolution will come from any individual user who is scratching his own itch. It has to come from a designer (or a user that is empathic to many different uses cases) that look for common ground and synergies in the design space. Are we on the same page?
Nov 21 2021
On Sunday, 21 November 2021 at 17:00:43 UTC, Ola Fosheim Grøstad wrote:Absolutely. I agree. You cannot take their anger in itself as a need for changing the product. You can try to find out what the source of their anger is. It could for instance be a communication problem and not a product problem. [snip] Maybe. You should of course not accept the solution the complainers present, since it might cause other problems. But if it is a repeating pattern, then you should make it a priority to find a solution that create enthusiasm. By collecting many solution proposal (not a random DIP from a random user) you can get an idea of what options exists and can try to find synergies in the design space. [snip] Are we on the same page?So you do agree that forum complaining often does not correlate with the problems. But still, you were accusing the regulars here of ivory tower attitude towards forum ranting. In my experience, if you bother to write a concrete and accurate description of your problem here, it usually gets at least taken seriously, if not fixed. So unless you're suggesting we should be appeasing non-specific frustation venting, I don't see how we could do better in this regard. And the latter would definitely not be doable with our manpower.
Nov 24 2021
On Wednesday, 24 November 2021 at 17:04:09 UTC, Dukc wrote:So you do agree that forum complaining often does not correlate with the problems. But still, you were accusing the regulars here of ivory tower attitude towards forum ranting.You are assuming too much now. The complaining do correlate to D not fulfilling their use case needs, the solutions they request may or may not be a good solution. Optimizing the design to the regulars do not broaden the appeal of the language. In order to broaden the appeal you have to look to those that are not yet enthusiastic.venting, I don't see how we could do better in this regard. And the latter would definitely not be doable with our manpower.It is quite possible that no individual person can do better. Cooperation around one vision / plan might be necessary. Like Robert pointed out.
Nov 24 2021
On Wednesday, 24 November 2021 at 17:27:45 UTC, Ola Fosheim Grøstad wrote:... It is quite possible that no individual person can do better. Cooperation around one vision / plan might be necessary. Like Robert pointed out.Yes, precisely. This is how you put some controls on creativity. It's what architects and engineers in fact, must do.
Nov 24 2021
On Wednesday, 24 November 2021 at 17:27:45 UTC, Ola Fosheim Grøstad wrote:You are assuming too much now. The complaining do correlate to D not fulfilling their use case needs, the solutions they request may or may not be a good solution. Optimizing the design to the regulars do not broaden the appeal of the language. In order to broaden the appeal you have to look to those that are not yet enthusiastic.The assumption here appears to be that since the people we're trying to attract are not already using D, people already using D can't know what would buy them in, but a word from an outside complainer is more reliable. People know their own motivations best, right? Sounds reasonable, but Walter has shared personal experiences that warn about that attitude. For example:venting, I don't see how we could do better in this regard. And the latter would definitely not be doable with our manpower.It is quite possible that no individual person can do better. Cooperation around one vision / plan might be necessary. Like Robert pointed out.Related to me by a friend: X told me that what he really wanted in a C++ compiler was compile speed. It was the most important feature. He went on and on about it. I laughed and said that compile speed was at the bottom of his list. He looked perplexed, and asked how could I say that? I told him that he was using Cfront, a translator, with Microsoft C as the backend, a combination that compiled 4 times slower than Zortech C++, and didn't have critical (for DOS) features like near/far pointers. What he really regarded as the most important feature was being a name brand.Given that, It does not sound a very good idea to design the language around what everyone is lobbying for on the forums. I'd much rather concentrate on specific bug reports, questions and improvement proposals. With them the designer can at least trust they show something that really matters, not just made-up excuses for some unacknowledged bias.
Nov 24 2021
On Wednesday, 24 November 2021 at 21:37:58 UTC, Dukc wrote:The assumption here appears to be that since the people we're trying to attract are not already using D, people already using D can't know what would buy them in, but a word from an outside complainer is more reliable. People know their own motivations best, right?I think this overstating the issue. Not-yet-enthusiatic-but-interested people may be using D, but not for anything that they will commit to long term. You need more of those to be enthusiastic in order to get frameworks built. You cannot make them enthusiastic without addressing the issues they have.Given that, It does not sound a very good idea to design the language around what everyone is lobbying for on the forums.Early C++ compilers were buggy. Not a good example. Just a fun anecdote. (Even g++ was quite buggy for a very long time.) As a designer you should ask yourself why N people independently point out weakness X, and then ask yourself what the total impact of X is.I'd much rather concentrate on specific bug reports, questions and improvement proposals. With them the designer can at least trust they show something that really matters, not just made-up excuses for some unacknowledged bias.You should of course polish your product! However, it is generally negative to add a long series of "improvements" to scratch some enthusiastic individual's itch and become slightly better at something you already have covered. You gain more from extending into areas that you do not cover well. were given the freedom to add new cool features? The languages would eventually fail to appeal to any other group than the most enthusiastic ones.
Nov 24 2021
On Wednesday, 24 November 2021 at 21:59:59 UTC, Ola Fosheim Grøstad wrote:I think this overstating the issue. Not-yet-enthusiatic-but-interested people may be using D, but not for anything that they will commit to long term. You need more of those to be enthusiastic in order to get frameworks built. You cannot make them enthusiastic without addressing the issues they have.And the issue is, how do we know what REALLY makes then enthusiastic. You have been saying we pay too little attention to not-that-specific complaining. And I strongly doubt that claim.Early C++ compilers were buggy. Not a good example. Just a fun anecdote. (Even g++ was quite buggy for a very long time.)That isn't his only anecdote on the subject. The post in full: https://forum.dlang.org/post/pmktna$1hgo$1 digitalmars.com . Also he is quoting Laeeth who is saying just the same. Now, it's still anecdotal experience so perhaps you can show them both wrong, if you have something real credible to back that up. If.You should of course polish your product! However, it is generally negative to add a long series of "improvements" to scratch some enthusiastic individual's itch and become slightly better at something you already have covered. You gain more from extending into areas that you do not cover well. users were given the freedom to add new cool features? The languages would eventually fail to appeal to any other group than the most enthusiastic ones.We're talking about attitude towards non-specific, unactionable or nearly unactionable forum ranting. It's not like only die-hards would be specific when they raise issues.
Nov 25 2021
On Thursday, 25 November 2021 at 08:41:55 UTC, Dukc wrote:Now, it's still anecdotal experience so perhaps you can show them both wrong, if you have something real credible to back that up. If.They are both wrong. This is how big companies fold. IBM. SGI. SUN. Etc.We're talking about attitude towards non-specific, unactionable or nearly unactionable forum ranting.Huh? Most of the requests are very much "actionable".
Nov 25 2021
On Thursday, 25 November 2021 at 08:50:19 UTC, Ola Fosheim Grøstad wrote:On Thursday, 25 November 2021 at 08:41:55 UTC, Dukc wrote:The irony to see IBM on the list, given how much they move around the global computing economy, own one of the biggest Linux vendors and the second biggest JVM implementation.Now, it's still anecdotal experience so perhaps you can show them both wrong, if you have something real credible to back that up. If.They are both wrong. This is how big companies fold. IBM. SGI. SUN. Etc.
Nov 25 2021
On Thursday, 25 November 2021 at 10:07:22 UTC, Paulo Pinto wrote:The irony to see IBM on the list, given how much they move around the global computing economy, own one of the biggest Linux vendors and the second biggest JVM implementation.They were forced to change their business model, because they did not give enough priority to emerging markets. We could add Apple to the list too, which was saved by a thin margin. Not to mention Commodore, Atari, 3DO etc etc… We could also start to list languages, but most here would not know them, so no point really.
Nov 25 2021
On Thursday, 25 November 2021 at 10:21:52 UTC, Ola Fosheim Grøstad wrote:On Thursday, 25 November 2021 at 10:07:22 UTC, Paulo Pinto wrote:Except Apple and IBM are around and quite relevant in this industry, including the backends that D depends on, GCC and LLVM. While others on the list are long gone. So you are mixing apples with oranges there.The irony to see IBM on the list, given how much they move around the global computing economy, own one of the biggest Linux vendors and the second biggest JVM implementation.They were forced to change their business model, because they did not give enough priority to emerging markets. We could add Apple to the list too, which was saved by a thin margin. Not to mention Commodore, Atari, 3DO etc etc… We could also start to list languages, but most here would not know them, so no point really.
Nov 25 2021
On Thursday, 25 November 2021 at 11:55:22 UTC, Paulo Pinto wrote:Except Apple and IBM are around and quite relevant in this industryThey are around, but missed the mark for a long time because they saw no need to change when they had the opportunity. They had (or was given) stamina to survive, but that is another issue.
Nov 25 2021
On Thursday, 25 November 2021 at 08:50:19 UTC, Ola Fosheim Grøstad wrote:On Thursday, 25 November 2021 at 08:41:55 UTC, Dukc wrote:I'm definitely far from convinced, but at least this explains why you're so often contrarian. Yeah, if I thought that Walter's and Laeeth's business experience has been misleading them and that for some reason I knew better, I'd question the direction of the language too. You have a lot to do if you're going to convince the rest of us you know this stuff better than Walter and Laeeth do, though.Now, it's still anecdotal experience so perhaps you can show them both wrong, if you have something real credible to back that up. If.They are both wrong. This is how big companies fold. IBM. SGI. SUN. Etc.
Nov 26 2021
On Thursday, 25 November 2021 at 08:50:19 UTC, Ola Fosheim Grøstad wrote:Perhaps I used a bad word there. My point was that you're painting it as if only committed long-time users would give specific, helpful feedback and everyone else who bothers to give feedback would just be demanding changing everything at once. A better GC and D can't do that so D should drop GC". No. Even occasional D users can and often do better than that. Even an inexperienced user ought to recognize that the language isn't written just for them and the language maintainers can't satisfy everyone, but they have better chances to satisfy small, realistic requests.We're talking about attitude towards non-specific, unactionable or nearly unactionable forum ranting.Huh? Most of the requests are very much "actionable".
Nov 26 2021
On Friday, 26 November 2021 at 10:54:46 UTC, Dukc wrote:Perhaps I used a bad word there. My point was that you're painting it as if only committed long-time users would give specific, helpful feedback and everyone else who bothers to give feedback would just be demanding changing everything at once.Did I?has better GC and D can't do that so D should drop GC".I think I've said that one should listen to what issues people have that make them reluctant to use D as a tool for their use case, but not necessarily adopt the solution they propose. D's ecosystem is suffering because people are reluctant to go all in. They have fun with it for projects that are small in scope, but hesitate to do large things with it. For instance, I started yesterday to fool around with Skia in order to make a simple application framework for my own use. I hold the option open for making it work with D, but it won't be a priority as long as there is no vision for D as a solution that is better than C++ across the board (for that use case).Even an inexperienced user ought to recognize that the language isn't written just for them and the language maintainers can't satisfy everyone, but they have better chances to satisfy small, realistic requests.It is possible for D to be an alternative for C++ for more users, but then adjustments have to be made on many issues. Not *big* changes, but adjustments to make it a clear improvement across the board over C++. Without that, D is perceived as somewhat different, and that is not enough.
Nov 26 2021
On Friday, 19 November 2021 at 16:30:14 UTC, Guillaume Piolat wrote:Nim forums are moderated: https://forum.nim-lang.org/ Rust forums are moderated: https://users.rust-lang.org/ Go forums are moderated: https://forum.golangbridge.org/ If you browse them, I doubt you will find the kind of systematic negativity one can find here. If you enjoy reading HN and Reddit, it's also because they are heavily moderated. This is just my opinion, but I think the moderation on the D forums should be a bit more ban-happy.That Nim moderation thread... That one guy is a little too insane, yikes D:
Nov 19 2021
On Friday, 19 November 2021 at 16:30:14 UTC, Guillaume Piolat wrote:Nim forums are moderated: https://forum.nim-lang.org/ Rust forums are moderated: https://users.rust-lang.org/ Go forums are moderated: https://forum.golangbridge.org/ If you browse them, I doubt you will find the kind of systematic negativity one can find here. If you enjoy reading HN and Reddit, it's also because they are heavily moderated. This is just my opinion, but I think the moderation on the D forums should be a bit more ban-happy.Hacker news reporting all of Rust's mods just resigned. https://news.ycombinator.com/item?id=29306845
Nov 22 2021
On Monday, 22 November 2021 at 15:28:20 UTC, jmh530 wrote:On Friday, 19 November 2021 at 16:30:14 UTC, Guillaume Piolat wrote:Yeah just saw that drama. I wonder what that's all about https://github.com/rust-lang/team/pull/671Nim forums are moderated: https://forum.nim-lang.org/ Rust forums are moderated: https://users.rust-lang.org/ Go forums are moderated: https://forum.golangbridge.org/ If you browse them, I doubt you will find the kind of systematic negativity one can find here. If you enjoy reading HN and Reddit, it's also because they are heavily moderated. This is just my opinion, but I think the moderation on the D forums should be a bit more ban-happy.Hacker news reporting all of Rust's mods just resigned. https://news.ycombinator.com/item?id=29306845
Nov 22 2021
On Monday, 22 November 2021 at 18:05:45 UTC, Imperatorn wrote:On Monday, 22 November 2021 at 15:28:20 UTC, jmh530 wrote:Prediction: It's the same stuff all large projects and organizations encounter. Including this project.On Friday, 19 November 2021 at 16:30:14 UTC, Guillaume Piolat wrote:Yeah just saw that drama. I wonder what that's all about https://github.com/rust-lang/team/pull/671Nim forums are moderated: https://forum.nim-lang.org/ Rust forums are moderated: https://users.rust-lang.org/ Go forums are moderated: https://forum.golangbridge.org/ If you browse them, I doubt you will find the kind of systematic negativity one can find here. If you enjoy reading HN and Reddit, it's also because they are heavily moderated. This is just my opinion, but I think the moderation on the D forums should be a bit more ban-happy.Hacker news reporting all of Rust's mods just resigned. https://news.ycombinator.com/item?id=29306845
Nov 22 2021
On Monday, 22 November 2021 at 18:27:31 UTC, bachmeier wrote:On Monday, 22 November 2021 at 18:05:45 UTC, Imperatorn wrote:What is it they encounter?On Monday, 22 November 2021 at 15:28:20 UTC, jmh530 wrote:Prediction: It's the same stuff all large projects and organizations encounter. Including this project.On Friday, 19 November 2021 at 16:30:14 UTC, Guillaume Piolat wrote:Yeah just saw that drama. I wonder what that's all about https://github.com/rust-lang/team/pull/671[...]Hacker news reporting all of Rust's mods just resigned. https://news.ycombinator.com/item?id=29306845
Nov 22 2021
On Monday, 22 November 2021 at 20:56:21 UTC, Imperatorn wrote:What is it they encounter?Disagreements about direction, and personal conflicts in the core team.
Nov 22 2021
On Monday, 22 November 2021 at 21:02:51 UTC, Ola Fosheim Grøstad wrote:On Monday, 22 November 2021 at 20:56:21 UTC, Imperatorn wrote:I understand, I was more curious of what exactly Anyone got inside info? 😎What is it they encounter?Disagreements about direction, and personal conflicts in the core team.
Nov 22 2021
On Monday, 22 November 2021 at 21:15:53 UTC, Imperatorn wrote:On Monday, 22 November 2021 at 21:02:51 UTC, Ola Fosheim Grøstad wrote:No. But it's clearly related to 'the moderators' trying (and failing) to enforce a code of conduct upon the core team. Their code of conduct is like a religion to them (to the moderators that is). So really...nothing to see here... this kinda thing is inevitable. btw. Who moderates the moderators?On Monday, 22 November 2021 at 20:56:21 UTC, Imperatorn wrote:I understand, I was more curious of what exactly Anyone got inside info? 😎What is it they encounter?Disagreements about direction, and personal conflicts in the core team.
Nov 22 2021
On Monday, 22 November 2021 at 21:53:08 UTC, forkit wrote:btw. Who moderates the moderators?They did. They fired themselves.
Nov 22 2021
On Monday, 22 November 2021 at 18:05:45 UTC, Imperatorn wrote:https://github.com/rust-lang/team/pull/671Big news.Probably a dictatorship.
Nov 22 2021
On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:On Thursday, 18 November 2021 at 18:05:38 UTC, Abdulhaq wrote:Sorry but you've totally misunderstood me. I hate bullying and I certainly don't feel as if I'm bullying anyone. Who am I bullying? You can't bully a language so I guess you mean the community. From time to time I explain why I'm not using D myself, even though I'm attracted to it. I'm sorry if it hurts, if I was wrong would it hurt as much? If I'm right, is it better to carry on not knowing, so that you can feel good? Say you have a store, way out of town. There is no parking there for cars, so the few customers there have come by bicycle. I live in town and know that thousands of people would like the store and use it, if it had parking. Is it wrong of me to drive out to the store, park up quickly on the road, pop in and say to the owners, hey, if you had more parking then I think you'd get many more customers? Is that bullying? You're lumping me in with the drive-by attention seekers. I guess that's understandable that from your POV I fit the pattern. I get no pleasure from my comment but I do think it's a worthwhile observation to be aware of. The internet is a poor medium for seeing inside other people's heads, and you've definitely msisunderstood what's in mine. At one time, years ago, I put months of my spare time into writing a D wrapper for Qt, you can search my comment history and check on GitHub. Anyway I don't take it personally, sorry if I hurt you somehow. You shouldn't take it personally either.I just want to give a POV that I think can help lift the number of users._Doing things with D_ help lift the number of users. Constant, harsh, unsubstantiated criticism on the main communication channel (these very forums) for D doesn't help getting more users. No language has an anti-themselves campaign going on for years on their main communication channels. Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.
Nov 19 2021
On Friday, 19 November 2021 at 11:52:04 UTC, Abdulhaq wrote:On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:It's not about you, but the pattern. It gets tiresome in the long run.[...]Sorry but you've totally misunderstood me. I hate bullying and I certainly don't feel as if I'm bullying anyone. Who am I bullying? You can't bully a language so I guess you mean the community. From time to time I explain why I'm not using D myself, even though I'm attracted to it. I'm sorry if it hurts, if I was wrong would it hurt as much? If I'm right, is it better to carry on not knowing, so that you can feel good? [...]
Nov 19 2021
On Friday, 19 November 2021 at 12:11:48 UTC, Imperatorn wrote:It's not about you, but the pattern.The pattern is the result of not having a software development process at the core of the project, not a result of users having expectations. You raise those expectations in the users by how you present yourself. Users are the environment. You have to adapt and change your own behaviour if you are a developer, service provider, foundation. You cannot change the users. Only changes to the product, the process, the communication can change the pattern.
Nov 19 2021
On Friday, 19 November 2021 at 12:11:48 UTC, Imperatorn wrote:On Friday, 19 November 2021 at 11:52:04 UTC, Abdulhaq wrote:Yes I understand.On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:It's not about you, but the pattern. It gets tiresome in the long run.[...]Sorry but you've totally misunderstood me. I hate bullying and I certainly don't feel as if I'm bullying anyone. Who am I bullying? You can't bully a language so I guess you mean the community. From time to time I explain why I'm not using D myself, even though I'm attracted to it. I'm sorry if it hurts, if I was wrong would it hurt as much? If I'm right, is it better to carry on not knowing, so that you can feel good? [...]
Nov 19 2021
On Friday, 19 November 2021 at 11:52:04 UTC, Abdulhaq wrote:Anyway I don't take it personally, sorry if I hurt you somehow. You shouldn't take it personally either.I'm not specifically talking about you, or your posts, or this thread, more as an overview of the similar threads going on.
Nov 19 2021
On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:On Thursday, 18 November 2021 at 18:05:38 UTC, Abdulhaq wrote:+1I just want to give a POV that I think can help lift the number of users._Doing things with D_ help lift the number of users. Constant, harsh, unsubstantiated criticism on the main communication channel (these very forums) for D doesn't help getting more users. No language has an anti-themselves campaign going on for years on their main communication channels. Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.
Nov 19 2021
On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:On Thursday, 18 November 2021 at 18:05:38 UTC, Abdulhaq wrote:Amen. This is exactly what happens here.I just want to give a POV that I think can help lift the number of users._Doing things with D_ help lift the number of users. Constant, harsh, unsubstantiated criticism on the main communication channel (these very forums) for D doesn't help getting more users. No language has an anti-themselves campaign going on for years on their main communication channels. Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.
Nov 19 2021
On Friday, 19 November 2021 at 14:37:51 UTC, Patrick Schluter wrote:On Friday, 19 November 2021 at 11:24:15 UTC, Guillaume Piolat wrote:You are really sure about that? https://philosophy.lander.edu/oriental/charity.htmlOn Thursday, 18 November 2021 at 18:05:38 UTC, Abdulhaq wrote:Amen. This is exactly what happens here.[...]_Doing things with D_ help lift the number of users. Constant, harsh, unsubstantiated criticism on the main communication channel (these very forums) for D doesn't help getting more users. No language has an anti-themselves campaign going on for years on their main communication channels. Imagine you child is bullied at school. Would your idea of helping him is to _make public criticism of the many ways he would have to change in order to have friends_? No, this is just bullying, by people who enjoy doing just that.
Nov 19 2021
On 11/16/2021 12:55 AM, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?No software development is ever done as long as people are still using it.
Nov 18 2021
On Friday, 19 November 2021 at 01:14:47 UTC, Walter Bright wrote:On 11/16/2021 12:55 AM, Abdulhaq wrote:That's true, of course. What I mean is, nail all those boring I-know-I-should-fix-those-small-to-medium-size-problems-but-I'm-not-sure-how and park, for now, the interesting DIPs etc. Finalise the feature set for an LTS version and really polish it to make it the best experience it can be for a developer, within the bounds of what is actually possible of course. Make it the focus of the community. Commit to supporting that release for bugs and security issues, on a nominated set of platforms, for a nominated period of time. This is my proposal if you want to grow the number of corporate developers using D. Maybe you don't, that's your call obviously. If I'm barking up the wrong tree then set me straight and make it clear what the vision actually is. Personally I'm also curious, do you have a particular set of developers in mind as users, or are you just scratching your own itch and hoping that it will also be good for others? Both answers are perfectly reasonable, but it would be nice to know the answer.Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?No software development is ever done as long as people are still using it.
Nov 19 2021
On Friday, 19 November 2021 at 08:41:05 UTC, Abdulhaq wrote:That's true, of course. What I mean is, nail all those boring I-know-I-should-fix-those-small-to-medium-size-problems-but-I'm-not-sure-how and park, for now, the interesting DIPs etc. Finalise the feature set for an LTS version and really polish it to make it the best experience it can be for a developer, within the bounds of what is actually possible of course. Make it the focus of the community. Commit to supporting that release for bugs and security issues, on a nominated set of platforms, for a nominated period of time.I recommend you watch Atila's upcoming DConf Online talk: https://youtu.be/UqW42_8kn0s That will cover part of what you're asking about. And I expect that the revised governance proposal Mathias Lang is preparing to put forward in the coming weeks will create the framework where we'll be able to marshal and direct community resources (volunteered and paid) toward specific tasks to enhance the ecosystem. That includes the finalization/polishing of troubled language features and any potential changes to the release process. See the following meeting summary for background: https://forum.dlang.org/thread/fnzuguuewsvzswpwiwar forum.dlang.org
Nov 19 2021
On Friday, 19 November 2021 at 09:15:21 UTC, Mike Parker wrote:I recommend you watch Atila's upcoming DConf Online talk: https://youtu.be/UqW42_8kn0sSee the following meeting summary for background: https://forum.dlang.org/thread/fnzuguuewsvzswpwiwar forum.dlang.orgThanks Mike, I will certainly do that. I do enjoy the DConf videos and and I follow the DLF meetings.
Nov 19 2021
On Tuesday, 16 November 2021 at 08:55:27 UTC, Abdulhaq wrote:Is there a set of features that, when fully working, will mean that D2 is now finished? Or will it forever be in a state of ongoing feature development? We all know that properly finishing and polishing the last 10% of a software project takes 90% of the time. Is there a timescale for that? What platforms will it support?I'd say lets not finish it and start on D3 instead.
Nov 24 2021
On Wednesday, 24 November 2021 at 17:14:56 UTC, IGotD- wrote:.. I'd say lets not finish it and start on D3 instead.No. D2 needs to first come to a design halt. It seems far from that at the moment. D3 is inevitable, of course. The only question is what design decisions will 'force' that move to the next version of D? I'd be more interested to hear in detail, about that aspect of moving D forward, rather just the call to dump D2 and create a D3. No fluffy 'vision'.. I wanna see the details.
Nov 24 2021
On Wednesday, 24 November 2021 at 21:41:10 UTC, forkit wrote:On Wednesday, 24 November 2021 at 17:14:56 UTC, IGotD- wrote:Agreed. I think we *need* a stable D2 before we can hope for widespread adoption. This could mean either finishing the incomplete things or backing them out, but it's got to go one way or the other on all significant outstanding things. Making a list of these things and deciding if they are "in" or "out" of clear that there will, indeed, be an LTS release upcoming. Without that clearly stated no one should use D for anything other than hobby programming. To do so would be irresponsible... I'd say lets not finish it and start on D3 instead.No. D2 needs to first come to a design halt. It seems far from that at the moment.D3 is inevitable, of course. The only question is what design decisions will 'force' that move to the next version of D? I'd be more interested to hear in detail, about that aspect of moving D forward, rather just the call to dump D2 and create a D3. No fluffy 'vision'.. I wanna see the details.Well, I think first having a general vision is a prerequisite before details can be worked out... No one person can work out all the details, and multiple people need to adopt some shared vision in order to move things forward. Lack of shared vision is one of our biggest problems.
Nov 24 2021
On Wednesday, 24 November 2021 at 21:55:46 UTC, Greg Strong wrote:Lack of shared vision is one of our biggest problems.D's vision can be summed up as `better, faster, safer and more elegant`. As long as we stick to that goal, you can attract your `target user`.
Nov 24 2021
On Thursday, 25 November 2021 at 00:56:07 UTC, zjh wrote:On Wednesday, 24 November 2021 at 21:55:46 UTC, Greg Strong wrote:better than what? (than shooting yourself in the foot?) faster than what? (a speeding train?) safer than what? (no safety?) more elegant than what? (the inelegance of C and C++?) They just fluffy adjectives with no real meaning.Lack of shared vision is one of our biggest problems.D's vision can be summed up as `better, faster, safer and more elegant`. As long as we stick to that goal, you can attract your `target user`.
Nov 24 2021
On Thursday, 25 November 2021 at 01:07:20 UTC, forkit wrote:better than what? (than shooting yourself in the foot?)D just needs to be `faster, safer, more elegant, better` than `D` its self.
Nov 24 2021
On Thursday, 25 November 2021 at 00:56:07 UTC, zjh wrote:On Wednesday, 24 November 2021 at 21:55:46 UTC, Greg Strong wrote:The vision, as I see it (at the moment), can be summed up like this: D++ :-(Lack of shared vision is one of our biggest problems.D's vision can be summed up as `better, faster, safer and more elegant`. As long as we stick to that goal, you can attract your `target user`.
Nov 24 2021
On Thursday, 25 November 2021 at 01:19:50 UTC, forkit wrote:The vision, as I see it (at the moment), can be summed up like this: D++ :-(How is `D++` bad? I like `C++`. It's easy to use. It would be nice if we had `D++`.
Nov 24 2021
On Thursday, 25 November 2021 at 01:49:37 UTC, zjh wrote:On Thursday, 25 November 2021 at 01:19:50 UTC, forkit wrote:My concern is that a D++ will for 'compatability reasons' bring with it, many of the flaws in C++ - just as C++ bought with it many of the flaws in C. This is where I think, Go got it right (although they made some design decisions that I simply refuse to accept). What we really need is a simpler compiler that we can trust (through formal verfication and proofs). That is how one implements safe and trusted ;-) D is already a complex beast (just to learn - nevermind implementing a compiler for it)! And D++...well... whoohoo....hold on tight!The vision, as I see it (at the moment), can be summed up like this: D++ :-(How is `D++` bad? I like `C++`. It's easy to use. It would be nice if we had `D++`.
Nov 24 2021
On Thursday, 25 November 2021 at 02:14:34 UTC, forkit wrote:And D++...well... whoohoo....hold on tight!`C++`, so complicated, but so what? Complexity is left to the compiler. As a user, I enjoy it. That's right. Therefore,C++ has a large number of users. `D++` can also be used in this way, things are complicated, you have to provide more things. `complexity` is one of the essence of language. And `go` now also in the `complex` road, there is no basic `template`, which can abstract well, `go` now, has betrayed his `simple` concept. It feels like cheating.
Nov 24 2021
On Thursday, 25 November 2021 at 02:31:56 UTC, zjh wrote:On Thursday, 25 November 2021 at 02:14:34 UTC, forkit wrote:Yes, I agree. Complexity is not inherently bad. However, to paraphrase a statement from ziglang website... You do not want to get to the point, where you find yourself debugging one's knowledge of the programming language instead of debugging the application itself.And D++...well... whoohoo....hold on tight!`C++`, so complicated, but so what? Complexity is left to the compiler. As a user, I enjoy it. That's right. Therefore,C++ has a large number of users. `D++` can also be used in this way, things are complicated, you have to provide more things. `complexity` is one of the essence of language. And `go` now also in the `complex` road, there is no basic `template`, which can abstract well, `go` now, has betrayed his `simple` concept. It feels like cheating.
Nov 24 2021
On Thursday, 25 November 2021 at 03:04:47 UTC, forkit wrote:debugging one's knowledge of the programming language instead of debugging the application itself.You're right. I also hope D can `reasonably arrange and organize` time, list the problems to be solved according to the importance, and solve them one by one. Appropriate damage, I think, is tolerable. Freeze `D2` and working on `D3`,It's also Ok. The key is to organize `time and manpower` reasonably. I also believe in the ability of `machine verification`. Don't be afraid of change, what you are afraid of is not change.
Nov 24 2021
On Thursday, 25 November 2021 at 02:14:34 UTC, forkit wrote:What we really need is a simpler compiler that we can trust (through formal verfication and proofs). That is how one implements safe and trusted ;-)That is an ideal, not a reality.
Nov 24 2021
On Thursday, 25 November 2021 at 02:39:17 UTC, zjh wrote:On Thursday, 25 November 2021 at 02:14:34 UTC, forkit wrote:no. it's a reality. https://compcert.org/compcert-C.htmlWhat we really need is a simpler compiler that we can trust (through formal verfication and proofs). That is how one implements safe and trusted ;-)That is an ideal, not a reality.
Nov 24 2021