www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Phobo's migration

reply Joerg Joergonson <JJoergonson gmail.com> writes:
How bout Freezing Phobos, except for bugs and start migrating it 
to Phobos 2.0?. This way a proper library can be built that 
doesn't feel like a lot of stuff thrown together 
haphazardly(think .NET).

This will be migrating Phobos over to use the new 
constructs(nogc, safe, etc), remove the crust and just polish 
things up. It could be added to the release and used "import p = 
Phobos2;"

By the time it's finished D3 will be around and it could be used 
for it. A committee can formed to decide what to include and to 
design the structure of the library. Anyone can submit code.

This allows a clean break but and to learn, but not be shackled 
by the past.  It could go rather fast(months rather than years) 
since most of the code is already written, it just needs to be 
migrated properly(might might not require anything but copy and 
paste for large amounts of code).

I know some people like to keep their old rusty cars on their 
front lawns but it only tells everybody that they are stuck in 
the past.
Jun 22 2016
next sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Wednesday, 22 June 2016 at 16:44:25 UTC, Joerg Joergonson 
wrote:
 How bout Freezing Phobos, except for bugs and start migrating 
 it to Phobos 2.0?.
This would kill the language.
 This will be migrating Phobos over to use the new 
 constructs(nogc, safe, etc),
How, in your opinion, are these not being used already?
 By the time it's finished D3 will be around and it could be 
 used for it.
D3 will probably never happen; at least not in the foreseeable future.
 This allows a clean break but and to learn, but not be shackled 
 by the past.  It could go rather fast(months rather than years) 
 since most of the code is already written, it just needs to be 
 migrated properly(might might not require anything but copy and 
 paste for large amounts of code).
What exactly, in your opinion, needs to be changed? What's so broken that it needs a "clean break"?
Jun 22 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Wednesday, 22 June 2016 at 16:51:32 UTC, Jack Stouffer wrote:
 On Wednesday, 22 June 2016 at 16:44:25 UTC, Joerg Joergonson 
 wrote:
 How bout Freezing Phobos, except for bugs and start migrating 
 it to Phobos 2.0?.
This would kill the language.
How is that? That makes no sense. If Phobo's is production ready as claimed then freezing it can't make it automagically non-production ready, can it?
 This will be migrating Phobos over to use the new 
 constructs(nogc, safe, etc),
How, in your opinion, are these not being used already?
I didn't say they wernt, but they are being done on phobos, which is suppose to be done. The fact that Stopwatch, Monotime, TickDuration are all screwed up, etc... proves that there are problems. The fact that Phobo's is trying to become nogc but isn't yet also shows it has a ways to go.
 By the time it's finished D3 will be around and it could be 
 used for it.
D3 will probably never happen; at least not in the foreseeable future.
That gives us plenty of time, right?
 This allows a clean break but and to learn, but not be 
 shackled by the past.  It could go rather fast(months rather 
 than years) since most of the code is already written, it just 
 needs to be migrated properly(might might not require anything 
 but copy and paste for large amounts of code).
What exactly, in your opinion, needs to be changed? What's so broken that it needs a "clean break"?
Phobos is obviously poorly designed, hacked together, manipulated, and in a constant flux of regressions, bugs, additions, and removals. Have you every used .NET considerably?
Jun 22 2016
next sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 22 June 2016 at 17:55:11 UTC, Joerg Joergonson 
wrote:
 Have you every used .NET considerably?
You're comparing D to something created and maintained by one of the largest software companies in the world...
Jun 22 2016
parent Icecream Bob <icecream icecream.com> writes:
On Wednesday, 22 June 2016 at 18:25:51 UTC, jmh530 wrote:
 On Wednesday, 22 June 2016 at 17:55:11 UTC, Joerg Joergonson 
 wrote:
 Have you every used .NET considerably?
You're comparing D to something created and maintained by one of the largest software companies in the world...
Sounds like a good model to follow.
Jun 23 2016
prev sibling next sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Wednesday, 22 June 2016 at 17:55:11 UTC, Joerg Joergonson 
wrote:
 How is that? That makes no sense. If Phobo's is production 
 ready as claimed then freezing it can't make it automagically 
 non-production ready, can it?
D cannot afford to be stagnant in a time of fierce language competition. C++ almost died off completely outside of a couple of niches because it stood still for so long. D does not have the momentum to carry it for even a half year of no improvements.
 I didn't say they wernt, but they are being done on phobos
Honest question: have you ever looked into Kaizen and lean management https://en.wikipedia.org/wiki/Kaizen? Because stopping everything in Phobos and waiting for "breakthroughs" is a dead on arrival plan. A continuous improvement process is much more viable, realistic, and likely to produce good results. That's what the D development process does without even being explicit about it. Each release is better than the last one. Perfect? Never. Better? Always.
 which is suppose to be done. The fact that Stopwatch, Monotime, 
 TickDuration are all screwed up, etc... proves that there are 
 problems.
That specifically proves there are problems in std.datetime sure, and they're being fixed as TickDuration is marked for deprecation.
 The fact that Phobo's is trying to become nogc but isn't yet 
 also shows it has a ways to go.
Right, so let's keep working on it, not freeze it and not duplicate thousands of man hours of work for no reason.
 That gives us plenty of time, right?
Plenty of time to keep fix bugs like we currently are, sure.
 Phobos is obviously poorly designed, hacked together
 manipulated
This isn't obvious at all, I think D's take on iterators (ranges) is the best iterator design out there right now. D code is also faster than most of it's competitors (excluding C++ in some cases) and more readable to boot.
 and in a constant flux of regressions, bugs
Bugs and regressions are bad; I'm not going to disagree. But, have you looked at the bug list for most OSS projects? D is not atypical, compare: D, 4073 open issues: https://issues.dlang.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&limit=0&list_id=209089&order=changeddate%20DESC&product=D&query_format=advanced&resolution=---&version=D2 LLVM, 8536 open issues: https://llvm.org/bugs/buglist.cgi?bug_status=__open__&content=&product=&query_format=specific&order=bug_status%2Cpriority%2Cassigned_to%2Cbug_id&limit=0 Firefox, roughly 22,000, bugzilla is unable to return the full list so it's hard to get real numbers: https://bugzilla.mozilla.org/reports.cgi?product=Firefox&datasets=UNCONFIRMED&datasets=NEW&datasets=ASSIGNED&datasets=REOPENED You also failed to mention how stopping development on Phobos would help in this regard. Bugs will still happen and need to be fixed.
 additions
Great! New, well designed features come to users quickly in D.
 and removals
IMO it's better to remove things than to maintain broken things and sacrificing readability and usability on the altar of backwards compatibility. D gives 12 - 18 month deprecation periods, and considering that a new release typically lands every two months, that's extremely generous.
 Have you every used .NET considerably?
Nope; mac user.
Jun 22 2016
parent reply Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Wednesday, 22 June 2016 at 19:02:38 UTC, Jack Stouffer wrote:
 On Wednesday, 22 June 2016 at 17:55:11 UTC, Joerg Joergonson 
 wrote:
 How is that? That makes no sense. If Phobo's is production 
 ready as claimed then freezing it can't make it automagically 
 non-production ready, can it?
D cannot afford to be stagnant in a time of fierce language competition. C++ almost died off completely outside of a couple of niches because it stood still for so long. D does not have the momentum to carry it for even a half year of no improvements.
 I didn't say they wernt, but they are being done on phobos
Honest question: have you ever looked into Kaizen and lean management https://en.wikipedia.org/wiki/Kaizen? Because stopping everything in Phobos and waiting for "breakthroughs" is a dead on arrival plan. A continuous improvement process is much more viable, realistic, and likely to produce good results.
This is not true. There are many development methodologies and most of them are not suitable for designing programming languages, including all "lean" methodologies.
Jun 23 2016
next sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Thursday, 23 June 2016 at 08:52:06 UTC, Ola Fosheim Grøstad 
wrote:
 This is not true.
Please elaborate.
 There are many development methodologies and most of them are 
 not suitable for designing programming languages, including all 
 "lean" methodologies.
D is a continually improving language. If it wasn't and D2 had the same design today as it did when it was released, or it had a language committee and it proceeded at a quarter of the speed, then D would not be nearly as popular as it is now. Design by committee usually produces subpar or bland results and is painfully slow to boot, and IIRC is one of the reasons Walter created D: to get away from the C++ standards committee.
Jun 23 2016
parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Thursday, 23 June 2016 at 12:37:58 UTC, Jack Stouffer wrote:
 Design by committee usually produces subpar or bland results 
 and is painfully slow to boot, and IIRC is one of the reasons 
 Walter created D: to get away from the C++ standards committee.
The output of a committe is as good as the people on it and what those people can agree on. The strength of the C++ standards committee is that they have sufficient diversity to cover many fields and enough resistance to limit most unnecessary additions to the standard library. The output of the C++ committee over the past decade has been decent IMO. The core issues in C++ is related to C compatibility which also is its core strength, backwards compatibility. Unfortunately D has become stuck in the same kind of compatibility backwaters, but without reaping the benefits that C++ has. Some C++ advantages that D does not have: - Multiple independent compiler vendors pushing the envelope. - Alternative independent foundational library frameworks/repositories. So in C++ you have many language features being tested in production years or decades before they are added to the standard. In D the design is tested after being added to the "implicit standard" of DMD/Phobos.
Jun 24 2016
prev sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Thursday, 23 June 2016 at 08:52:06 UTC, Ola Fosheim Grøstad 
wrote:
 Honest question: have you ever looked into Kaizen and lean 
 management https://en.wikipedia.org/wiki/Kaizen? Because 
 stopping everything in Phobos and waiting for "breakthroughs" 
 is a dead on arrival plan. A continuous improvement process is 
 much more viable, realistic, and likely to produce good 
 results.
This is not true. There are many development methodologies and most of them are not suitable for designing programming languages, including all "lean" methodologies.
Kaizen just means continuous improvement. My Dad is an industrial engineer and talked about it all the time growing up. I really can't even fathom why anyone would be opposed to it... Lean is a broader concept and may not necessarily be a good fit.
Jun 23 2016
parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Thursday, 23 June 2016 at 14:52:48 UTC, jmh530 wrote:
 On Thursday, 23 June 2016 at 08:52:06 UTC, Ola Fosheim Grøstad 
 wrote:
 Honest question: have you ever looked into Kaizen and lean 
 management https://en.wikipedia.org/wiki/Kaizen? Because 
 stopping everything in Phobos and waiting for "breakthroughs" 
 is a dead on arrival plan. A continuous improvement process 
 is much more viable, realistic, and likely to produce good 
 results.
This is not true. There are many development methodologies and most of them are not suitable for designing programming languages, including all "lean" methodologies.
Kaizen just means continuous improvement. My Dad is an industrial engineer and talked about it all the time growing up. I really can't even fathom why anyone would be opposed to it... Lean is a broader concept and may not necessarily be a good fit.
Apples and oranges. Well designed programming languages requires a specification that is coherent, so they tend to follow a waterfall pattern, not an iterative pattern (kaizen).
Jun 24 2016
prev sibling parent reply Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Wednesday, 22 June 2016 at 17:55:11 UTC, Joerg Joergonson 
wrote:
 On Wednesday, 22 June 2016 at 16:51:32 UTC, Jack Stouffer wrote:
 On Wednesday, 22 June 2016 at 16:44:25 UTC, Joerg Joergonson 
 wrote:
 How bout Freezing Phobos, except for bugs and start migrating 
 it to Phobos 2.0?.
This would kill the language.
How is that? That makes no sense. If Phobo's is production ready as claimed then freezing it can't make it automagically non-production ready, can it?
The DMD developers refuse to use Phobos in the D compiler, so Phobos is obviously not production ready. (Plenty of compilers use the C++ standard library.) I agree with the need for a D3 and a completely redesigned standard library though. But it will only happen as a fork, not from within the current team...
Jun 23 2016
next sibling parent Suliman <evermind live.ru> writes:
 I agree with the need for a D3 and a completely redesigned 
 standard library though. But it will only happen as a fork, not 
 from within the current team...
http://volt-lang.org/ as variant
Jun 23 2016
prev sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Thursday, 23 June 2016 at 08:55:07 UTC, Ola Fosheim Grøstad 
wrote:
 The DMD developers refuse to use Phobos in the D compiler, so 
 Phobos is obviously not production ready.
Ridiculous. One data point does not make a trend. Phobos is "obviously" production ready as it's being used in production at many companies https://dlang.org/orgs-using-d.html So companies are willing to build their infrastructure on D because they have determined that it's ready for there uses. But we've had a similar argument before; IIRC you brought up something about toy languages in use in companies.
Jun 23 2016
parent reply Steven Schveighoffer <schveiguy yahoo.com> writes:
On 6/23/16 8:31 AM, Jack Stouffer wrote:
 On Thursday, 23 June 2016 at 08:55:07 UTC, Ola Fosheim Grøstad wrote:
 The DMD developers refuse to use Phobos in the D compiler, so Phobos
 is obviously not production ready.
Ridiculous. One data point does not make a trend. Phobos is "obviously" production ready as it's being used in production at many companies https://dlang.org/orgs-using-d.html So companies are willing to build their infrastructure on D because they have determined that it's ready for there uses. But we've had a similar argument before; IIRC you brought up something about toy languages in use in companies.
I don't mean this as disproof, but many companies are not using Phobos, even though they use D. Sociomantic definitely does not (they use D1 currently, and their D2 port probably uses a port of their library as well), and I believe Weka.io does not either. Again, this isn't proof that Phobos isn't production ready. It depends on what you need, and whether Phobos satisfies that need. -Steve
Jun 23 2016
next sibling parent reply "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Thu, Jun 23, 2016 at 08:57:47AM -0400, Steven Schveighoffer via
Digitalmars-d wrote:
 On 6/23/16 8:31 AM, Jack Stouffer wrote:
[...]
 Phobos is "obviously" production ready as it's being used in
 production at many companies https://dlang.org/orgs-using-d.html
 
 So companies are willing to build their infrastructure on D because
 they have determined that it's ready for there uses. But we've had a
 similar argument before; IIRC you brought up something about toy
 languages in use in companies.
I don't mean this as disproof, but many companies are not using Phobos, even though they use D. Sociomantic definitely does not (they use D1 currently, and their D2 port probably uses a port of their library as well), and I believe Weka.io does not either.
AFAIK, the reason Sociomantic doesn't use Phobos is because their codebase started with D1, and D1 Phobos was pretty sucky. Of course, now that they have built their own library, it's hard to switch to D2 Phobos, because the current Phobos has quite a different design from before and would entail too big of a code change.
 Again, this isn't proof that Phobos isn't production ready. It depends
 on what you need, and whether Phobos satisfies that need.
[...] Just out of curiosity, do we know which companies are definitively using Phobos in production? I do use Phobos extensively in my own projects, but currently none are "production" projects. (Mainly because there is a lot of resistance in my day job against anything that isn't plain old C. Sigh.) Most of Phobos is actually quite handy, though the older, crufty modules are annoying (like std.xml, std.json, that badly need an up-to-date replacement). T -- Stop staring at me like that! It's offens... no, you'll hurt your eyes!
Jun 23 2016
parent Dicebot <public dicebot.lv> writes:
On 06/23/2016 04:04 PM, H. S. Teoh via Digitalmars-d wrote:
 Sociomantic definitely does not (they use D1 currently, and their D2
 port probably uses a port of their library as well), and I believe
 Weka.io does not either.
AFAIK, the reason Sociomantic doesn't use Phobos is because their codebase started with D1, and D1 Phobos was pretty sucky. Of course, now that they have built their own library, it's hard to switch to D2 Phobos, because the current Phobos has quite a different design from before and would entail too big of a code change.
There are quite some issues with Phobos design decisions on its own that make it hard to use in our code base. One typical example is allocating new exception instances - it is illegal in our code as we always reuse them (and ban chaining of exceptions instead). It is still not decided if we are even going to try to switch to Phobos at all for main projects - not because our tango based code is really better (there is considerable amount of old-fashioned legacy there) but because it is under full control and pushing for even a smallest architectural change in Phobos is often larger effort than just rewriting the stuff completely. That said, I don't think the Phobos really should be (or even can be!) "production ready" in that sense. It is general purpose library and a common ground for buildin some quick prototypes. And going for more specialized domains tends to require sacrifices for everyone else.
Jun 23 2016
prev sibling next sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Thursday, 23 June 2016 at 12:57:47 UTC, Steven Schveighoffer 
wrote:
 I don't mean this as disproof, but many companies are not using 
 Phobos, even though they use D.

 Sociomantic definitely does not (they use D1 currently, and 
 their D2 port probably uses a port of their library as well), 
 and I believe Weka.io does not either.

 Again, this isn't proof that Phobos isn't production ready. It 
 depends on what you need, and whether Phobos satisfies that 
 need.
AFAIK the all of the companies on that page I linked use Phobos other than Weka and Sociomantic. So, that includes AdRoll and Facebook as companies who use Phobos.
Jun 23 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Thursday, 23 June 2016 at 14:34:44 UTC, Jack Stouffer wrote:
 On Thursday, 23 June 2016 at 12:57:47 UTC, Steven Schveighoffer 
 wrote:
 I don't mean this as disproof, but many companies are not 
 using Phobos, even though they use D.

 Sociomantic definitely does not (they use D1 currently, and 
 their D2 port probably uses a port of their library as well), 
 and I believe Weka.io does not either.

 Again, this isn't proof that Phobos isn't production ready. It 
 depends on what you need, and whether Phobos satisfies that 
 need.
AFAIK the all of the companies on that page I linked use Phobos other than Weka and Sociomantic. So, that includes AdRoll and Facebook as companies who use Phobos.
So, 10 companies are using phobos!! That's amazing, sure shows how great it is! I wonder if they use use import std.stdio; or actually USE phobos. Phobos clearly is hacked together shit... maybe not all, but at least some. Searching for stuff in phobos continually brings up posts about having to fix X in phobos or replace Y because of reason Z. It's clear that individuals all added their own thing to phobos, all different. You have different people taking the reins creating their version of god with no real agreement from the get go what the whole point of it all is. It's known as cobblestone, and it's not that way to build lasting structures on. You obviously have some personal reason why you chose to ignore these facts. I'm only suggesting that a better design can be had, and this is de facto. Phobos isn't perfect. Yes, .NET has MS behind it. But since you haven't used it you have no clue how well designed it is. D and phobo's will never achieve millions of lines of code apps because it can't handle it. Hence, most apps in D are 10's of thousands of lines at most. They tend to be simple, more utility or special purpose apps, a few games, or just apps that don't require much effort. Their is a fundamental reason why D hasn't taken off, given that the language design itself is better than C\C++(which is why almost all of us are here). But admitting that D is very the first step to recovery. The D language was designed well(was this solely done by Walter?). It might not be perfect but its better than anything else I've seen(and most here would have similar statements?)... but when it comes to the stuff that actually makes the language do useful things, it is lacking compared to everything else worth considering. Now why is it so unbalanced? If D had a better tooling, a truly STANDARD library, an IDE, a GUI lib, etc all on par with it's language capabilities, probably the only people not using D in this world would be Bruce Jenner... and that's only because he's spending all his time trying to find his penis. I don't think any of us here have 50 years to see all this stuff actually happen. I'm definitely not going to wait around that long. At some point, The D "community" has to get it's shit together and start making real decisions about how to proceed in to the future. That requires tough decisions and real work... it requires someone with a visions, until then everything will just be cobbled together... and at some point will fall apart. Why do you not see the blatant discrepancy between the D language and everything else about D? Do you think that everything else is truly up to par with the language? What use is a the fastest engine in the world if it takes a certain special fuel that no one has invented yet? (It has a ton of use but we have to stop putting gasoline in it and invent the fuel it needs to work optimally)
Jun 23 2016
next sibling parent reply Steven Schveighoffer <schveiguy yahoo.com> writes:
On 6/23/16 1:24 PM, Joerg Joergonson wrote:
 On Thursday, 23 June 2016 at 14:34:44 UTC, Jack Stouffer wrote:
 On Thursday, 23 June 2016 at 12:57:47 UTC, Steven Schveighoffer wrote:
 I don't mean this as disproof, but many companies are not using
 Phobos, even though they use D.

 Sociomantic definitely does not (they use D1 currently, and their D2
 port probably uses a port of their library as well), and I believe
 Weka.io does not either.

 Again, this isn't proof that Phobos isn't production ready. It
 depends on what you need, and whether Phobos satisfies that need.
AFAIK the all of the companies on that page I linked use Phobos other than Weka and Sociomantic. So, that includes AdRoll and Facebook as companies who use Phobos.
So, 10 companies are using phobos!! That's amazing, sure shows how great it is! I wonder if they use use import std.stdio; or actually USE phobos. Phobos clearly is hacked together shit...
I look forward to Joerg's non-shit phobos implementation. Do you have an ETA for it? -Steve
Jun 23 2016
parent dewitt <dkdewitt gmail.com> writes:
On Thursday, 23 June 2016 at 17:48:40 UTC, Steven Schveighoffer 
wrote:
 On 6/23/16 1:24 PM, Joerg Joergonson wrote:
 On Thursday, 23 June 2016 at 14:34:44 UTC, Jack Stouffer wrote:
 On Thursday, 23 June 2016 at 12:57:47 UTC, Steven 
 Schveighoffer wrote:
 [...]
AFAIK the all of the companies on that page I linked use Phobos other than Weka and Sociomantic. So, that includes AdRoll and Facebook as companies who use Phobos.
So, 10 companies are using phobos!! That's amazing, sure shows how great it is! I wonder if they use use import std.stdio; or actually USE phobos. Phobos clearly is hacked together shit...
I look forward to Joerg's non-shit phobos implementation. Do you have an ETA for it? -Steve
I know right!!! He sounds like an expert. I am just hoping he fixes D's casting as well.
Jun 23 2016
prev sibling next sibling parent Radu <radu void.null> writes:
On Thursday, 23 June 2016 at 17:24:23 UTC, Joerg Joergonson wrote:
 On Thursday, 23 June 2016 at 14:34:44 UTC, Jack Stouffer wrote:
 [...]
So, 10 companies are using phobos!! That's amazing, sure shows how great it is! I wonder if they use use import std.stdio; or actually USE phobos. [...]
What is this shit? There is a to-do list to improve Phobos posted by Walter, use that and do things. Suggest new things to be added. Be a human being. Otherwise, please go be happy with .net!
Jun 23 2016
prev sibling next sibling parent Jack Stouffer <jack jackstouffer.com> writes:
On Thursday, 23 June 2016 at 17:24:23 UTC, Joerg Joergonson wrote:
 So, 10 companies are using phobos!! That's amazing, sure shows 
 how great it is! I wonder if they use use import std.stdio; or 
 actually USE phobos.
It's not a complete list and anyone with half a brain would be able to surmise that. E.g. the company I work for uses D but there's no brand recognition there so there's no reason to include it.
 Phobos clearly is hacked together shit
You keep saying "clearly" and "obviously". What you actually mean to say is "in my opinion". You still have yet to articulate what YOUR ACTUAL PROBLEM is. If you have substantive criticisms, enhancement requests are always welcome at http://issues.dlang.org
 maybe not all, but at least some. Searching for stuff in phobos 
 continually brings up posts about having to fix X in phobos or 
 replace Y because of reason Z.
Yes, things can always be better, and in D people are not afraid in order to be backwards compatible with version 1.0.
 It's clear that individuals all added their own thing to 
 phobos, all different.
Maybe we should rely on a single person to design everything, or we should have a committee. Or maybe we shouldn't do those things because they either rely on a single point of failure and are anti contributions or they're slow as dog shit.
 You have different people taking the reins creating their 
 version of god with no real agreement from the get go what the 
 whole point of it all is.
This is not the case. Phobos additions go through a thorough review process.
 You obviously have some personal reason why you chose to ignore 
 these facts.
Yes, for some reason I've become personally invested in D. No wait, that's stupid because I'm a programmer and I care about using the best tools for the job.
 I'm only suggesting that a better design can be had, and this 
 is de facto.
Then actually suggest something instead of saying "Make it better guys. Come on, can't you just make it better. Don't expect me to tell you what 'better' is, or how it could be implemented, just make it better."
 Phobos isn't perfect.
Never said it was.
 D and phobo's will never achieve millions of lines of code apps 
 because it can't handle it.
Unsubstantiated claim.
 Hence, most apps in D are 10's of thousands of lines at most.
Weka's code is 200k+. DMD has 120K lines of D.
 They tend to be simple, more utility or special purpose apps, a 
 few games, or just apps that don't require much effort.
Unsubstantiated claim.
 But admitting that D is very unbalanced compared to real world 

Give an example.
 but when it comes to the stuff that actually makes the language 
 do useful things, it is lacking compared to everything else 
 worth considering. Now why is it so unbalanced?
Give an example.
 If D had a better tooling, a truly STANDARD library, an IDE, a 
 GUI lib, etc all on par with it's language capabilities,
Give an example of how the current ones are lacking.
 Bruce Jenner... and that's only because he's spending all his 
 time trying to find his penis.
Uncalled for. We do not condone personal attacks or bigotry here.
 At some point, The D "community" has to get it's shit together 
 and start making real decisions about how to proceed in to the 
 future.
How about you start now? What would you like to change?
 Why do you not see the blatant discrepancy between the D 
 language and everything else about D?
Give an example.
 Do you think that everything else is truly up to par with the 
 language?
Mostly, yeah.
Jun 23 2016
prev sibling next sibling parent reply Meta <jared771 gmail.com> writes:
On Thursday, 23 June 2016 at 17:24:23 UTC, Joerg Joergonson wrote:
 So, 10 companies are using phobos!! That's amazing, sure shows 
 how great it is! I wonder if they use use import std.stdio; or 
 actually USE phobos.

 Phobos clearly is hacked together shit... maybe not all, but at 
 least some.
This is the result of many different people doing small incremental changes over time, and I think it's fairly normal for a quickly growing OSS project like D. Yes, you can argue over whether D is "quickly growing" or not, but it cannot be denied that the D community has grown much larger than it was even 2 years ago. A lot of the Java standard library is a hacked-together, inconsistent mish-mash as well, and it's going to be like that forever because of strict backward-compatibility requirements. That doesn't stop Java from being the most-used language on the planet. D will get there eventually but these things take time and initiative, especially without a large financial backer like Oracle.
 Yes, .NET has MS behind it. But since you haven't used it you 
 have no clue how well designed it is.  D and phobo's will never 
 achieve millions of lines of code apps because it can't handle 
 it. Hence, most apps in D are 10's of thousands of lines at 
 most. They tend to be simple, more utility or special purpose 
 apps, a few games, or just apps that don't require much effort.
Weka.io was mentioned in this thread, and if I recall correctly at DConf 2016 Liran said that their codebase is roughly 200k lines. It's not in the millions yet, but it's certainly more than a toy project. I'm guessing Sociomantic's codebase is similar in size if not larger.
 Their is a fundamental reason why D hasn't taken off, given 
 that the language design itself is better than C\C++(which is 
 why almost all of us are here).
The fundamental reason that D hasn't taken off yet is money, plain and simple.
 If D had a better tooling, a truly STANDARD library, an IDE, a 
 GUI lib, etc all on par with it's language capabilities, 
 probably the only people not using D in this world would be 
 Bruce Jenner... and that's only because he's spending all his 
 time trying to find his penis.
Has D recently become popular on 4chan or something? Why bother making a stupid dick joke other than to stir shit up?
 At some point, The D "community" has to get it's shit together 
 and start making real decisions about how to proceed in to the 
 future. That requires tough decisions and real work... it 
 requires someone with a visions, until then everything will 
 just be cobbled together... and at some point will fall apart.
Lurk more and you'll see that Walter and Andrei *are* making those tough decisions. Not just the small stuff like auto-decoding but big decisions like focusing on improving the nogc experience and C++ integration. Nobody here is paid to do anything so one is limited in their ability to steer the ship. That may change in the future but for now that's how it is.
 Why do you not see the blatant discrepancy between the D 
 language and everything else about D? Do you think that 
 everything else is truly up to par with the language? What use 
 is a the fastest engine in the world if it takes a certain 
 special fuel that no one has invented yet? (It has a ton of use 
 but we have to stop putting gasoline in it and invent the fuel 
 it needs to work optimally)
It'll get there eventually. Time and money are the magic words. D's had time, and now it looks like the money will gradually start to flow. Give it 2 more years and if things go smoothly, we could be an order of magnitude or more above where we are now. Sola dea fatum novit.
Jun 23 2016
next sibling parent jmh530 <john.michael.hall gmail.com> writes:
On Thursday, 23 June 2016 at 19:05:34 UTC, Meta wrote:
 Lurk more and you'll see that Walter and Andrei *are* making 
 those tough decisions.
If he lurked more, he would notice that threads like this pop up every few months.
Jun 23 2016
prev sibling parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Thursday, 23 June 2016 at 19:05:34 UTC, Meta wrote:
 The fundamental reason that D hasn't taken off yet is money, 
 plain and simple.
The fundamental reason for something not taking off is usually not money. Making a significant improvement on current practice (in any established field) is usually difficult to achieve and D does not significantly improve on the fundamental issues faced in software development. It is aiming too broad for that. Money can make shit fly, but that does not mean that D does not have some fundamental design issues that needs to be resolved or that it can fly on it's own without becoming more focused. Perl did not take off because it was backed by money or because it was well designed. It solved som very basic throw-away text-processing scripting issues by integrating some of the functionality of sh/sed/awk/c. Php did not take off because it was backed by money or because it was well designed. It solved some very basic and fundamental web-server integration and accessibility issues in the mid 90s. Python did not take off because it was backed by money. It solved some fundamental problems with current scripting languages (Perl and Php). Money is no the key issue.
Jun 24 2016
prev sibling parent reply rikki cattermole <rikki cattermole.co.nz> writes:
I have plenty of work that needs being done as a dependency to a GUI 
toolkit.
So what are you going to do to contribute? Money, time?
Jun 23 2016
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 06/23/2016 07:41 PM, rikki cattermole wrote:
 I have plenty of work that needs being done as a dependency to a GUI
 toolkit.
Speaking of which, any solid Qt trainers around here? I might have a gig for you. Shoot me an email. Thanks! -- Andrei
Jun 24 2016
prev sibling parent David Nadlinger <code klickverbot.at> writes:
On Thursday, 23 June 2016 at 12:57:47 UTC, Steven Schveighoffer 
wrote:
 […] I believe Weka.io does not [use Phobos] either.
Weka actually uses Phobos quite liberally – `fgrep -rI "import std." weka` yields several thousand results (I'm sure Liran will be happy to share more details). It's just that there are also quite a few areas where they need more than Phobos currently offers. Examples would be advanced data structures/containers or workarounds allowing the Phobos algorithms to be used without GC-allocating closures for the predicate alias parameters. — David
Jun 23 2016
prev sibling next sibling parent Miles L. Hunt <mlh sdlfjldsjkf.ie> writes:
On Wednesday, 22 June 2016 at 16:44:25 UTC, Joerg Joergonson 
wrote:
 How bout Freezing Phobos, except for bugs and start migrating 
 it to Phobos 2.0?.
phobos is already 2.0. It has the same version as the compiler it's distributed with. For someone who has "so ambitious plans" for phobos you should at least know that ;)
 [...]
Jun 22 2016
prev sibling parent Kagamin <spam here.lot> writes:
On Wednesday, 22 June 2016 at 16:44:25 UTC, Joerg Joergonson 
wrote:
 By the time it's finished D3 will be around and it could be 
 used for it. A committee can formed to decide what to include 
 and to design the structure of the library. Anyone can submit 
 code.
That's how it works now, committee and stuff is in place: http://wiki.dlang.org/Review/Process it wasn't always like this, but it is now. What lacks is the actual effort spent to write the actual code, that can pass the review.
Jun 24 2016