digitalmars.D - Phobo's migration
- Joerg Joergonson (19/19) Jun 22 2016 How bout Freezing Phobos, except for bugs and start migrating it
- Jack Stouffer (8/19) Jun 22 2016 This would kill the language.
- Joerg Joergonson (13/32) Jun 22 2016 How is that? That makes no sense. If Phobo's is production ready
- jmh530 (4/5) Jun 22 2016 You're comparing D to something created and maintained by one of
- Icecream Bob (2/8) Jun 23 2016 Sounds like a good model to follow.
- Jack Stouffer (43/59) Jun 22 2016 D cannot afford to be stagnant in a time of fierce language
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/20) Jun 23 2016 This is not true. There are many development methodologies and
- Jack Stouffer (10/14) Jun 23 2016 Please elaborate.
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (20/23) Jun 24 2016 The output of a committe is as good as the people on it and what
- jmh530 (6/16) Jun 23 2016 Kaizen just means continuous improvement. My Dad is an industrial
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/22) Jun 24 2016 Apples and oranges. Well designed programming languages requires
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (8/18) Jun 23 2016 The DMD developers refuse to use Phobos in the D compiler, so
- Suliman (1/4) Jun 23 2016 http://volt-lang.org/ as variant
- Jack Stouffer (9/11) Jun 23 2016 Ridiculous. One data point does not make a trend.
- Steven Schveighoffer (9/19) Jun 23 2016 I don't mean this as disproof, but many companies are not using Phobos,
- H. S. Teoh via Digitalmars-d (19/36) Jun 23 2016 AFAIK, the reason Sociomantic doesn't use Phobos is because their
- Dicebot (15/24) Jun 23 2016 There are quite some issues with Phobos design decisions on its own that
- Jack Stouffer (5/13) Jun 23 2016 AFAIK the all of the companies on that page I linked use Phobos
- Joerg Joergonson (51/66) Jun 23 2016 So, 10 companies are using phobos!! That's amazing, sure shows
- Steven Schveighoffer (4/22) Jun 23 2016 I look forward to Joerg's non-shit phobos implementation. Do you have an...
- dewitt (4/25) Jun 23 2016 I know right!!! He sounds like an expert. I am just hoping he
- Radu (5/11) Jun 23 2016 What is this shit? There is a to-do list to improve Phobos posted
- Jack Stouffer (37/75) Jun 23 2016 It's not a complete list and anyone with half a brain would be
- Meta (34/65) Jun 23 2016 This is the result of many different people doing small
- jmh530 (3/5) Jun 23 2016 If he lurked more, he would notice that threads like this pop up
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (20/22) Jun 24 2016 The fundamental reason for something not taking off is usually
- rikki cattermole (3/3) Jun 23 2016 I have plenty of work that needs being done as a dependency to a GUI
- Andrei Alexandrescu (3/5) Jun 24 2016 Speaking of which, any solid Qt trainers around here? I might have a gig...
- David Nadlinger (10/11) Jun 23 2016 Weka actually uses Phobos quite liberally – `fgrep -rI "import
- Miles L. Hunt (5/8) Jun 22 2016 phobos is already 2.0. It has the same version as the compiler
- Kagamin (6/10) Jun 24 2016 That's how it works now, committee and stuff is in place:
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
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
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 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?How bout Freezing Phobos, except for bugs and start migrating it to Phobos 2.0?.This would kill the language.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.This will be migrating Phobos over to use the new constructs(nogc, safe, etc),How, in your opinion, are these not being used already?That gives us plenty of time, right?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.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?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
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
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:Sounds like a good model to follow.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 23 2016
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 phobosHonest 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 manipulatedThis 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, bugsBugs 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.additionsGreat! New, well designed features come to users quickly in D.and removalsIMO 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
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:This is not true. There are many development methodologies and most of them are not suitable for designing programming languages, including all "lean" methodologies.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 phobosHonest 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.
Jun 23 2016
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
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
On Thursday, 23 June 2016 at 08:52:06 UTC, Ola Fosheim Grøstad wrote: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.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
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: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).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.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 24 2016
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: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...On Wednesday, 22 June 2016 at 16:44:25 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?How bout Freezing Phobos, except for bugs and start migrating it to Phobos 2.0?.This would kill the language.
Jun 23 2016
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
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
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: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. -SteveThe 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
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:[...]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.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.[...] 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
On 06/23/2016 04:04 PM, H. S. Teoh via Digitalmars-d wrote: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.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.
Jun 23 2016
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
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: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)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
On 6/23/16 1:24 PM, Joerg Joergonson wrote:On Thursday, 23 June 2016 at 14:34:44 UTC, Jack Stouffer wrote:I look forward to Joerg's non-shit phobos implementation. Do you have an ETA for it? -SteveOn Thursday, 23 June 2016 at 12:57:47 UTC, Steven Schveighoffer 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...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
On Thursday, 23 June 2016 at 17:48:40 UTC, Steven Schveighoffer wrote:On 6/23/16 1:24 PM, Joerg Joergonson wrote:I know right!!! He sounds like an expert. I am just hoping he fixes D's casting as well.On Thursday, 23 June 2016 at 14:34:44 UTC, Jack Stouffer wrote:I look forward to Joerg's non-shit phobos implementation. Do you have an ETA for it? -SteveOn Thursday, 23 June 2016 at 12:57:47 UTC, Steven Schveighoffer 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...[...]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
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: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![...]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. [...]
Jun 23 2016
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 shitYou 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.orgmaybe 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 worldGive 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
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
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
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
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
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
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
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
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