On Tuesday, March 20, 2018 22:58:44 bachmeier via Digitalmars-d wrote: > On Tuesday, 20 March 2018 at 22:09:18 UTC, Timothee Cour wrote: > > [...] > > No, it doesn't scale, and years of evidence have demonstrated > that. > > I see no way that this will change, and because delegation is off > the table, the only realistic way for the language to progress is > to put as much as possible into libraries. From time to time I > see posts saying more should be added to Phobos, but the reality > is that stuff should be removed from Phobos.
Well, the kind of improvements that potentially have Andrei as a bottleneck are generally small. We're talking a function or two at a time here. And the pros and cons of that situation can definitely be debated, but in terms of adding anything significant to Phobos, Andrei isn't generally a bottleneck. Adding modules means going through the Phobos review process, which is an entirely different beast and one that almost no one seems to want to go through - or in some cases, part of the problem may be that few enough attempts have been made recently to include new modules that potential contributors don't even realize how that works. Either way, we don't have people coming forward with major contributions to Phobos. All we're dealing with is a bunch of smaller improvements to Phobos, and while those are definitely valuable, they're also frequently not the sort of thing where there's debate about putting it in Phobos vs a third party library - or at least, you wouldn't create a third party library for that functionality; at most, it would just fit into an existing library that contains a variety of functionality, whereas if you're talking about adding large enough pieces of functionality to add a new module, creating a library for that would probably make sense. So, we're really dealing with two separate issues when we start talking about Andrei being a bottleneck and talking about making major contributions to Phobos where maybe those contributions should just be third party libraries. And as for putting major, new functionality into Phobos, we probably do need to do a better job of that than we have given that we have some older modules that we'd like to replace that haven't been, but for most stuff, there's really no reason that it needs to be in Phobos as opposed to on code.dlang.org other than the fact that having it in Phobos gives it more exposure and makes it easier for folks to find. Some of it could go into Phobos, and there is a debate to be had there with any particular piece of functionality, but it can also just be on code.dlang.org and work just fine. In either case, it needs folks to write it and maintain it. Arguably, if we're looking to improve the situation with major pieces of functionality being available in D, we need to figure out how to improve the situation with code.dlang.org and encourage solid contributions there. Some of that could and should end up in Phobos, but the vast majority of useful code out there is not going to be in the standard library, no matter what language you're talking about. So, no matter where the line is exactly for what should and shouldn't be in Phobos, finding ways to improve code.dlang.org and encourage contributions there may very well be more valuable in the long run. In any case, overall, I'm inclined to think that some of what's managed to make it into Phobos and a number of the things that some folks push to have in the standard library (e.g. http stuff or database stuff) should probably just be third party libraries rather trying to insist that Phobos include everything and the kitchen sink. I think that our experience thus far has shown that it's fairly difficult to have everything and the kitchen sink in Phobos and have it be well-maintained. The issues that led to Andrei deciding to insist on approving every symbol being added to Phobos are just part of that, but regardless, in order to have more of a kitchen sink, we would probably not only need to make adjustments to how we handle PRs for Phobos, but we would need more people to come forward with major contributions for the review queue. In the end, the biggest thing we need is for useful libraries to be written, be available, and be discoverable by those looking for them. Whether that code is in Phobos or not doesn't matter in that respect. code.dlang.org is getting there, but as has been discussed before, there are improvements that should be made to it to help with all of that, and ultimately, we need folks who are willing to spend their time writing good code and making it available, whether we're talking about code.lang.org, Phobos, dmd, or whatever. - Jonathan M Davis