October 13, 2017
On 10/13/17 2:58 AM, Peter R wrote:
> Replying to a couple of the comments here
> 
> "I don't know if it's a different expectation or a different mindset or something else."
> I'd like to think I'm fairly knowledgeable, but Yes, I expect installing/configuring to be easy and quick, so I can get to the actual programming. I expect solid debugging capabilities, full IDE support, autocomplete, and 64-bit windows libraries. It is just some of the things that I am used to with Visual C++. "Better than C++" is my motivation to evaluate D, and to me that goes beyond just the language and standard library.
> If I, as a new user, don't have a solid first impression, I'd have no expectation that the rest of the D ecosystem is polished, and I would return to C++

Thanks for replying. I did not mean my post as a slight against your knowledge, but really about my ignorance -- I don't know what the expectations of a Windows user are. I think the Windows users we do have on the core team (Walter being the main one) probably aren't typical Windows developers. But my experience seems to be most of the "I've tried to use D for 10 days and it sucks!" rants come from the Windows side, and they are mostly about installation and IDE woes. On my mac, I just do "dvm install 2.076.0" and I'm up and running.

I think at some point, an actual company will pick up the maintenance of a good D IDE for windows, and will solve this problem. Unfortunately, we have to rely on volunteers right now, and that company hasn't materialized.

One note about your requirements, auto-completion I think is something that I love about IDEs for other languages (I would be lost in xcode without it) and is something I've never used with D (all my attempts have been disasters). It's definitely something we need to improve the experience on.

-Steve
October 13, 2017
On Friday, 13 October 2017 at 13:14:39 UTC, Steven Schveighoffer wrote:
> [snip]
> Thanks for replying. I did not mean my post as a slight against your knowledge, but really about my ignorance -- I don't know what the expectations of a Windows user are. I think the Windows users we do have on the core team (Walter being the main one) probably aren't typical Windows developers. But my experience seems to be most of the "I've tried to use D for 10 days and it sucks!" rants come from the Windows side, and they are mostly about installation and IDE woes. On my mac, I just do "dvm install 2.076.0" and I'm up and running.

Along the same lines, user in Learn today just asked

"(Rhetorical) Why is dlang community provide so many options (see https://wiki.dlang.org/Debuggers) and **every single one** of them is faulty in some way? I tried windbg and mago-mi but didn't gen anywhere."

https://forum.dlang.org/thread/htjjwfynugdshluamgrm@forum.dlang.org
October 13, 2017
On Friday, 13 October 2017 at 13:14:39 UTC, Steven Schveighoffer wrote:
> Thanks for replying. I did not mean my post as a slight against your knowledge, but really about my ignorance -- I don't know what the expectations of a Windows user are. I think the Windows users we do have on the core team (Walter being the main one) probably aren't typical Windows developers. But my experience seems to be most of the "I've tried to use D for 10 days and it sucks!" rants come from the Windows side, and they are mostly about installation and IDE woes. On my mac, I just do "dvm install 2.076.0" and I'm up and running.
>
> I think at some point, an actual company will pick up the maintenance of a good D IDE for windows, and will solve this problem. Unfortunately, we have to rely on volunteers right now, and that company hasn't materialized.
>
> One note about your requirements, auto-completion I think is something that I love about IDEs for other languages (I would be lost in xcode without it) and is something I've never used with D (all my attempts have been disasters). It's definitely something we need to improve the experience on.

As one of those Windows users that has a love/hate relationship with D, i can only state that the issues that the OP has faced, are similar to those that i seen.

DMD in general installs good on Windows ( minus the path at times not getting registered and the need to logout/reboot ).

The issues mostly come from the editor support and at times horrible dub package breaking. D has the habit of breaking backward comparability in specific releases, mostly from improper testing the compiler vs the dub packages.

The issue with with code-d, serve-d and other VSC solutions that go from the above mentioned path issues, dub package breaking, support packages refusing to compile, the simple fact that some maintainers assume that GIT is standard installed, ...

The list is long and currently code-d and serve-d are broken again. At times they work, reinstall them on a other system and they break.

Its probably the main reason why i do not use D for any big projects. The feeling that things break constantly or do not work the same on almost the exact systems. D and everything around it on Windows feels fragile, that is the best way to describe it. Same with some of the user friendliness of the compile options the moment you step outside simple run/build and start playing with shared libraries etc. Trust me when saying that a lot of other languages feel more complete.

Even the D error output feels year 2000, compared to Rust, Crystal etc... Probably very usable for D experts but lackluster for a language that seeks adoption in 2017. Same issue with the 3 different compilers and different command options. The steps needed to figure out cross compiling is bigger then Go, Rust, ... Let alone the above mentioned shared libraries.

D is a marvelous project with a clear C++ developers focus, and i can only conclude that C++ developers are people who are into sadomasochism based upon some of the friendliness features :)

That is always the issue with a language that focuses on a specific group of developers, with a mindset that they can find there way around similar design. But it does not work so well on developers who like the current new generation of languages that make things more easy on the brain.

The issue is not only located in the Windows issue but also somewhat in the design mentality it seems. That give the impression that Windows is just a side project and people who do not come from a C/C++ background there complaints are reduced to complainers.

Instead of focusing on adding new features, do a  audit and fix the library its GC reliance, better documentation, more user friendly compiler options, better (universal) editors support for people who do not use the dlangide/visualstudio plugin, ... you know, the boring stuff.

I have probably put in a few hundred hours try to learn D and get going. And half that time was pure wasted on bugs, editor issues, frustration, hours looking up something that is so easy in other languages, ...

Recently i was helping a developer who was benchmarking D+Vibe.d, on his OsX he never got parallel support to work ( error fault 11 )  for Vibe.d, resulting in vibe.d running single core and losing to Crystal and Rust big time ( single core tests ). I do not expect him to pick up D based upon those results. That was two developers trying to find the correct way to force vibe.d to work parallel on his system. Lets not count the hours lost for use both.

So currently i am more then a bit salty about D again. Its always something left or right that just does not work properly.

His response was Go simply works even if it was slower then D. I can state the same that despite Go its fault, it simply works, same with the editor support etc. And that is frankly bad advertisement for D.

Now excuse me as i prepare for a long trip. Maybe its better to simply pick up Go again, then keep hitting my head against the wall. As i started this long blog, love and hate relationship with D.
October 15, 2017
On 2017-10-13 17:29, Rion wrote:

> Recently i was helping a developer who was benchmarking D+Vibe.d, on his OsX he never got parallel support to work ( error fault 11 )  for Vibe.d, resulting in vibe.d running single core and losing to Crystal and Rust big time ( single core tests ). I do not expect him to pick up D based upon those results. That was two developers trying to find the correct way to force vibe.d to work parallel on his system. Lets not count the hours lost for use both.

You can always run X number of instances of the application (where X is the same as the number of cores) behind a load balancer. That will also help when the GC decides the collect and freezes the whole application.

-- 
/Jacob Carlborg
October 15, 2017
On Friday, 13 October 2017 at 13:14:39 UTC, Steven Schveighoffer wrote:
> On 10/13/17 2:58 AM, Peter R wrote:
>> Replying to a couple of the comments here
>> 
>> "I don't know if it's a different expectation or a different mindset or something else."
>> I'd like to think I'm fairly knowledgeable, but Yes, I expect installing/configuring to be easy and quick, so I can get to the actual programming. I expect solid debugging capabilities, full IDE support, autocomplete, and 64-bit windows libraries. It is just some of the things that I am used to with Visual C++. "Better than C++" is my motivation to evaluate D, and to me that goes beyond just the language and standard library.
>> If I, as a new user, don't have a solid first impression, I'd have no expectation that the rest of the D ecosystem is polished, and I would return to C++
>
> Thanks for replying. I did not mean my post as a slight against your knowledge, but really about my ignorance -- I don't know what the expectations of a Windows user are. I think the Windows users we do have on the core team (Walter being the main one) probably aren't typical Windows developers. But my experience seems to be most of the "I've tried to use D for 10 days and it sucks!" rants come from the Windows side, and they are mostly about installation and IDE woes. On my mac, I just do "dvm install 2.076.0" and I'm up and running.
>
> I think at some point, an actual company will pick up the maintenance of a good D IDE for windows, and will solve this problem. Unfortunately, we have to rely on volunteers right now, and that company hasn't materialized.
>
> One note about your requirements, auto-completion I think is something that I love about IDEs for other languages (I would be lost in xcode without it) and is something I've never used with D (all my attempts have been disasters). It's definitely something we need to improve the experience on.
>
> -Steve

The Windows experience is less good.  Not just IDEs, but even a simple thing like DMD paths.  That's been broken ever since longer Windows paths became common (the code dates back to 1987), and it interacts badly with dub, which likes to make a relative path going back up to the root directory and then back down again.

We have fixed that (Atila did the work) and will submit a pull request once we're happy it meets the right level of quality and have been using it a bit ourselves.  But it's a nice illustration of the situation: on the one hand people are more inclined to expect things to just work on Windows (less inclined to get their hands dirty fixing them and to share the solution when they do), and on the other they are more likely to break and stay broken for a long time:
https://github.com/kaleidicassociates/dmd/pulls

(The above path thing is a problem for command line too).

Then on top of that, there's the problem that the situation for installing native libraries on Windows has been completely insane, although it's starting to improve now.  Most of the time on linux it's a single command to install a library.  It's more of a blessing on Windows when that's possible, because it often isn't.  And if your benchmark is other ecosystems that take care of installing the native C library for you, then D looks needlessly complicated.  (Even though it's a C on Windows thing, not a D problem).



October 15, 2017
On Friday, 13 October 2017 at 15:29:54 UTC, Rion wrote:
> I have probably put in a few hundred hours try to learn D and get going. And half that time was pure wasted on bugs, editor issues, frustration, hours looking up something that is so easy in other languages, ...
>
> Recently i was helping a developer who was benchmarking D+Vibe.d, on his OsX he never got parallel support to work ( error fault 11 )  for Vibe.d, resulting in vibe.d running single core and losing to Crystal and Rust big time ( single core tests ). I do not expect him to pick up D based upon those results. That was two developers trying to find the correct way to force vibe.d to work parallel on his system. Lets not count the hours lost for use both.
>
> So currently i am more then a bit salty about D again. Its always something left or right that just does not work properly.
>
> His response was Go simply works even if it was slower then D. I can state the same that despite Go its fault, it simply works, same with the editor support etc. And that is frankly bad advertisement for D.
>
> Now excuse me as i prepare for a long trip. Maybe its better to simply pick up Go again, then keep hitting my head against the wall. As i started this long blog, love and hate relationship with D.


D is much less gratifying than other languages for most people.  Just like Windows was more gratifying than Linux for most people in 2000.  And I suppose that's likely to change slowly, but continue to be the case for a while so long as people working on Windows don't notice when something isn't working and fix things at root cause.  It's usually not that much more difficult to do so than work around it, and it usually pays off even considered selfishly.

I can appreciate your frustration, but considering how many years knowing a programming language can pay off for, a few hundred hours spent to learn something new isn't that much.  That's like a couple of months full-time and if it works out the payback period should easily be a year.  Viewed rationally, that's a pretty good return on investment compared to most other opportunities available.

In a world where there are lots of smart people and knowledge is widely available, the barriers to opportunity (there must be barriers, otherwise the opportunity would be competed away) are often emotional ones.  So I like things where the difficulty is front-loaded, because they tend to be neglected by modern people who are used to quick gratification.  And whilst it surely can be frustrating, the situation is already better both on Windows and as regards documentation and tooling than it was in 2014.  It's not difficult to make little changes towards what one would like to see oneself.
October 16, 2017
On Sunday, 15 October 2017 at 20:27:35 UTC, Laeeth Isharc wrote:
> D is much less gratifying than other languages for most people.
>  Just like Windows was more gratifying than Linux for most people in 2000.  And I suppose that's likely to change slowly, but continue to be the case for a while so long as people working on Windows don't notice when something isn't working and fix things at root cause.  It's usually not that much more difficult to do so than work around it, and it usually pays off even considered selfishly.
>
> I can appreciate your frustration, but considering how many years knowing a programming language can pay off for, a few hundred hours spent to learn something new isn't that much.  That's like a couple of months full-time and if it works out the payback period should easily be a year.  Viewed rationally, that's a pretty good return on investment compared to most other opportunities available.
>
> In a world where there are lots of smart people and knowledge is widely available, the barriers to opportunity (there must be barriers, otherwise the opportunity would be competed away) are often emotional ones.  So I like things where the difficulty is front-loaded, because they tend to be neglected by modern people who are used to quick gratification.  And whilst it surely can be frustrating, the situation is already better both on Windows and as regards documentation and tooling than it was in 2014.  It's not difficult to make little changes towards what one would like to see oneself.

When you invest this time into a language, you have expectations. A person expects for a language this old, that every puzzle fits together without issue.

Call me spoiled if you want but quick gratification it is not. The time wasted on dealing with issue on D, is time you can have spend in a different language actually writing code/testing. Its a barrier to the language its own success when its not as user friendly as the other languages.

If a person needs to do a action in Windows and it takes him 5 mouse clicks. But hey, under Linux you can do it with one command line arg, ... the Linux approach sound more easy right? Until you add the time needed to learn the command and assuming there are no issues. What is more rewarding or punishing? There is a reason that Windows is still so popular. Windows does not get in the way. It just keep working. Can it be improved, yes! MS puts a massive amount of time and money in there testing. And it shows in there platform.

Its the same reason why Linux as a desktop OS will never work out. Too much puzzle pieces that do not fit, too much assumed that people need ( and have the time ) to learn the complicated way. A lack of inter-testing beyond just the basic compile tests ( i mean really usage ).

Its easy to see the same attitude in D as a community project. There are GREAT pieces being written but everybody is working more as a solo developer, with no clear guideline. That is the big difference between a language like D and corporate backed languages.

I can easily think of a dozen extensions to D, that need to be part of the standard library or extended library of D, like DCompute, mir-algorithm, ...

Why? Because its again lose projects that you as a end consumer need to discover. Most of the time written and maintained by one person. Too much here is so single person focused, that its hard to see people continue the work if that person has no more time.

Too much here is single issue focused and it shows in the developers there background, what results in the testing of platforms, the interaction etc.

Maybe i explain this badly, but D seems has a lot of issues that people here are not aware off because they are already in the D mindset. And its those issues that show up the most, when one first tries this language.
October 16, 2017
On 16/10/2017 9:56 AM, Rion wrote:
> On Sunday, 15 October 2017 at 20:27:35 UTC, Laeeth Isharc wrote:
>> D is much less gratifying than other languages for most people.
>>  Just like Windows was more gratifying than Linux for most people in 2000.  And I suppose that's likely to change slowly, but continue to be the case for a while so long as people working on Windows don't notice when something isn't working and fix things at root cause.  It's usually not that much more difficult to do so than work around it, and it usually pays off even considered selfishly.
>>
>> I can appreciate your frustration, but considering how many years knowing a programming language can pay off for, a few hundred hours spent to learn something new isn't that much. That's like a couple of months full-time and if it works out the payback period should easily be a year.  Viewed rationally, that's a pretty good return on investment compared to most other opportunities available.
>>
>> In a world where there are lots of smart people and knowledge is widely available, the barriers to opportunity (there must be barriers, otherwise the opportunity would be competed away) are often emotional ones.  So I like things where the difficulty is front-loaded, because they tend to be neglected by modern people who are used to quick gratification.  And whilst it surely can be frustrating, the situation is already better both on Windows and as regards documentation and tooling than it was in 2014.  It's not difficult to make little changes towards what one would like to see oneself.
> 
> When you invest this time into a language, you have expectations. A person expects for a language this old, that every puzzle fits together without issue.
> 
> Call me spoiled if you want but quick gratification it is not. The time wasted on dealing with issue on D, is time you can have spend in a different language actually writing code/testing. Its a barrier to the language its own success when its not as user friendly as the other languages.
> 
> If a person needs to do a action in Windows and it takes him 5 mouse clicks. But hey, under Linux you can do it with one command line arg, ... the Linux approach sound more easy right? Until you add the time needed to learn the command and assuming there are no issues. What is more rewarding or punishing? There is a reason that Windows is still so popular. Windows does not get in the way. It just keep working. Can it be improved, yes! MS puts a massive amount of time and money in there testing. And it shows in there platform.
> 
> Its the same reason why Linux as a desktop OS will never work out. Too much puzzle pieces that do not fit, too much assumed that people need ( and have the time ) to learn the complicated way. A lack of inter-testing beyond just the basic compile tests ( i mean really usage ).

And yet my elderly-ish mother uses Linux Mint and she hates technology.
It isn't as clear cut as it may appear, these issues.

October 16, 2017
On Monday, 16 October 2017 at 09:01:20 UTC, rikki cattermole wrote:
>
> And yet my elderly-ish mother uses Linux Mint and she hates technology.
> It isn't as clear cut as it may appear, these issues.

Linux mint is nice.
October 16, 2017
On Monday, 16 October 2017 at 09:01:20 UTC, rikki cattermole wrote:
> And yet my elderly-ish mother uses Linux Mint and she hates technology.
> It isn't as clear cut as it may appear, these issues.

Off-topic but the issue with Linux is not when you have it stable running ( assuming everything works perfectly out of the box ). Its when you update software. Nothing more fun as lockups when your kernel is updated but you need the update because it allows some other feature to work.

We are talking in the mindset of developers, not mothers who only use skype/browser/mail and do not care if the software is out of date. :)