January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrew Benton | On Wednesday, 31 January 2018 at 07:56:37 UTC, Andrew Benton wrote: > If I had to pick a second issue, it's that the ecosystem story is hard compared to other languages. New programmers aren't certain what to choose or how to get their environment up and running. Compared against Rust, Go, and Java we have horrible ecosystem fragmentation. E.g. three compilers, two separate languages for dub * three compilers And 3 different installation method's depending on the platform. Windows: DMD installer, LDC manually extract zip and setup path, GDC ... Now not all platforms are better. Go with its default compiler and cGo are also two different beasts. But both perform in regards to performance close to the point that you can rely on the main compiler as production compiler. The same can not be said about DMD and LDC where the performance differences can be huge. Let me add a few other issues to your list: * Library Auto generated libraries where all functions are dumped into massive one pagers. https://dlang.org/phobos/std_datetime_date.html Is this readable when the first two pages are this: jan feb mar apr may jun jul aug sep oct nov dec sun mon tue wed thu fri sat Const "jump to" lists intermixed between the documentation. No clear function calls: const pure nothrow @nogc @property @safe ubyte daysInMonth(); Const Pure nothrow @nogc @property @safe ubyte ... and FINALLY the actual function call your looking for: daysInMonth(); Now the question becomes without looking at the example!!! Is this part of Date, Datetime, ... You can not tell because the way you jump to page anchors and with a bit of scrolling, you lose where you are. Everything Date belongs into a Date Subpage with a method/function Index page. And that method/function Index page links to separated pages for EACH method. You know the extra advantage: It makes finding information from a search engine like Google way more easy and less clutter / clean. No issue for people who read this manual hundred of times or know the function calls from there head. But it just ugly and unclean. ...................................... The real problem is that anybody can find 100's of issues that are simply unproductive or make the language look like a mess. And they get reported all the time but there is nobody to work on them. When the company line is: Do it yourself or pay somebody to do it. Guess what the first reaction of a lot of people is. *miep* *miep* *snooof* ... and you hear nothing from them anymore. A few may struggle, get into arguments and then they give up. And the rest simply complains about trolls who come to complain all the time and do not do the work. D is highly individualized as a language with actually very little corporation between the 100's of project, that get abandoned when the only developer runs out of time or moves to a differed language. I put a lot of money in several FOSS projects and it always feel like trowing money into a bottomless pit. Very few projects show where there money is being spend, let me correct that, not a single FOSS project where i put money into has every published where the money really gets spend. The closed that i ever got was Crystal where Manas.tech gives a yearly report of there time spend, money intake, ... https://crystal-lang.org/2017/12/19/this-is-not-a-new-years-resolution.html Its the core issue with D. * Why replace C++ with D when C++ does all the same with just a bit more effort but in exchange you get access to way more community, development, tools, support. * Why replace Rust with D when Rust is more actively developed, has better tooling support, focuses on drawing in new people, has key selling points that its drones keep repeating over and over again. * Why replace any language with D... We can talk until we turn blue and wast ages discussing the issues. But very few outsiders will put in the voluntary effort on a language where most doubt its future. That includes me ( and i know people will jump on this as being a troll comment ). There is a reason why i am focusing on learning Rust for my next project and not D. Despite Rust its more complex designs, its the whole package that is simply better organised. And do not take this that i am a rust troll. While yes, D gets used by some big companies on specific projects, the reality is that this seems to stem more from one developer in that company using D and not a real interest to use it company wide. D simply has too few people, no real goal, is a mishmash of different people with mostly individualized goals, a lacking and unclear foundation, lacking in paid developers. In simple terms, what D accomplished in 20 years time, is being overturned C++ taking the same features, Rust developing at a very fast rate, Swift same, Go same ... and with a mass of choice to people, if one does not stand out. This really remind me of a Knight Tale: "You have been weighed, you have been measured, and you have been found wanting". I said it before, i tried getting into D for over a year and keep running into just stupid issues with DMD regressions, editor plugins that do not work, unfinished or unsupported projects, just badly designed documentation layouts, ... just everywhere lacking. And with the amount of time trying to get things working, reporting issues on github, ... sigh ... so much time better spend on other languages. I told before if there is no leadership to focus resources and the main developers are more focused on adding more features to the compiler that is already overflowing, then how do you expect to see things solved? Let me say this again: I like D but unless you are years into D as a developer its just frustrating to deal with the constant issues. And please ... do like always, cut my post into small parts and start criticizing and attacking the author that he needs to "put more effort into it or pay". Or some other bullshit. And then complain how people troll the forum because they complain and not do anything to solve it. Tired of reading the same rhetoric as are the people who think posts like this are troll posts. |
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benny | On Wednesday, 31 January 2018 at 10:35:06 UTC, Benny wrote:
> Let me say this again
*uch* Never mind this rant. I am just fed up with the issues. I will not post anymore as its just a wast of time for everybody involved.
|
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benny | On Wednesday, 31 January 2018 at 10:35:06 UTC, Benny wrote: > I told before if there is no leadership to focus resources and the main developers are more focused on adding more features to the compiler that is already overflowing, then how do you expect to see things solved? Yes, that is probably the main issue. Where D is going with memory management is still not clear after... many years. It is also not clear whether D is trying to carve its own niche or is going after C/C++/Rust, different people state very different goals. So it is difficult to imagine where D is heading. At the moment it is basically easier to just stand by and watch while using more narrowly focused languages in production. > Let me say this again: I like D but unless you are years into D as a developer its just frustrating to deal with the constant issues. So basically the same issues as C++. > Tired of reading the same rhetoric as are the people who think posts > like this are troll posts. People who pretend to be self-confident, but aren't, tend to go with that rhetoric. *shrugs* |
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benny | On Wednesday, 31 January 2018 at 10:35:06 UTC, Benny wrote: > * three compilers Not sure why that's a bad thing. They all have their ups and downs: - dmd SUPER fast compilation - ldc multiarch + good optimization + cross-compilation - gdc multiarch + good optimization (in many cases better than LLVM) + cross-compilation + GNU Doesn't the download page explain this? https://dlang.org/download.html If not or you have other reasons why this is a problem, please let us know and/or open an issue. FWIW there are dozens (maybe even hundreds) of C++ compilers and no one complains about that. > And 3 different installation method's depending on the platform. > > Windows: DMD installer, LDC manually extract zip and setup path, GDC ... That's only an issue on Windows. For Posix there's the official install.sh script [1]. [1] https://dlang.org/install.html There's WIP to provide a similar script for Windows [2], but man, I haven't used a Windows machine in the last seven years - or in other words: it's a serious effort to develop something you have no idea about, can't test locally and you don't need. BTW in my experience, the people using Windows are the ones who complain the loudest and fix the least. I guess that's the crash of different philosophy: MS / Corporate world vs. Unix / Open Source world. I bet that it would take a experienced Windows developers two or three hours to write such a script (or add support for installing ldc to the installer). [2] https://github.com/dlang/installer/pull/275 > Let me add a few other issues to your list: > > * Library 1) Feedback is very important to us, but please add open issues for these things to Bugzilla. Otherwise they get easy lost and not everyone is reading every message on the NG. Not everything obvious to you, is obvious to others. For example, for a long time it wasn't obvious to me that it's bothering people as I prefer "one pagers" - it makes searching for symbols easy 2) Are you aware that there's also the ddox build? https://dlang.org/library/std/datetime/date.html It's just not the default yet, because of some issues. However, it has been there for a long time and you can switch between both modes with the version switch on the top right. > You know the extra advantage: It makes finding information from a search engine like Google way more easy and less clutter / clean. Have you tried the search bar at the ddox build? > The real problem is that anybody can find 100's of issues that are simply unproductive or make the language look like a mess. And they get reported all the time but there is nobody to work on them. Maybe for other languages, but for D they don't. There are about ~30 still open issues reported in 2017 for dlang.org and they are mostly just specification things [1]. [1] https://issues.dlang.org/buglist.cgi?component=dlang.org&list_id=219211&product=D&resolution=--- > When the company line is: Do it yourself or pay somebody to do it. Guess what the first reaction of a lot of people is. Well, the time of volunteers is limited and can you blame anyone if he prefers to work on things he enjoys instead of fixing your UX problems which aren't any problems for him? That being said, tons of bugs are fixed in every release and dlang.org is getting better almost every day: https://dlang.org/changelog/pending.html The website repo is one of the lowest traffic repos, 28 PRs have been merged just in the last seven days: https://github.com/dlang/dlang.org/pulse The activity is a lot higher for Phobos and DMD: https://github.com/dlang/phobos/pulse (50 merged PRs in the last seven days) https://github.com/dlang/dmd/pulse (41 merged PRs in the last seven days > D is highly individualized as a language with actually very little corporation between the 100's of project, that get abandoned when the only developer runs out of time or moves to a differed language. Yes, obviously the current situation isn't ideal, but it's not too bad either and we have found one good, but probably not so well-known yet way to tackle this: the dlang-community organization on GH (https://github.com/dlang-community). A lot of important, but more or less abandoned repositories have been adopted, s.t. there's a common place to submit bug fixes and feature PRs and its ensured by CIs that they are always in a good state, e.g. always compile with the latest DMD. And companies start to like this concept too, e.g. see this recent discussion where Sociomantic volunteered to step in and do a proper release process for dfmt: https://github.com/dlang-community/dfmt/issues/320 > I put a lot of money in several FOSS projects and it always feel like trowing money into a bottomless pit. Very few projects show where there money is being spend, This is about to change soon for D. There's WIP to use OpenCollective The announcement should happen soon. Stay tuned! > While yes, D gets used by some big companies on specific projects, the reality is that this seems to stem more from one developer in that company using D and not a real interest to use it company wide. > > D simply has too few people, no real goal, is a mishmash of different people with mostly individualized goals, a lacking and unclear foundation, lacking in paid developers. Again, of course, the situation isn't ideal, but there are a few changes about to happen soon. Here's a spoiler: 1) Andrei does an excellent job at managing his students [1] and there work over the last couple of months has been tremendous. As the experiment with UPB was very successful, there will be more projects like this one and global scholarship 2) The vision document will finally get updated (there have been a few delays due to holiday, illnesses etc.) https://wiki.dlang.org/Vision/2017H2 3) More community input (I'm preparing a State of D survey atm) 4) More active voting by the community on important issues 5) Better documentation and overview on what the foundation is doing Currently under discussion/work: 6) Using OpenCollective for tracking expenses openly 7) Offering membership packages for companies 8) Doing bi-annual Kickstarter compaigns for important issues to the community (e.g. "fix shared") (more things are WIP in stealth-mode) > I said it before, i tried getting into D for over a year and keep running into just stupid issues with DMD regressions, We have setup a project tester a few months ago that tests the most popular projects on GH on every PR. > editor plugins that do not work, unfinished or unsupported projects, just badly designed documentation layouts, ... just everywhere lacking. And with the amount of time trying to get things working, reporting issues on github, ... sigh ... so much time better spend on other languages. Well, you gotta choose - draining your brain with Rust or enjoying working with D and investing the your drain-brain time into fixing small usability issues ;-) > I told before if there is no leadership to focus resources and the main developers are more focused on adding more features to the compiler that is already overflowing, then how do you expect to see things solved? As mentioned above, there's. However, it's not very visible as a lot of work happens in stealth-mode atm and only a tiny bit makes it to the DBlog: https://dlang.org/blog/category/core-team https://dlang.org/blog/category/d-foundation |
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benny | On Wed, 31 Jan 2018 10:55:56 +0000, Benny wrote:
> On Wednesday, 31 January 2018 at 10:35:06 UTC, Benny wrote:
>> Let me say this again
>
> *uch* Never mind this rant. I am just fed up with the issues. I will not post anymore as its just a wast of time for everybody involved.
I wouldn't call it a waste of time. I've been noting problems people run into consistently, though I haven't done anything about any of them yet.
And that's the thing, when someone says either do it yourself or pay someone, it's because that is often the only way to get something done in a small volunteer organization (not just programming projects). I came to D because it will help me with a couple of projects I wanted to do; if I stop to work on something else, I'm stopping what I wanted to do. So most of the time, I'm going to prioritize my problems.
Some people have made the compiler and/or tooling their projects; others will put a hold on what they're doing to fix small issues. Not many will stop working on their stuff to do major things for someone else. (Maybe some sort of community challenge could help(?))
When money is spent, it tends to go to compiler/language development because that helps everybody; if only 60% of people use some tool, only 60% of people benefit from that work. There comes a time when the ROI is worth it, but those spending money don't seem to think we're there yet.
Anyway, mostly because of your recent posts I'm going to take a look at DlangIDE. If we can package a cross-platform IDE+compiler+dub as a single download and you're ready to go, that might make it easier to give D a try, even if most people would later set up something else; at least you'd only deal with the problems after you've decided it's worth it.
|
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Seb | On Wednesday, 31 January 2018 at 11:42:14 UTC, Seb wrote:
> On Wednesday, 31 January 2018 at 10:35:06 UTC, Benny wrote:
>> [...]
>
> Not sure why that's a bad thing. They all have their ups and downs:
>
> [...]
That's the most refreshing post on D future since a long time.
Thanks, really.
/Paolo
|
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to rjframe | On Wednesday, 31 January 2018 at 12:03:22 UTC, rjframe wrote: > On Wed, 31 Jan 2018 10:55:56 +0000, Benny wrote: > [...] > Anyway, mostly because of your recent posts I'm going to take a look at DlangIDE. If we can package a cross-platform IDE+compiler+dub as a single download and you're ready to go, that might make it easier to give D a try, even if most people would later set up something else; at least you'd only deal with the problems after you've decided it's worth it. Yes, would be very good! And than ad a series of short example programs, to this one-stop-download, maybe party from Adam's arsd. Like: https://github.com/adamdruppe/arsd/blob/master/simpledisplay.d And the examples from D-Lang Tour. So you only push a button [try D], and get a running environment to play around. |
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Seb | On Wednesday, 31 January 2018 at 11:42:14 UTC, Seb wrote: [...] > This is about to change soon for D. There's WIP to use OpenCollective > The announcement should happen soon. > Stay tuned! [...] > Here's a spoiler: > > 1) Andrei does an excellent job at managing his students [1] and there work over the last couple of months has been tremendous. As the experiment with UPB was very successful, there will be more projects like this one and global scholarship > > 2) The vision document will finally get updated (there have been a few delays due to holiday, illnesses etc.) > > https://wiki.dlang.org/Vision/2017H2 > > 3) More community input (I'm preparing a State of D survey atm) > > 4) More active voting by the community on important issues > > 5) Better documentation and overview on what the foundation is doing > > Currently under discussion/work: > > 6) Using OpenCollective for tracking expenses openly > 7) Offering membership packages for companies > 8) Doing bi-annual Kickstarter compaigns for important issues to the community (e.g. "fix shared") [...] > > As mentioned above, there's. However, it's not very visible as a lot of work happens in stealth-mode atm and only a tiny bit makes it to the DBlog: > > https://dlang.org/blog/category/core-team > https://dlang.org/blog/category/d-foundation Thank you for your post, very interesting background information. I like 7) and 8) very much! ( 8) needs 4) ) |
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Seb | It would be really nice if we could know about current WIP a little bit more... And regularly. |
January 31, 2018 Re: Quora: Why hasn't D started to replace C++? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrew Benton | On Wednesday, 31 January 2018 at 07:56:37 UTC, Andrew Benton wrote:
> On Tuesday, 30 January 2018 at 20:45:44 UTC, Andrei Alexandrescu wrote:
>> https://www.quora.com/Why-hasnt-D-started-to-replace-C++
>>
>> Andrei
>
> I think that the largest issue there is probably the marketing and advocacy. When Rust was about the same share as D, it had much better marketing. Someone was running their twitter channel and working to make the language much more visible. D flat out doesn't have that.
>
> If I had to pick a second issue, it's that the ecosystem story is hard compared to other languages. New programmers aren't certain what to choose or how to get their environment up and running. Compared against Rust, Go, and Java we have horrible ecosystem fragmentation. E.g. three compilers, two separate languages for dub
I agree that marketing is a pretty serious problem for D. Many people just aren't aware of it. Even for people who do not program in the newer languages, Rust and Go are already well known to anybody who uses C# or C/C++ or Java, and even many Python or JavaScript programmers. D is often looked over and not visible enough on people's radars for them to even notice it, which is hugely disappointing as I've no doubt many would come to realise that it offers much of what they're looking for. Marketing is definitely failing the language here, but considering we don't have some huge company backing D, it's doing fairly well on its own. I just worry it's not enough to rely on word-of-mouth because it doesn't seem to be enough.
Personally I don't find the ecosystem to be a huge problem any more than C++'s is a problem. I can install DMD and LDC and, if/when I want/need to, I can tell rdmd to build using LDC. I am glad to have options, as I don't feel that they hinder my use of D.
|
Copyright © 1999-2021 by the D Language Foundation