www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - My first experience as a D Newbie

reply Peter R <peterroar1971 gmail.com> writes:
I've recently started evaluating D, and I thought as a D newbie 
(but 20 year game dev veteran) I should share the things I felt 
were missing or unclear, so you can decide if you want to do 
something to cater new users. So my first notes are

1. Reading about D online: There is a decent amount of 
information seems old, and it's hard to tell for newbies that D1 
and D2 are different. Andrei's book seems like it is still the 
best reference for the actual language, but since it is 7 years 
old, as a newbie I expected it to be out of date. Maybe a 2nd 
edition?
2. Set up the dev environment: While the language is solid, and 
the base DMD install and "hello world" are easy to get going, 
getting a full IDE configured is a lot more work. I would really 
like a comprehensive guide to go from there to having a full 
environment set up in for example VS Code. I've spent weeks 
trying to get VS Code configured, and still haven't gotten 
debugging to work. An idiot-proof step by step guide would be 
nice, maybe like this "step 1 install VS Code from this link, DMD 
from this link, Dub from this link, step 2 install these 5 
extensions in VS Code, step 3 make these manual changes to the 
configuration, step 4 download this sample project and open it, 
step 5 here are the 5 important commands you need to build and 
run". If there was a 15-minute guide, it would be much easier to 
get to the parts that matter.
3. Setting up the dev env,take 2: Visual-D seems a lot easier to 
configure, and it had functional samples. However, it was strange 
that it doesn't use dub files directly and instead needs them 
converted to visual studio build projects. I would prefer if it 
the msbuild projects would just directly call Dub, as Dub seems 
like the gold standard. My first attempt at generating a solution 
from a dub project failed, so it feels maybe a bit unfinished. It 
would also be great if Visual-D had a few more detailed templates 
built in, maybe a Derelict SDL window, for example.
4. it took a while to see that the DMD builds come with x86 
windows libraries, but no x64 windows libraries. That seems 
strange in this day and age

I'm still very new on the actual language, but thought it better 
that I share this while it is still fresh.
Oct 11
next sibling parent rikki cattermole <rikki cattermole.co.nz> writes:
On 11/10/2017 8:23 AM, Peter R wrote:

snip

 4. it took a while to see that the DMD builds come with x86 windows 
 libraries, but no x64 windows libraries. That seems strange in this day 
 and age
We should document this on the download page making it obvious why you also need VS.
Oct 11
prev sibling next sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 11 October 2017 at 07:23:02 UTC, Peter R wrote:
 [snip] I've spent weeks trying to get VS Code configured, and 
 still haven't gotten debugging to work. An idiot-proof step by 
 step guide would be nice, maybe like this "step 1 install VS 
 Code from this link, DMD from this link, Dub from this link, 
 step 2 install these 5 extensions in VS Code, step 3 make these 
 manual changes to the configuration, step 4 download this 
 sample project and open it, step 5 here are the 5 important 
 commands you need to build and run". If there was a 15-minute 
 guide, it would be much easier to get to the parts that matter.
I don't use VS Code, but this is probably worth doing. I don't think I've ever set up debugging on Windows for D. I just put in writeln statements to try and figure out what's going on.
Oct 11
parent reply Dmitry <dmitry indiedev.ru> writes:
On Wednesday, 11 October 2017 at 11:57:18 UTC, jmh530 wrote:
 I just put in writeln statements to try and figure out what's 
 going on.
It depends on what programs you are doing. There are a huge number of cases when this way takes lot more time/efforts than using debugger.
Oct 11
parent jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 11 October 2017 at 14:25:34 UTC, Dmitry wrote:
 It depends on what programs you are doing. There are a huge 
 number of cases when this way takes lot more time/efforts than 
 using debugger.
Haha, yeah I know...
Oct 11
prev sibling next sibling parent reply WhatMeWorry <kheaser gmail.com> writes:
On Wednesday, 11 October 2017 at 07:23:02 UTC, Peter R wrote:
 [...]
+10 We need a walkthru of how to set up everything. It's like a new cook being give all the ingredients but no recipe instructions.
Oct 11
parent reply Steven Schveighoffer <schveiguy yahoo.com> writes:
On 10/11/17 1:42 PM, WhatMeWorry wrote:
 On Wednesday, 11 October 2017 at 07:23:02 UTC, Peter R wrote:
 [...]
+10  We need a walkthru of how to set up everything. It's like a new cook being give all the ingredients but no recipe instructions.
I have to say as someone who uses mostly non-windows systems, these problems only seem to crop up for Windows developers. I don't know if it's a different expectation or a different mindset or something else. -Steve
Oct 11
next sibling parent jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 11 October 2017 at 17:55:18 UTC, Steven 
Schveighoffer wrote:
 I have to say as someone who uses mostly non-windows systems, 
 these problems only seem to crop up for Windows developers.

 I don't know if it's a different expectation or a different 
 mindset or something else.

 -Steve
I don't know if it's that everything seems to be more difficult on Windows or that the average user of Linux is more knowledgeable than the average Windows user, or both. Regardless, if you want to reach more Windows users, spelling things out clearly is helpful.
Oct 11
prev sibling next sibling parent reply Rion <Rion rion.com> writes:
On Wednesday, 11 October 2017 at 17:55:18 UTC, Steven 
Schveighoffer wrote:
 I have to say as someone who uses mostly non-windows systems, 
 these problems only seem to crop up for Windows developers.

 I don't know if it's a different expectation or a different 
 mindset or something else.
Its probably more the fact that most of the developers use Unix based system for development, be it OSx or Linux. As a result Windows is the overlooked system what results in a lack of testing. You really do not want to know the amount of times issues showed up because editor plugins crashes or did not work on windows properly. Very frustrating when its your first experience with a language. It also helps that for instance has a more unified package manager so for people it can simply be apt-get install a few packages and that is it. The patting and other issues are most of the time properly resolved. And it does not help when most plugins are developed by one developer, that is on the above mentioned Unix based systems.
Oct 11
parent reply Dmitry <dmitry indiedev.ru> writes:
On Wednesday, 11 October 2017 at 22:20:01 UTC, Rion wrote:
 Its probably more the fact that most of the developers use Unix 
 based system for development, be it OSx or Linux. As a result 
 Windows is the overlooked system what results in a lack of 
 testing.
I already posted some statistic: A survey of developers (about 15K people) from Russian IT site. Windows ~67%, Linux ~20%, MacOS ~11% (biggest part of these Linux/MacOS developers uses it for web developing) So, no. P.S. In other countries it may differ.
Oct 12
parent reply Jonathan M Davis <newsgroup.d jmdavisprog.com> writes:
On Thursday, October 12, 2017 08:05:04 Dmitry via Digitalmars-d wrote:
 On Wednesday, 11 October 2017 at 22:20:01 UTC, Rion wrote:
 Its probably more the fact that most of the developers use Unix
 based system for development, be it OSx or Linux. As a result
 Windows is the overlooked system what results in a lack of
 testing.
I already posted some statistic: A survey of developers (about 15K people) from Russian IT site. Windows ~67%, Linux ~20%, MacOS ~11% (biggest part of these Linux/MacOS developers uses it for web developing) So, no. P.S. In other countries it may differ.
I think that he meant that most of the developers for dmd and the standard library run *nix systems, and AFAIK, that's true. There are some who run Windows (Walter does, and I think that Daniel does), but most of us primarily use a *nix OS of some variety. But overall, I don't think that the Windows situation with D is really all that much worse than what you get on Linux. It's just that the folks running Windows have a tendency to care a ton about stuff like IDEs that the folks running *nix systems historically don't care much about. And for whatever reason, even when we do have IDE support (e.g. VisualD), it never seems to be enough for some folks. D and its tools have improved quite a bit over the years, but there's always something that someone isn't happy with. - Jonathan M Davis
Oct 12
next sibling parent Dmitry <dmitry indiedev.ru> writes:
On Thursday, 12 October 2017 at 08:20:45 UTC, Jonathan M Davis 
wrote:
 I think that he meant that most of the developers for dmd and 
 the standard library run *nix systems
Ah, you're right. I have misunderstood a bit.
Oct 12
prev sibling parent jmh530 <john.michael.hall gmail.com> writes:
On Thursday, 12 October 2017 at 08:20:45 UTC, Jonathan M Davis 
wrote:
 But overall, I don't think that the Windows situation with D is 
 really all that much worse than what you get on Linux. It's 
 just that the folks running Windows have a tendency to care a 
 ton about stuff like IDEs that the folks running *nix systems 
 historically don't care much about. And for whatever reason, 
 even when we do have IDE support (e.g. VisualD), it never seems 
 to be enough for some folks.
I prefer not to use an IDE, but a GUI for a debugging is nice.
Oct 12
prev sibling next sibling parent reply Jesse Phillips <Jesse.K.Phillips+D gmail.com> writes:
On Wednesday, 11 October 2017 at 17:55:18 UTC, Steven 
Schveighoffer wrote:
 I have to say as someone who uses mostly non-windows systems, 
 these problems only seem to crop up for Windows developers.

 I don't know if it's a different expectation or a different 
 mindset or something else.

 -Steve
I don't think this is true at all. I recall people getting frustrated and blaming it one Linux support being second class to windows. Mind you, I used both and was totally confused because windows had so many qwerks. This was before win64 support.
Oct 11
parent Jacob Carlborg <doob me.com> writes:
On 2017-10-12 07:27, Jesse Phillips wrote:

 I don't think this is true at all. I recall people getting frustrated 
 and blaming it one Linux support being second class to windows.
I think that was true long time ago, but not anymore. DMD started out on Windows, since that's Walter's main platform. Now it seems that the Posix support is better. I think having only on compiler tool chain to worry about on Posix makes it a lot simpler. -- /Jacob Carlborg
Oct 12
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2017-10-11 19:55, Steven Schveighoffer wrote:

 I have to say as someone who uses mostly non-windows systems, these 
 problems only seem to crop up for Windows developers.
 
 I don't know if it's a different expectation or a different mindset or 
 something else.
In my experience it's more common for Windows developers to expect a full IDE. -- /Jacob Carlborg
Oct 12
prev sibling parent bauss <jj_1337 live.dk> writes:
On Wednesday, 11 October 2017 at 17:55:18 UTC, Steven 
Schveighoffer wrote:
 On 10/11/17 1:42 PM, WhatMeWorry wrote:
 On Wednesday, 11 October 2017 at 07:23:02 UTC, Peter R wrote:
 [...]
+10  We need a walkthru of how to set up everything. It's like a new cook being give all the ingredients but no recipe instructions.
I have to say as someone who uses mostly non-windows systems, these problems only seem to crop up for Windows developers. I don't know if it's a different expectation or a different mindset or something else. -Steve
I'm primary on Windows and I have never had any troubles setting up D or getting an environment working, but that might just be me. I did spend the first year of my D experience using command-line and notepad++ only though; however recent years I've used atom with some cmd hacking to setup my environment there. I do have Visual D, but it's just not suitable for custom build processes with multiple projects; especially not with dub.
Oct 12
prev sibling next sibling parent reply qznc <qznc web.de> writes:
At least on Ubuntu, this gives me an IDE:

   dub run dlangide

I have not used it much and I don't know if it works on Windows, 
but it might be the easiest way once you installed dmd and dub.
Oct 11
parent reply Rion <Rion rion.com> writes:
On Wednesday, 11 October 2017 at 18:29:38 UTC, qznc wrote:
 At least on Ubuntu, this gives me an IDE:

   dub run dlangide

 I have not used it much and I don't know if it works on 
 Windows, but it might be the easiest way once you installed dmd 
 and dub.
Windows 10: dub run dlangide Failed to find a package named 'dlangide'.
Oct 11
parent reply jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 11 October 2017 at 22:23:12 UTC, Rion wrote:
 On Wednesday, 11 October 2017 at 18:29:38 UTC, qznc wrote:
 At least on Ubuntu, this gives me an IDE:

   dub run dlangide

 I have not used it much and I don't know if it works on 
 Windows, but it might be the easiest way once you installed 
 dmd and dub.
Windows 10: dub run dlangide Failed to find a package named 'dlangide'.
You have to fetch it first if you don't already have it: dub fetch dlangide dub run dlangide Of course, you might still have an issue...
Oct 11
next sibling parent reply Dennis Cote <private secret.com> writes:
On Thursday, 12 October 2017 at 01:26:33 UTC, jmh530 wrote:
 You have to fetch it first if you don't already have it:
 dub fetch dlangide
 dub run dlangide

 Of course, you might still have an issue...
I still have an issue on macOS using latest Homebrew version of dmd and dub. It seems like it builds with one deprecation warning, but fails to run. I fetched into an empty directory then run. All build and error message are in the link below: https://pastebin.com/FLQHwGXf It looks like SLD2 is missing, so I installed it via Homebrew and tried again. This time it runs but displays a window full of micro sized text and icons. It is barely readable. The link below leads to a screenshot showing the dlangide window and Dlang.org open in Safari for comparison. http://tinypic.com/r/20jiico/9 Not trying to slam dlangide (in fact it looks promising), but these kind of issues, when following the instructions given, show how incomplete or untested instructions can lead new users to have a frustrating first experience with D. Dennis Cote
Oct 11
next sibling parent reply Dennis Cote <private secret.com> writes:
On Thursday, 12 October 2017 at 03:50:31 UTC, Dennis Cote wrote:
 This time it runs but displays a window full of micro sized 
 text and icons. It is barely readable.
I figured out dlangide assumes a DPI setting of 96 which creates the tiny text and icons on my Retina display. Under preferences it shows the DPI as "Use Screen DPI (192)" but it actually uses that value only after I click the Apply button. Then the text and icons are displayed correctly. Looks like a small bug in dlangide initialization. I also noticed the check boxes in the preference dialog seem to display at 96 DPI (and are therefore very small) even after the display resolution is changed. Dennis Cote
Oct 11
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Thursday, 12 October 2017 at 05:02:40 UTC, Dennis Cote wrote:
 On Thursday, 12 October 2017 at 03:50:31 UTC, Dennis Cote wrote:
 This time it runs but displays a window full of micro sized 
 text and icons. It is barely readable.
I figured out dlangide assumes a DPI setting of 96 which creates the tiny text and icons on my Retina display. Under preferences it shows the DPI as "Use Screen DPI (192)" but it actually uses that value only after I click the Apply button. Then the text and icons are displayed correctly. Looks like a small bug in dlangide initialization. I also noticed the check boxes in the preference dialog seem to display at 96 DPI (and are therefore very small) even after the display resolution is changed. Dennis Cote
Hello, Could you please submit issue on https://github.com/buggins/dlangide/issues It looks like screen DPI is detected properly but not applied on start of app. Best regards, Vadim
Oct 12
parent reply Dennis Cote <private secret.com> writes:
On Thursday, 12 October 2017 at 07:48:09 UTC, Vadim Lopatin wrote:
 Could you please submit issue on 
 https://github.com/buggins/dlangide/issues
Done. https://github.com/buggins/dlangide/issues/349
Oct 12
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Friday, 13 October 2017 at 00:45:53 UTC, Dennis Cote wrote:
 On Thursday, 12 October 2017 at 07:48:09 UTC, Vadim Lopatin 
 wrote:
 Could you please submit issue on 
 https://github.com/buggins/dlangide/issues
Done. https://github.com/buggins/dlangide/issues/349
Thank you! Could you please attach ui.log of DlangIDE starting (while option override screen dpi is disabled - set to default).
Oct 12
parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Friday, 13 October 2017 at 06:01:25 UTC, Vadim Lopatin wrote:
 On Friday, 13 October 2017 at 00:45:53 UTC, Dennis Cote wrote:
 On Thursday, 12 October 2017 at 07:48:09 UTC, Vadim Lopatin 
 wrote:
 Could you please submit issue on 
 https://github.com/buggins/dlangide/issues
Done. https://github.com/buggins/dlangide/issues/349
Thank you! Could you please attach ui.log of DlangIDE starting (while option override screen dpi is disabled - set to default).
Forgot to add - use debug build - w/o --build=release
Oct 12
prev sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Thursday, 12 October 2017 at 03:50:31 UTC, Dennis Cote wrote:
 On Thursday, 12 October 2017 at 01:26:33 UTC, jmh530 wrote:
 You have to fetch it first if you don't already have it:
 dub fetch dlangide
 dub run dlangide

 Of course, you might still have an issue...
I still have an issue on macOS using latest Homebrew version of dmd and dub. It seems like it builds with one deprecation warning, but fails to run. I fetched into an empty directory then run. All build and error message are in the link below: https://pastebin.com/FLQHwGXf It looks like SLD2 is missing, so I installed it via Homebrew and tried again. This time it runs but displays a window full of micro sized text and icons. It is barely readable. The link below leads to a screenshot showing the dlangide window and Dlang.org open in Safari for comparison. http://tinypic.com/r/20jiico/9 Not trying to slam dlangide (in fact it looks promising), but these kind of issues, when following the instructions given, show how incomplete or untested instructions can lead new users to have a frustrating first experience with D. Dennis Cote
I've updated README on https://github.com/buggins/dlangide "Try DlangIDE" section is added with build instructions, DMD and DUB installation, libSDL2 installation, build troubleshooting.
Oct 12
prev sibling parent reply Rion <Rion rion.com> writes:
On Thursday, 12 October 2017 at 01:26:33 UTC, jmh530 wrote:
 On Wednesday, 11 October 2017 at 22:23:12 UTC, Rion wrote:
 On Wednesday, 11 October 2017 at 18:29:38 UTC, qznc wrote:
 At least on Ubuntu, this gives me an IDE:

   dub run dlangide

 I have not used it much and I don't know if it works on 
 Windows, but it might be the easiest way once you installed 
 dmd and dub.
Windows 10: dub run dlangide Failed to find a package named 'dlangide'.
You have to fetch it first if you don't already have it: dub fetch dlangide dub run dlangide Of course, you might still have an issue...
I know but this illustrates the OP his point. Do you see a warning tell people they can need to use fetch? Its the small details that can made the experience much more nice but because everybody here is such D experts, they can not see that for a new user he will not have a clue what is going on. D is riddled with less then friendly behavior simply because the developers are used to this and they do so from memory. Why does it take a whole bunch of commands to make a shared library and link it. Go has it down to a simple clean command. Seen it also in other languages where is more easy. Yet D focuses on the old C++ style because the people developing D all come from this background and do not realism that there is something called user friendly. Its everywhere over the D landscape and it makes it hard for people who are not C++/D aluminate then it needs to be. Its a missed opportunity and instead of always focusing on adding new language features, there need to be a clear period of focusing on user friendliness. And by the way that command above on my tablet results in:
 Fetching dcd 0.9.1 (getting selected version)...
 dlangui 0.9.160: building configuration "default"...
 Error: out of memory
 dmd failed with exit code 1.
1.3GB free on a 4GB system... Out of memory really!
Oct 12
parent jmh530 <john.michael.hall gmail.com> writes:
On Thursday, 12 October 2017 at 10:29:31 UTC, Rion wrote:
 I know but this illustrates the OP his point. Do you see a 
 warning tell people they can need to use fetch? Its the small 
 details that can made the experience much more nice but because 
 everybody here is such D experts, they can not see that for a 
 new user he will not have a clue what is going on.
1) The readme has been updated and in this version works for me with no problems, 2) It's pretty basic use of dub that you need to fetch first, but I'll admit that if it's an ide that someone is using for the first time, they may not be familiar with dub. In general, there's nothing wrong with making things more user-friendly, whether that's improving the documentation or providing examples of simple tasks.
Oct 12
prev sibling parent reply Peter R <peterroar1971 gmail.com> writes:
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++

"even when we do have IDE support (e.g. VisualD), it never seems 
to be enough for some folks."
I tried VisualD, but the fact that it didn't use dub underneath 
made me think "that's not the way people are supposed to use D". 
That is why I started the VSCode path- that felt more in the 
spirit of the D ecosystem.

I admit I didn't consider evaluating DLangIDE earlier. I am used 
to Visual Studio, so that was my first choice. If I have to learn 
a second editor I want one that is known to work with many 
languages and lots of plugin support, so I picked VS Code.
Oct 12
next sibling parent reply Steven Schveighoffer <schveiguy yahoo.com> writes:
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
Oct 13
next sibling parent jmh530 <john.michael.hall gmail.com> writes:
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
Oct 13
prev sibling next sibling parent reply Rion <Rion rion.com> writes:
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.
Oct 13
next sibling parent Jacob Carlborg <doob me.com> writes:
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
Oct 15
prev sibling parent reply Laeeth Isharc <laeethnospam nospam.laeeth.com> writes:
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.
Oct 15
parent reply Rion <Rion Rion.com> writes:
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.
Oct 16
next sibling parent reply rikki cattermole <rikki cattermole.co.nz> writes:
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.
Oct 16
next sibling parent jmh530 <john.michael.hall gmail.com> writes:
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.
Oct 16
prev sibling parent Rion <Rion Rion.com> writes:
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. :)
Oct 16
prev sibling next sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Monday, 16 October 2017 at 08:56:21 UTC, 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 ). 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.
Once again what you say confirm what I'm repeating all the time : D hasn't enough the "plug-n-play" mindset. The current view is elitist : "D needs some investment blablabla". The sad result is that NONE of my friend have liked their first experience with D. Really. NONE of them. Despite they said initially that it "looks interesting". The website should be more clear and make a choice "by default". 1/ install DMD (or ...) 2/ install CoEdit (or ...) You should say to the beginners how to install what will work most of the time, and bring the less annoyance. While giving them other options too, but the simplest main path to success should be obvious. CoEdit, along with DMD, gets the job done. Maybe it's not the sexiest IDE, but it works very well for "beginners" scripts. You create an empty file, you type your code, you ask to run it. If there are errors, it's ergonomic too. And for "power users", indeed, there are PLENTY of opportunities, in PLENTY of environments. But D NEEDS a DEFAULT IDE, something that should even be pre-installed by the DMD compiler installer, if the user doesn't "uncheck" the installation option. Again, marketing errors. Make D MORE EASY for BEGINNERS. And by beginners, as you know me, I mean scripters, who come from JavaScript, Python, Ruby. I know that at the moment they may not be much, considering the website which obviously targets C++/Rust-like developers. But I still think it's an error. Put D on the "easy to pick up" road. It's where it should be. Because D IS EASY to learn. And it's also EASY to use. But make the installation and learning curve as smooth as possible for less-skilled developers, by allowing them to download an all-in-one bundled installer (compiler+ide+tutorials+examples), and they will be much more to join the D community ! They have their place here too, so be more welcoming with them. Because you may think it's already the case, but you should trust Rion and the others when they say it's not really the case, especially on windows.
Oct 18
parent reply codephantom <me noyb.com> writes:
On Wednesday, 18 October 2017 at 18:02:24 UTC, Ecstatic Coder 
wrote:
 But make the installation and learning curve as smooth as 
 possible for less-skilled developers, by allowing them to 
 download an all-in-one bundled installer 
 (compiler+ide+tutorials+examples), and they will be much more 
 to join the D community !

 Because you may think it's already the case, but you should 
 trust Rion and the others when they say it's not really the 
 case, especially on windows.
don't take my response too seriously...but... The open-source community is mostly driven by 'volunteers'...who work on what they want to work on, when they have some spare time to work on it. I think too many people do not understand this, and so come in with bloated expectations. Unlike commerical developers, the open source community rarely has the money or the resources for the 'all-in-one bundled' mindset. That's just how it is. That is the starting point for your expecations. I blame commerical developers, like Microsoft/Apple, and universities especially! They go out of their way to make the 'installation and learning curve as smooth as possible'..for beginners! And they are responsible for setting those kind of expectations up in peoples minds..at the 'beginning'! This is not the mindset you want when you enter the open source community... I guess this is ok, if you're only every going to encounter commercial solutions when you go out into the real world...but the world has changed a lot..and you're actually more likely to encounter non-commercial, open source software these days. So perhaps they should start teaching undergrad's how to setup an open-source operating system (preferably FreeBSD...Linux if you really have to.. ;-) They should teach undergrad's to program in C/C++ (since open-source o/s's are written in these languages - though more C than C++) They should teach undergrad's to program in a simple, plain text editor. They should teach undergrad's to compile/debug from the command line/shell. Instead, they teach C# on Windows, using VS. open source, and D too, did not come about as a result of C#/Windows/VS users being disappointed with their language and/or tooling ;-) So my recommendation for beginners, is [0..9]: [0] - dump windows! (or at least dual boot, or setup a vm or something). [1] - install FreeBSD (linux if you really have to ;-) [2] - start writing some C/C++ code using Vi, and compiling from the shell prompt. [3] - realise that there must be an easier way... [4] - install KDE (hey..we don't want things to be too hard..do we). [5] - dump C/C++ and install LLVM's D compiler => pkg install ldc (or install DMD: just download from the website and extract it) [6] - open a 'more user friendly' text editor (like Kate). [7] - start coding again, in D this time. [8] - open a shell. [9] - start compiling/debugging. Then you *will* notice how much easier things are, and you won't be disappointed ;-) And...you'll be better prepared to join the D community (or any other open source community for that matter).
Oct 18
next sibling parent Laeeth Isharc <laeeth laeeth.com> writes:
On Thursday, 19 October 2017 at 01:32:14 UTC, codephantom wrote:
 The open-source community is mostly driven by 
 'volunteers'...who work on what they want to work on, when they 
 have some spare time to work on it. I think too many people do 
 not understand this, and so come in with bloated expectations.
...
 They go out of their way to make the 'installation and learning 
 curve as smooth as possible'..for beginners! And they are 
 responsible for setting those kind of expectations up in 
 peoples minds..at the 'beginning'! This is not the mindset you 
 want when you enter the open source community...

 I guess this is ok, if you're only every going to encounter 
 commercial solutions when you go out into the real world...but 
 the world has changed a lot..and you're actually more likely to 
 encounter non-commercial, open source software these days.
...
 open source, and D too, did not come about as a result of 
 C#/Windows/VS users being disappointed with their language 
 and/or tooling ;-)
+1 Although these days, it's not like the contribution of enterprises to open-source is nil. In 2013 (I didn't bother to find latest stats), 80% of contributions to the kernel were from developers employed to work on it. https://www.extremetech.com/computing/175919-who-actually-develops-linux-the-answer-might-surprise-you And of course commercial open-source software is a thing. When I started my career after university at SBC Warburg, banks outsourcing technology services was just beginning. And I read a study from a couple years back about the consequences of outsourcing - and it said that very often there was a one-shot reduction in cost, followed by an enduring loss in productivity growth. Why? Because it's very hard to improve things when you don't control the whole process and when you don't receive information from the environment by getting your hands dirty. And outsourcing and using tools that do everything for you automagically are somewhat similar in that respect. Of course it's worth automating what no human should be doing. But if one completely loses touch with the layer beneath, that comes at a high price. And when you've automated everything, you may also find that the remaining problems are beyond the ken of any living human to solve, particularly when that human no longer has the experience of solving the simpler problems that are now automated. http://queue.acm.org/detail.cfm?id=2841313 Developments in society move in cycles and waves. From the 1990s until recently, yes, it made sense to think about making things easy that should be easy. Today, we've lost a bit touch with the underlying reality, and as far as I can see the pendulum is swinging back a bit. I just hired someone to work on devops who liked the old ThinkPad keyboards and didn't like the new ones. But the old machines are now a bit dated, and yet there is no way to buy the new machines with a classic keyboard. So he tried plugging an old keyboard in and it didn't work, so he did what anyone normal would do. He reverse engineered the firmware and patched it - only to patch it he also had to reverse engineering the patching tool because it was signed. Some might say that this demonstrates nothing more than a lack of pragmatism and commercial orientation. But I don't think that's the case at all. It's an unreasonable stance to take, but one that's very sane indeed. GK Chesterton said that 'all progress comes from the unreasonable man'. And if you have this kind of attitude then you recognise that you can change things in your environment - one no longer has this feeling of learned helplessness the moment that it is necessary to do something that can't be easily accomplished from within Visual Studio. It's just code, after all. And we're in an age where some of the most significant commercial problems come from the dynamic business environment - where you end up having to do something you didn't plan for - and from the complexity created by layers of abstractions. So if you're adaptable and not afraid of understanding the things you depend on, and if they are themselves designed for you to take apart and understand, there's just a chance it may be one source of enduring commercial advantage...
Oct 18
prev sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Thursday, 19 October 2017 at 01:32:14 UTC, codephantom wrote:
 On Wednesday, 18 October 2017 at 18:02:24 UTC, Ecstatic Coder 
 wrote:
 But make the installation and learning curve as smooth as 
 possible for less-skilled developers, by allowing them to 
 download an all-in-one bundled installer 
 (compiler+ide+tutorials+examples), and they will be much more 
 to join the D community !

 Because you may think it's already the case, but you should 
 trust Rion and the others when they say it's not really the 
 case, especially on windows.
don't take my response too seriously...but... The open-source community is mostly driven by 'volunteers'...who work on what they want to work on, when they have some spare time to work on it. I think too many people do not understand this, and so come in with bloated expectations. Unlike commerical developers, the open source community rarely has the money or the resources for the 'all-in-one bundled' mindset. That's just how it is. That is the starting point for your expecations. I blame commerical developers, like Microsoft/Apple, and universities especially! They go out of their way to make the 'installation and learning curve as smooth as possible'..for beginners! And they are responsible for setting those kind of expectations up in peoples minds..at the 'beginning'! This is not the mindset you want when you enter the open source community... I guess this is ok, if you're only every going to encounter commercial solutions when you go out into the real world...but the world has changed a lot..and you're actually more likely to encounter non-commercial, open source software these days. So perhaps they should start teaching undergrad's how to setup an open-source operating system (preferably FreeBSD...Linux if you really have to.. ;-) They should teach undergrad's to program in C/C++ (since open-source o/s's are written in these languages - though more C than C++) They should teach undergrad's to program in a simple, plain text editor. They should teach undergrad's to compile/debug from the command line/shell. Instead, they teach C# on Windows, using VS. open source, and D too, did not come about as a result of C#/Windows/VS users being disappointed with their language and/or tooling ;-) So my recommendation for beginners, is [0..9]: [0] - dump windows! (or at least dual boot, or setup a vm or something). [1] - install FreeBSD (linux if you really have to ;-) [2] - start writing some C/C++ code using Vi, and compiling from the shell prompt. [3] - realise that there must be an easier way... [4] - install KDE (hey..we don't want things to be too hard..do we). [5] - dump C/C++ and install LLVM's D compiler => pkg install ldc (or install DMD: just download from the website and extract it) [6] - open a 'more user friendly' text editor (like Kate). [7] - start coding again, in D this time. [8] - open a shell. [9] - start compiling/debugging. Then you *will* notice how much easier things are, and you won't be disappointed ;-) And...you'll be better prepared to join the D community (or any other open source community for that matter).
OK actually my initial proposal was this one : http://forum.dlang.org/post/mailman.6425.1503876081.31550.digitalmars-d-bugs puremagic.com ´´´ My proposal is change the Dlang.org main page so that it just : 1. Say "Welcome to D" 2. Show how D is nice, ending with a link to the feature page 3. Show how simple D code looks like, using 4 well chosen examples, with the first on the right of the main page. 4. Show how easy it is to learn D. 5. Show how easy it is to install DMD and a simple editor like CoEdit on any win/mac/linux computer. So in practice, I'd advice the landing page to become something like that : "Welcome to D What is D? D is the culmination of decades of experience implementing compilers for many diverse languages and has a unique set of features: high level constructs for great modeling power high performance, compiled language static typing direct interface to the operating system API's and hardware blazingly fast compile-times memory-safe subset (SafeD) maintainable, easy to understand code gradual learning curve (C-like syntax, similar to Java and others) compatible with C application binary interface limited compatibility with C++ application binary interface multi-paradigm (imperative, structured, object oriented, generic, functional programming purity, and even assembly) built-in error detection (contracts, unittests) ... and many more {features}. Take a tour Want to try D online ? Simply click on the "run" button (or Ctrl-enter) below the example on the right to compile and run it. And the example can be freely edited if you want to experiment with D programming. If you want to see other examples, click on the "next" button below to see the next example of the dlang-tour. Further readings * New to programming? Learn programming quickly and easily with the D language, using these freely downloadable books : * {http://ddili.org/ders/d.en/index.html} * {https://www.tutorialspoint.com/d_programming/} * Already an experienced programmer? ... * etc etc ... Installing D ... * {https://dlang.org/download.html} * {https://github.com/BBasile/Coedit}" Moreover I advice there are at least the following code samples for the Dlang-Tour : 1. How to declare, initialise and print simple variables (bool, int, float, string, int[], int[string]). 2. How to declare simple imperative functions (something like v=GetFibonacci(n) and GetFibonacci(v,n) with a ref argument) 3. How to declare classes with attributes and methods 4. How to declare and use a function like a class method 5. How to declare and use structs and pointers 6. How to declare and use a template function ´´´ Now here I only suggest that D's website is more welcoming to Windows programmers and scripters by letting them easily and obvioulsy download the DMD compiler and the CoEdit editor directly from the top of the main page (separately, as two "setup.ex", or together in the same bundled "setup.exe"), so they don't have to figure out how to make D work by trials and errors. That's a simple and easy way to make that D landing page more "beginner friendly" from a marketing point of view. And the definitive answer about that is of course something like "Hey man, it's open source, it's all made by volunteers on their free time, so it must be complicated, what did you expect ?" and "Make all the changes by yourself if you don't like it the way it is.". Seriously ? OK, message received. If putting two download links per detected platform on the main page is too much work for the volunteers who maintains the landing page, so let's keep it the way it is. I have a lot of work and a family life too, no problem...
Oct 18
next sibling parent reply Moritz Maxeiner <moritz ucworks.org> writes:
On Thursday, 19 October 2017 at 06:32:10 UTC, Ecstatic Coder 
wrote:
 [...]

 OK actually my initial proposal was this one :

 http://forum.dlang.org/post/mailman.6425.1503876081.31550.digitalmars-d-bugs puremagic.com

 [...]

 And the definitive answer about that is of course something 
 like "Hey man, it's open source, it's all made by volunteers on 
 their free time, so it must be complicated, what did you expect 
 ?" and "Make all the changes by yourself if you don't like it 
 the way it is.".

 Seriously ?

 OK, message received. If putting two download links per 
 detected platform on the main page is too much work for the 
 volunteers who maintains the landing page, so let's keep it the 
 way it is. I have a lot of work and a family life too, no 
 problem...
I remember those events very differently, so here they are for posterity: http://forum.dlang.org/thread/llreleiqxjllthmlgyhh forum.dlang.org?page=1 http://forum.dlang.org/post/cxunwfnhdrlpujjxzraq forum.dlang.org
Oct 19
parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Thursday, 19 October 2017 at 07:04:14 UTC, Moritz Maxeiner 
wrote:
 On Thursday, 19 October 2017 at 06:32:10 UTC, Ecstatic Coder 
 wrote:
 [...]

 OK actually my initial proposal was this one :

 http://forum.dlang.org/post/mailman.6425.1503876081.31550.digitalmars-d-bugs puremagic.com

 [...]

 And the definitive answer about that is of course something 
 like "Hey man, it's open source, it's all made by volunteers 
 on their free time, so it must be complicated, what did you 
 expect ?" and "Make all the changes by yourself if you don't 
 like it the way it is.".

 Seriously ?

 OK, message received. If putting two download links per 
 detected platform on the main page is too much work for the 
 volunteers who maintains the landing page, so let's keep it 
 the way it is. I have a lot of work and a family life too, no 
 problem...
I remember those events very differently, so here they are for posterity: http://forum.dlang.org/thread/llreleiqxjllthmlgyhh forum.dlang.org?page=1 http://forum.dlang.org/post/cxunwfnhdrlpujjxzraq forum.dlang.org
That's exactly what I said. Thanks for confirming what I have written. And please stop the personal attacks, thanks. That's because of this kind of "harrassment" that potential volunteers like me are demotivated and prefer to let kind people like you manage the community needs.
Oct 19
next sibling parent reply codephantom <me noyb.com> writes:
On Thursday, 19 October 2017 at 08:17:04 UTC, Ecstatic Coder 
wrote:
 On Thursday, 19 October 2017 at 07:04:14 UTC, Moritz Maxeiner

 And please stop the personal attacks, thanks.

 That's because of this kind of "harrassment" that potential 
 volunteers like me are demotivated and prefer to let kind 
 people like you manage the community needs.
'people like you' ?? That's comment is really unfair, and may itself it be harrasment. The reason it's got to this, is simply that your expectations are too high. You are demanding that volunteers, deliver to you, on a silver platter, an all encompassing solution to your problem. It's not going to happen. This whole thread is about trying to help you understand that such an expectation will get you nowhere...which is what's happened. But in any case, you really need to check both your attitude, and expectations. Good luck. And I do hope you choose to become a 'contributor' at some point.
Oct 19
next sibling parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Thursday, 19 October 2017 at 08:46:58 UTC, codephantom wrote:
 On Thursday, 19 October 2017 at 08:17:04 UTC, Ecstatic Coder 
 wrote:
 On Thursday, 19 October 2017 at 07:04:14 UTC, Moritz Maxeiner

 And please stop the personal attacks, thanks.

 That's because of this kind of "harrassment" that potential 
 volunteers like me are demotivated and prefer to let kind 
 people like you manage the community needs.
'people like you' ?? That's comment is really unfair, and may itself it be harrasment. The reason it's got to this, is simply that your expectations are too high. You are demanding that volunteers, deliver to you, on a silver platter, an all encompassing solution to your problem. It's not going to happen. This whole thread is about trying to help you understand that such an expectation will get you nowhere...which is what's happened. But in any case, you really need to check both your attitude, and expectations. Good luck. And I do hope you choose to become a 'contributor' at some point.
I'm currently the maintainer of a dozen D projects that I open sourced to promote the D language. I don't provide executables, people have to download the DMD compiler to use them. I'm also promoting D a lot on Quora. Probably more than anybody in this community. And I was close to remake the D landing page. And YES, I still find Moritz a bit demotivating with people like me. Maybe it's unfair, but that's how I feel, sorry for that.
Oct 19
prev sibling next sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Thursday, 19 October 2017 at 08:46:58 UTC, codephantom wrote:
 On Thursday, 19 October 2017 at 08:17:04 UTC, Ecstatic Coder 
 wrote:
 On Thursday, 19 October 2017 at 07:04:14 UTC, Moritz Maxeiner

 And please stop the personal attacks, thanks.

 That's because of this kind of "harrassment" that potential 
 volunteers like me are demotivated and prefer to let kind 
 people like you manage the community needs.
'people like you' ?? That's comment is really unfair, and may itself it be harrasment. The reason it's got to this, is simply that your expectations are too high. You are demanding that volunteers, deliver to you, on a silver platter, an all encompassing solution to your problem. It's not going to happen. This whole thread is about trying to help you understand that such an expectation will get you nowhere...which is what's happened. But in any case, you really need to check both your attitude, and expectations. Good luck. And I do hope you choose to become a 'contributor' at some point.
For instance, here I say that I don't agree that the "easy" way to use D is by using FreeBSD instead of Windows. Here is the answer : "I remember those events very differently, so here they are for posterity:
 http://forum.dlang.org/thread/llreleiqxjllthmlgyhh forum.dlang.org?page=1
 http://forum.dlang.org/post/cxunwfnhdrlpujjxzraq forum.dlang.org"
Thanks a lot. Look how I'm much more motivated to add the two buttons myself on D's landing page, as I was close to do (sincerely). Well done boy !!!
Oct 19
parent Moritz Maxeiner <moritz ucworks.org> writes:
On Thursday, 19 October 2017 at 09:10:04 UTC, Ecstatic Coder 
wrote:
 For instance, here I say that I don't agree that the "easy" way 
 to use D is by using FreeBSD instead of Windows.

 Here is the answer :

 "I remember those events very differently, so here they are for 
 posterity:
That post of mine is not an answer to that statement, as can be seen by what exactly I quoted.
Oct 19
prev sibling next sibling parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Thursday, 19 October 2017 at 08:46:58 UTC, codephantom wrote:
 On Thursday, 19 October 2017 at 08:17:04 UTC, Ecstatic Coder 
 wrote:
 On Thursday, 19 October 2017 at 07:04:14 UTC, Moritz Maxeiner

 And please stop the personal attacks, thanks.

 That's because of this kind of "harrassment" that potential 
 volunteers like me are demotivated and prefer to let kind 
 people like you manage the community needs.
'people like you' ?? That's comment is really unfair, and may itself it be harrasment. The reason it's got to this, is simply that your expectations are too high. You are demanding that volunteers, deliver to you, on a silver platter, an all encompassing solution to your problem. It's not going to happen. This whole thread is about trying to help you understand that such an expectation will get you nowhere...which is what's happened. But in any case, you really need to check both your attitude, and expectations. Good luck. And I do hope you choose to become a 'contributor' at some point.
And sorry for my "harrassment"...
Oct 19
prev sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
 But in any case, you really need to check both your attitude, 
 and expectations.

 Good luck. And I do hope you choose to become a 'contributor' 
 at some point.
Here is the list of D tools that I've open sourced so that PHP, JS and Go web developers may at least have a first experiment with D : https://github.com/senselogic?tab=repositories I hope that making them aware of the existence of the D language will make them think about its use as a valuable scripting language. And I also hope that one day D will be promoted a lot for this use, including for web development scripting.
Oct 19
parent reply codephantom <me noyb.com> writes:
On Thursday, 19 October 2017 at 09:20:11 UTC, Ecstatic Coder 
wrote:
 Here is the list of D tools that I've open sourced so that PHP, 
 JS and Go web developers may at least have a first experiment 
 with D :

 https://github.com/senselogic?tab=repositories

 I hope that making them aware of the existence of the D 
 language will make them think about its use as a valuable 
 scripting language.

 And I also hope that one day D will be promoted a lot for this 
 use, including for web development scripting.
Ok. Clearly the problem, is not your lack of ideas, or contributions ;-) That is interesting stuff you're doing...goes well over my head though. ;-) There is an good old saying, that goes like this: "The pessimist complains about the wind; the optimist expects it to change; the realist adjusts the sails." Adjust the sails, and enjoy the ride ;-) and ...remember... "Don’t Let The Perfect Be The Enemy Of The Good"
Oct 19
parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
 and ...remember... "Don’t Let The Perfect Be The Enemy Of The 
 Good"
True saying. I should apply it more often...
Oct 19
prev sibling parent reply Moritz Maxeiner <moritz ucworks.org> writes:
On Thursday, 19 October 2017 at 08:17:04 UTC, Ecstatic Coder 
wrote:
 On Thursday, 19 October 2017 at 07:04:14 UTC, Moritz Maxeiner 
 wrote:
 On Thursday, 19 October 2017 at 06:32:10 UTC, Ecstatic Coder 
 wrote:
 [...]

 OK actually my initial proposal was this one :

 http://forum.dlang.org/post/mailman.6425.1503876081.31550.digitalmars-d-bugs puremagic.com

 [...]

 And the definitive answer about that is of course something 
 like "Hey man, it's open source, it's all made by volunteers 
 on their free time, so it must be complicated, what did you 
 expect ?" and "Make all the changes by yourself if you don't 
 like it the way it is.".

 Seriously ?

 OK, message received. If putting two download links per 
 detected platform on the main page is too much work for the 
 volunteers who maintains the landing page, so let's keep it 
 the way it is. I have a lot of work and a family life too, no 
 problem...
I remember those events very differently, so here they are for posterity: http://forum.dlang.org/thread/llreleiqxjllthmlgyhh forum.dlang.org?page=1 http://forum.dlang.org/post/cxunwfnhdrlpujjxzraq forum.dlang.org
That's exactly what I said. Thanks for confirming what I have written.
This does not confirm what you wrote, because what you referred to as your initial proposal was the result of the previous thread I linked to, not the basis for it.
 And please stop the personal attacks, thanks.
What I wrote is not - and cannot be construed as - a personal attack (as it does not state - or imply - anything about you as a person). I consider your accusation slander, however.
Oct 19
parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
 I remember those events very differently, so here they are 
 for posterity:

 http://forum.dlang.org/thread/llreleiqxjllthmlgyhh forum.dlang.org?page=1
 http://forum.dlang.org/post/cxunwfnhdrlpujjxzraq forum.dlang.org
That's exactly what I said. Thanks for confirming what I have written.
This does not confirm what you wrote, because what you referred to as your initial proposal was the result of the previous thread I linked to, not the basis for it.
Really ? You are saying that your WHOLE point is that I CAN'T use the word 'initial' when talking about my prior suggestion because I've unfortunately changed a few words of my post when copy pasting it in the bug tracker, ON YOUR ADVICE !!! OMG LOL
Oct 19
prev sibling parent reply codephantom <me noyb.com> writes:
On Thursday, 19 October 2017 at 06:32:10 UTC, Ecstatic Coder 
wrote:
 And the definitive answer about that is of course something 
 like "Hey man, it's open source, it's all made by volunteers on 
 their free time, so it must be complicated, what did you expect 
 ?" and "Make all the changes by yourself if you don't like it 
 the way it is.".

 Seriously ?
I remember myself saying the exact same thing back in the early nineties...when linux and freebsd were just becoming popular....boy...if you think installing dmd is headache, take a trip back in time.
 OK, message received. If putting two download links per 
 detected platform on the main page is too much work for the 
 volunteers who maintains the landing page, so let's keep it the 
 way it is. I have a lot of work and a family life too, no 
 problem...
That's a great idea. Go create a website to specifically target 'DMD for beginners'. Become a contributor. Let others know what you did, to make things work. Because that is the way..things are most likely to get done, in the open source community... by contributing. In the end, "..those that need to know...do know."
Oct 19
parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Thursday, 19 October 2017 at 08:22:17 UTC, codephantom wrote:
 On Thursday, 19 October 2017 at 06:32:10 UTC, Ecstatic Coder 
 wrote:
 And the definitive answer about that is of course something 
 like "Hey man, it's open source, it's all made by volunteers 
 on their free time, so it must be complicated, what did you 
 expect ?" and "Make all the changes by yourself if you don't 
 like it the way it is.".

 Seriously ?
I remember myself saying the exact same thing back in the early nineties...when linux and freebsd were just becoming popular....boy...if you think installing dmd is headache, take a trip back in time.
 OK, message received. If putting two download links per 
 detected platform on the main page is too much work for the 
 volunteers who maintains the landing page, so let's keep it 
 the way it is. I have a lot of work and a family life too, no 
 problem...
That's a great idea. Go create a website to specifically target 'DMD for beginners'. Become a contributor. Let others know what you did, to make things work. Because that is the way..things are most likely to get done, in the open source community... by contributing. In the end, "..those that need to know...do know."
I agree. I had this mindset once, but now I'm completely demotivated, and you now know because of what and who. For instance here I answer to the prior post, and some guy attacks me once again on something weeks ago. Very kind. I was just saying that the advice on the above post, asking people to stop using Windows and use FreeBSD etc, is not what Windows scripters need and want. They just want to be able to do three things as quickly and obviously as possible : - download the D compiler setup.exe - download the D IDE setup.exe - compile and run test code Easily, no worries, simple "plug-n-play" installation. That's not a lot to ask. But read the start of this thread, and you will see that's currently not as easy and obvious as it should be. Hence my suggestion to better show them the "easy road" with DMD and CoEdit, plus a few explanations after download : Click here to create empty file, type this hello-word code below, and click here to compile and run.
Oct 19
next sibling parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
Btw maybe the simplest way to achieve what I suggest would be to 
ask Basil to allow the CoEdit windows installer to optionally 
download and install the D compiler.

This way you download only one setup.exe, and you are ready to 
go...

Just put a big obvious download link button towards this exe on 
D's main landing page and that's it.

I still think that D's main landing page should actually be based 
the content of the Dlang Tour landing page, which is more 
welcoming.

Btw +1 for the simple hello-world example :

import std.stdio;
import std.algorithm;
import std.range;

void main()
{
     // Let's get going!
     writeln("Hello World!");

     // An example for experienced programmers:
     // Take three arrays, and without allocating
     // any new memory, sort across all the
     // arrays inplace
     int[] arr1 = [4, 9, 7];
     int[] arr2 = [5, 2, 1, 10];
     int[] arr3 = [6, 8, 3];
     sort(chain(arr1, arr2, arr3));
     writefln("%s\n%s\n%s\n", arr1, arr2, arr3);
     // To learn more about this example, see the
     // "Range algorithms" page under "Gems"
}

Personally I would have written the last statement with a simple 
writeln :

writeln( arr1, "\n", arr2, "\n", arr3, "\n" );

Longer, less idiomatic, but still a little bit simpler to 
understand than "%s\n%s\%s\n".

The devil is in the detail...
Oct 19
prev sibling next sibling parent codephantom <me noyb.com> writes:
On Thursday, 19 October 2017 at 08:36:55 UTC, Ecstatic Coder 
wrote:
 I agree. I had this mindset once, but now I'm completely 
 demotivated, and you now know because of what and who.
Well it happend to me too... I turned to Windows after my first experiences with linux and freebsd in the nineties.. Took me a good decade to visit them again... Today FreeBSD is always my first choice. Go figure. (took a lot of effort on my part, to learn how to do things though. And thank to all the 'contributors' that helped make that easier for me. This revert back to open source only happened, because I corrected my expectations. They were too high initially. And I had to learn 'how to learn', rather than just expect.
 I was just saying that the advice on the above post, asking 
 people to stop using Windows and use FreeBSD etc, is not what 
 Windows scripters need and want.
You might remember that I intentionally prefaced that post with "don't take my response too seriously...but..." Did you skip that line, perhaps? btw. What is it, that a Windows scripter, needs and wants and doesn't already have? That's not an attack btw. I am genuinely interested, as there are so many better, all encompassing solutions to such a problem (on the Windows platform). e.g Powershell... and even..dare I say it... python...ooohhhh..... Don't forget D was 'specfically' designed to be a better C/C++ ...that is it's origin. That's the audience it specifically targets. It's not designed to give people a better experience scripting on the Windows platform (or any other platform for that matter), and it certainly does not target such an audience.
Oct 19
prev sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Thursday, 19 October 2017 at 08:36:55 UTC, Ecstatic Coder 
wrote:
 I agree. I had this mindset once, but now I'm completely 
 demotivated, and you now know because of what and who.
You seem passionate. There are never enough people working on things. There's a lot of ways you can help improve the experience for newbies. In some sense, though, you can pick your battles. The longer you've been reading the forums, the better you may have a sense of it. When I first started reading them, I was gung-ho and excited about some debates, but now I'm just like meh. And I'm not even sure I've been on here two years. Find something you can contribute to, or start a new project, and work on that.
Oct 19
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Thu, Oct 19, 2017 at 11:43:11AM +0000, jmh530 via Digitalmars-d wrote:
[...]
 In some sense, though, you can pick your battles. The longer you've
 been reading the forums, the better you may have a sense of it. When I
 first started reading them, I was gung-ho and excited about some
 debates, but now I'm just like meh. And I'm not even sure I've been on
 here two years. Find something you can contribute to, or start a new
 project, and work on that.
+1. I used to actively participate in forum debates. Nowadays, meh. At the end of the day, what matters is whether somebody picks up the baton and actually starts contributing. So that's what I do these days. See something I don't like in Phobos? Fix it, submit a PR. See a typo on the website? Fix it, submit a PR. See something I don't know how to fix? Dig into the code, learn how to do it. Maybe I'll discover I'm in way over my head. That's OK, I still learn something along the way. Maybe next time I'll be knowledgeable enough to submit a PR. Participating in a forum debate is the easiest thing to do, but also the least productive, all things considered. I can win arguments, or lose arguments, but after all that is said and done, what has changed in the codebase? Nothing. And what are the chances of somebody else picking up the torch and carrying it through? Judging from our track record, practically nil. What does makes a change is when somebody writes the code. (And by "code" here I include also things like HTML/CSS for the website.) A forum proposal, say a website change, would have so much more weight if the person making the proposal has a PR sitting in the queue that people can decide whether or not to merge. It sends the message that (1) the person cares enough about the issue to actually invest the time and energy to implement it (not just talk about it), and (2) the person is personally committed to make it happen and see it through. Also, (3) should the consensus turn out to be "yes let's do it", it can be implemented right away, instead of a vacuous "OK, we finally agreed to do this. So who's gonna actually write the code? Hmm? ... Nobody? Oh well, I guess nobody cares enough to actually do it. Too bad." T -- Gone Chopin. Bach in a minuet.
Oct 19
parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Thursday, 19 October 2017 at 16:43:51 UTC, H. S. Teoh wrote:
 On Thu, Oct 19, 2017 at 11:43:11AM +0000, jmh530 via 
 Digitalmars-d wrote: [...]
 In some sense, though, you can pick your battles. The longer 
 you've been reading the forums, the better you may have a 
 sense of it. When I first started reading them, I was gung-ho 
 and excited about some debates, but now I'm just like meh. And 
 I'm not even sure I've been on here two years. Find something 
 you can contribute to, or start a new project, and work on 
 that.
+1. I used to actively participate in forum debates. Nowadays, meh. At the end of the day, what matters is whether somebody picks up the baton and actually starts contributing. So that's what I do these days. See something I don't like in Phobos? Fix it, submit a PR. See a typo on the website? Fix it, submit a PR. See something I don't know how to fix? Dig into the code, learn how to do it. Maybe I'll discover I'm in way over my head. That's OK, I still learn something along the way. Maybe next time I'll be knowledgeable enough to submit a PR. Participating in a forum debate is the easiest thing to do, but also the least productive, all things considered. I can win arguments, or lose arguments, but after all that is said and done, what has changed in the codebase? Nothing. And what are the chances of somebody else picking up the torch and carrying it through? Judging from our track record, practically nil. What does makes a change is when somebody writes the code. (And by "code" here I include also things like HTML/CSS for the website.) A forum proposal, say a website change, would have so much more weight if the person making the proposal has a PR sitting in the queue that people can decide whether or not to merge. It sends the message that (1) the person cares enough about the issue to actually invest the time and energy to implement it (not just talk about it), and (2) the person is personally committed to make it happen and see it through. Also, (3) should the consensus turn out to be "yes let's do it", it can be implemented right away, instead of a vacuous "OK, we finally agreed to do this. So who's gonna actually write the code? Hmm? ... Nobody? Oh well, I guess nobody cares enough to actually do it. Too bad." T
If something is wrong on your local D installation (library bug etc) and you fix it, you benefit from it, so the work is useful even if the change is refused on the public codebase, so no problem with that. Changing a website without the owner content is automatically a waste of time. Especially in this case. I don't need or use it locally, and in this particular case, what I suggest is the complete opposite of the current marketing strategy, and I've already been told that this won't happen in any foreseeing future. So I'll follow this smart advice that I've been given, and pick another battle.
Oct 19
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Thu, Oct 19, 2017 at 05:13:01PM +0000, Ecstatic Coder via Digitalmars-d
wrote:
[...]
 If something is wrong on your local D installation (library bug etc)
 and you fix it, you benefit from it, so the work is useful even if the
 change is refused on the public codebase, so no problem with that.
 
 Changing a website without the owner content is automatically a waste
 of time.
I assume you meant "consent".
 Especially in this case. I don't need or use it locally, and in this
 particular case, what I suggest is the complete opposite of the
 current marketing strategy, and I've already been told that this won't
 happen in any foreseeing future.
Told by whom? Even Andrei or Walter can be convinced over time, if one is persistent enough. :-D There have been cases of this in the past. Of course, this presumes that one cares about the issue enough to persist in the face of opposition, which may or may not be the case here. T -- What did the alien say to Schubert? "Take me to your lieder."
Oct 19
parent reply Rion <Rion rion.com> writes:
On Thursday, 19 October 2017 at 18:10:04 UTC, H. S. Teoh wrote:
 Told by whom?
The responses here seem to be a good indicator that he is wasting his time. The past responses in similar topics.
 Even Andrei or Walter can be convinced over time, if one is 
 persistent enough. :-D  There have been cases of this in the 
 past.
 Of course, this presumes that one cares about the issue enough 
 to persist in the face of opposition, which may or may not be 
 the case here.
You mean like those where people are told, if you write a proposal it may get accepted. Then the author does all the work, writes the code changes, gets pushed to make more changes, gets ignored over time and loses interest, only for year later it showing up again and the process repeats? And nothing gets done to the point the author simply moved on to other languages. Yes, those have been very successful ( sarcasm ) in persuading people to put time into D development. D has a bad track record with implementations of proposals, even when the actual code has been written. There has always been a standard: Walter writes it, its going to get accepted with a high ratio in one form or another. Somebody who is not a core member, well ... But this is my last response on this. Moving on to a different language because from my point of view, D will not be very open / marketing focused to non C++ developers. And some people seem very willing to push people there buttons when topics like this come up. As we see in this topic. I regret that the actions of few constantly ruin the work of others ( to bring people in ). What seems to be a recurring theme. But let bygones be bygones. Good fortune to you all.
Oct 19
next sibling parent lobo <swamp.lobo gmail.com> writes:
On Thursday, 19 October 2017 at 21:18:43 UTC, Rion wrote:
 On Thursday, 19 October 2017 at 18:10:04 UTC, H. S. Teoh wrote:
 Told by whom?
The responses here seem to be a good indicator that he is wasting his time. The past responses in similar topics.
 Even Andrei or Walter can be convinced over time, if one is 
 persistent enough. :-D  There have been cases of this in the 
 past.
 Of course, this presumes that one cares about the issue enough 
 to persist in the face of opposition, which may or may not be 
 the case here.
You mean like those where people are told, if you write a proposal it may get accepted. Then the author does all the work, writes the code changes, gets pushed to make more changes, gets ignored over time and loses interest, only for year later it showing up again and the process repeats? And nothing gets done to the point the author simply moved on to other languages. Yes, those have been very successful ( sarcasm ) in persuading people to put time into D development. D has a bad track record with implementations of proposals, even when the actual code has been written. There has always been a standard: Walter writes it, its going to get accepted with a high ratio in one form or another. Somebody who is not a core member, well ... But this is my last response on this. Moving on to a different language because from my point of view, D will not be very open / marketing focused to non C++ developers. And some people seem very willing to push people there buttons when topics like this come up. As we see in this topic. I regret that the actions of few constantly ruin the work of others ( to bring people in ). What seems to be a recurring theme. But let bygones be bygones. Good fortune to you all.
I have been rung out several times in the D, Python and C++ communities trying to get various proposals up over the yrs. I dare not count the hours that have gone into each and I have to say that D is the most forgiving and helpful community when it comes to feedback and help. For me the proposal process, i.e. drafting, prototype implementation etc., is the best personal learning and development experience money can't buy and the acceptance of a proposal is second to this. That is what I get out of submitting proposals. bye, lobo
Oct 19
prev sibling next sibling parent codephantom <me noyb.com> writes:
On Thursday, 19 October 2017 at 21:18:43 UTC, Rion wrote:
 But this is my last response on this. Moving on to a different 
 language because from my point of view, D will not be very open 
 / marketing focused to non C++ developers. And some people seem 
 very willing to push people there buttons when topics like this 
 come up. As we see in this topic. I regret that the actions of 
 few constantly ruin the work of others ( to bring people in ). 
 What seems to be a recurring theme.
Can I suggest, that you adjust your sails too ;-) The only constant, is that people are always inclined to submit new ideas (especially true for newbies), good or bad, that sit in queues waiting for approval...and eventually lose their motivation and go elsewhere.... Sadly, this is the curse of volunteer based open source development. That's why newbies (and not so newbies), coming in with new ideas, often get demotivated. It does *not* ever mean the idea is not good, or that people would not like to see it come about. It is usually because volunteers simply are *already* very focused on higher priorities that *already* exist, and almost certainly, there are *already* too many of those. Each new idea, or enhancement request, just adds to the existing list...making it grower longer and longer...and guess how people start to feel when that happens...and I don't just mean the people adding to that list, but the people working on that list. So think of them too. That's why I really feel that newbies need to learn *first*, how to adjust their sails to the wind. That is the first lesson. The wind does it's own thing...you need adjust to it, not it to you. Have you looked at this lately? https://dlang.org/bugstats.html Look at the number of open enhancement requests. Then look at the number of critical and major requests - priority matters! So picking your battles, is really more about adjusting your focus to the stuff that needs to get done first. If you have a new idea, there's a good chance it won't get done unless you do it. And I've explained the reasons for that, already. I'm sure everyone likes the idea of making D more welcoming to new users...especially those that expect an all encompassing solution, delivered to them on a silver platter. But current volunteers are just not focused on that..they are focused on something else. What is needed, is new volunteers, who *can* focus on just that - rather than telling others to focus on that. So I say, don't submit a request...go do it. Then tell others about it. If your work has merit, and is important and useful to enough people, at the time, then it will be recognised. If not, tough. Just look at all the stuff that 'volunteers' have done, are doing, and are still yet to get around to doing. It's pretty amazing! Nobody should be undermining their motivations, or suggest they aren't welcoming of new ideas. Have a listen to Walter (a compiler programmer), explaining (just some of) the challenges of trying to run an open source project: https://www.youtube.com/watch?v=UGcKojMF5ps Does any one of us really think, that we can do it better ?? Motivation is really important in life. I get it. Motivation is key for me too. But if your sails are not adjusted to the wind, then you're not going to get very far. btw... before turning away from D, remember, that "Once a new technology starts rolling, if you're not part of the steamroller, ..[you might end up being].. part of the road." ;-)
Oct 19
prev sibling parent reply Mark <smarksc gmail.com> writes:
On Thursday, 19 October 2017 at 21:18:43 UTC, Rion wrote:
 D has a bad track record with implementations of proposals, 
 even when the actual code has been written. There has always 
 been a standard: Walter writes it, its going to get accepted 
 with a high ratio in one form or another. Somebody who is not a 
 core member, well ...
I don't think this sort of complaints are particular to D. I see similar rants in Scala's google group from time to time, e.g. [1]. [1] https://groups.google.com/forum/#!topic/scala-internals/r2GnzCFc3TY
Oct 20
parent reply codephantom <me noyb.com> writes:
On Friday, 20 October 2017 at 16:13:06 UTC, Mark wrote:
 I don't think this sort of complaints are particular to D. I 
 see similar rants in Scala's google group from time to time,
These 'predictable patterns' (the emergence of similar attitudes, for example) can also be expressed and understood mathematically.... https://en.wikipedia.org/wiki/Game_theory https://en.wikipedia.org/wiki/Nash_equilibrium The real challenge (and ultimate goal) for any open-source project (especially a volunteer based one), is finding equilibria. Open source projects are after all, nothing more, that a co-operative game. Actually, I think perhaps the whole universe, is just one big co-operative game ;-) From this perspective, everything can be accounted for.
Oct 20
parent reply Mark <smarksc gmail.com> writes:
On Saturday, 21 October 2017 at 01:45:40 UTC, codephantom wrote:
 The real challenge (and ultimate goal) for any  open-source 
 project (especially a volunteer based one), is finding 
 equilibria.
Honestly, I do not believe that an open-source project, beyond a certain scale, can sustain itself without a consistent income stream.
Oct 21
next sibling parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Saturday, 21 October 2017 at 09:51:41 UTC, Mark wrote:
 Honestly, I do not believe that an open-source project, beyond 
 a certain scale, can sustain itself without a consistent income 
 stream.
It is possible, but you need a very modular architecture. The main problem for large open source projects is restructuring/refactoring, which can kill the project. One example of large open source volunteer based projects are MUDs, but they tend to be very modular in nature.
Oct 21
prev sibling parent Laeeth Isharc <laeeth laeeth.com> writes:
On Saturday, 21 October 2017 at 09:51:41 UTC, Mark wrote:
 On Saturday, 21 October 2017 at 01:45:40 UTC, codephantom wrote:
 The real challenge (and ultimate goal) for any  open-source 
 project (especially a volunteer based one), is finding 
 equilibria.
Honestly, I do not believe that an open-source project, beyond a certain scale, can sustain itself without a consistent income stream.
The Foundation has gone from zero to something. That's the hardest part. Over time I'm sure its revenue will grow.
Oct 23
prev sibling parent reply Laeeth Isharc <laeeth laeeth.com> writes:
On Monday, 16 October 2017 at 08:56:21 UTC, Rion wrote:
 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.
I can't say that your process for forming expectations is wrong, but it's evidently not turned out to be a good guide to reality. It could be that reality should conform itself to your view of what it should be, but it might also be that D is a thing in itself that develops according to its own intrinsic pattern that is different from the one with which some people are most familiar with today. And if that's right, one can't evaluate it according to heuristics that fit other languages - one needs to think about what is the problem one faces, and from an enterprise value perspective how and where might D be useful. And if one isn't in a position where one can't think about it from an enterprise value perspective, it's going to be hard to use D at work.
 Call me spoiled if you want but quick gratification it is not.
Yes - that's the whole point - it's certainly not a language community that as things stand today fits someone expecting quick gratification, especially on Windows. I don't see how it becomes one very soon. Expecting it to become what it is not might lead to disappointment. For some people, perhaps that's enough for them to look elsewhere - it very much depends on your discount rate, on your patience, how quickly you pick up technical things, and on the sorts of problems you face. Debates about languages are often really debates about values. And although one may explore differences in values in a rational way, that's really not something one is easily going to persuade anyone else of. Hey Javascript guys why not slow down a bit, focus on code quality, security, rigour, error reporting and so on. It's not going to happen. https://www.slideshare.net/bcantrill/platform-as-reflection-of-values-joyent-nodejs-and-beyond https://vimeo.com/230142234
 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.
It's not the time spent sorting out build systems or writing code that is the truly expensive bit... In fact there are days when I wonder about imposing a tax on lines of code to make people write less of it. It might not be a positive factor, but empirically it's certainly not an overwhelming impediment to the continued growth of the language, because adoption is growing.
 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?
Yes, to me I find it so - even Microsoft at a WinOps talk recently said that in the end the command-line is better for some things because a GUI hides things from you (I paraphrase). Of course for some people it's easier to use a mouse. But the command-line is certainly more powerful and if you're managing or deploying to even as few as tens or more of machines, it may often be the only way.
 Until you add the time needed to learn the command and assuming 
 there are no issues.
You only need to learn once. And it's my impression classic command line tools change much less often than GUI app interfaces.
 What is more rewarding or punishing?
It very much depends on what sort of thing is more your cup of tea. People are evidently quite different in their tastes, and it's a good thing too. It's just not going to be very gratifying to go to coffee drinkers and ask why they don't appreciate the virtues of Earl Grey. Unless you enjoy the sort of reaction you'll get.
 Windows does not get in the way.
I must beg to differ.
 MS puts a massive amount of time and money in there testing. 
 And it shows in there platform.
So if you prefer to use their platform, there is no point expecting D to reach a similar standard in the sheer glossiness of the appearance of tools, because time and money in the D community is spent in different ways because people using D have different problems and therefore different values. Personally I can't stand Visual Studio, but then again I don't write much for Windows.
 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 ).
Fair enough. I gather UNIX family has been quite successful on the desktop - the only real competitor to Windows, no? And some say easier to use. And GNU and UNIX derivatives dominate the mobile markets.
 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 don't think it's true that 'everybody' is working as a solo developer. There are some decent size teams working in D. But most of them have little to no forum presence because when you're a decent size team you have bills to pay and people to manage and you can't spend much time writing messages on forums.
 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, ...
Yes, well we sponsor mir-algorithm, and would like to sponsor dcompute too, but I haven't had any time. And I think it would be by far premature for them to be in Phobos, because the consequence of raising the bar for quality in Phobos has been that it stifles the growth of new things. Mir itself was originally in Phobos experimental and Ilya asked for it to be withdrawn, for that very reason. It's good the bar has been raised for Phobos too. It just might be an idea to create an intermediate layer of high quality projects with a degree of community support and where you know they are likely to basically work. That's I think why D Community Hub was created, and I guess it will probably continue to grow from here: https://github.com/dlang-community
 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.
There's an old joke about hiring. === One day while walking downtown, a Human Resources woman was hit by a bus and was tragically killed. Her soul arrived up in heaven where she was met at the Pearly Gates by St. Peter himself. “Welcome to Heaven,” said St. Peter. “Before you get settled in though, it seems we have a problem. You see, strangely enough, we’ve never once had an HR manager make it this far and we’re really not sure what to do with you.” “No problem, just let me in,” said the woman. “Well, I’d like to, but I have higher orders. What we’re going to do is let you have a day in Hell and a day in Heaven and then you can choose whichever one you want to spend an eternity in,” the Saint replied. “Actually, I think I’ve made up my mind… I prefer to stay in Heaven.” “Sorry, we have our rules…” And with that St. Peter put the HR manager in an elevator and it went down-down-down to Hell. The doors opened and the HR manager found herself stepping out onto the putting green of a beautiful golf course. In the distance was a country club and standing in front of her were all her friends – fellow HR professionals that she had worked with. They were all dressed in evening gowns and cheering for her. They ran up and kissed her on both cheeks and they talked about old times. They played an excellent round of golf and at night went to the country club where she enjoyed an excellent steak and lobster dinner. She met the Devil who was actually a really nice guy (kinda cute) and she had a great time telling jokes and dancing. The HR manager was having such a good time that before she knew it, it was time to leave. Everybody shook her hand and waved goodbye as she got on the elevator. The elevator went up-up-up and opened back up at the Pearly Gates where St. Peter was waiting for her. “Now it’s time to spend a day in Heaven” he said. So the HR manager spent the next 24 hours lounging around on the clouds and playing the harp and singing. She had a great time and before she knew it, her 24 hours were up and St. Peter came and got her. “So, you’ve spent a day in Hell and you’ve spent a day in Heaven. Now you must choose your eternity,” he said. === The HR manager paused for a second and then replied, “Well, I never thought I’d say this. I mean, Heaven has been really great and all, but I think I had a better time in Hell.” So, St. Peter escorted her to the elevator and again the HR manager went down-down-down back to Hell. When the doors of the elevator opened she found herself standing in a desolate wasteland covered in garbage and filth. She saw her friends were dressed in rags and were picking up garbage and putting it in sacks for the evening meal. The Devil came up to her and put his arm around her and laughed at her. “I don’t understand,” stammered the HR manager. “Yesterday I was here and there was a golf course and a country club and we ate lobster and we danced and had a great time. Now all there is a wasteland of garbage and all my friends look miserable.” The Devil looked at her and grinned: “That’s because yesterday we were recruiting you… but today you’re staff.” http://www.sun-gazing.com/explains-recruitment-perfectly-true-hurts/#OFZ8GL7Y7jCloAmf.99 ===
 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.
And it's the opposite of the recruiting joke - with D the pain is upfront - I'd by far rather it were that way, because if you only discover critical things after you have written a lot of code, that's by far more expensive. I don't think people here are oblivious. Nothing you have said would have come us a surprise to anyone who has been around a while, and it isn't something nobody has said before. But one can pick from the choices available to one, or the new ones one can imagine. Things change when somebody decides to make them change, and there's nothing more powerful than writing code - at least a proof of concept - to inspire others to follow. Outside of that, pointing out the obvious won't change anything. And if one won't write code (or failing that, donate money or time or something) then one shouldn't expect the world to move to accommodate one's wishes. And it's in the context where the values of the D community are different from the values of some other languages - that's a good thing, because diversity of the sort that really matters - cultural, intellectual, cognitive - does make the world a richer place. Laeeth.
Oct 18
next sibling parent Jonathan M Davis <newsgroup.d jmdavisprog.com> writes:
On Thursday, October 19, 2017 02:08:13 Laeeth Isharc via Digitalmars-d 
wrote:
 There's an old joke about hiring.
I haven't heard that one before, but I've heard essentially the same joke except that it was Bill Gates who died, and it turns out that the version of Hell that he visited on the first day was the demo version. - Jonathan M Davis
Oct 18
prev sibling parent Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Thursday, 19 October 2017 at 02:08:13 UTC, Laeeth Isharc wrote:
 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, ...
Yes, well we sponsor mir-algorithm, and would like to sponsor dcompute too, but I haven't had any time. And I think it would be by far premature for them to be in Phobos, because the consequence of raising the bar for quality in Phobos has been that it stifles the growth of new things. Mir itself was originally in Phobos experimental and Ilya asked for it to be withdrawn, for that very reason.
The situation is similar for DCompute with the added constraint that it works exclusively with LDC and has only very recently reached a state of being usable. Development is sporadic due to my available time. Laeeth, I'll be quite busy for the next couple of weeks so there's no need to hurry.
Oct 18
prev sibling next sibling parent Laeeth Isharc <laeethnospam nospam.laeeth.com> writes:
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).
Oct 15
prev sibling parent Random D user <no email.com> writes:
On Friday, 13 October 2017 at 13:14:39 UTC, Steven Schveighoffer 
wrote:
 I don't know what the expectations of a Windows user are.
In my exprience 80% of mainly Windows devs (in professional environment) use Visual Studio + plugins (e.g. Visual Assist/Dpack etc.). Most of the remaining 20% use Visual Studio with vim keybindings/emulation or they code with vim/emacs, but use Visual Studio for debugging. And the last 2% use something completely different. I think Visual Studio is the professional standard for C/C++/C# on Windows (as in Windows is the main platform and not some bad port hacked on top of cygwin). Basically what Xcode is for Mac.
Oct 16
prev sibling parent codephantom <me noyb.com> writes:
On Friday, 13 October 2017 at 06:58:10 UTC, Peter R wrote:
 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++
But the D 'ecosystem' is *not* polished. It's an evolving work in progress, mostly driven by volunteers, and little or no commercial backing. Even the language and its library are evolving...(although both are pretty shiny already). Also mostly driven by volunteers. Information is scarce....I can find at most, 1/2 a dozen or so books on the D language. It too is a work in progress.. Until a month ago, I had never heard of D (and I have 20+ year in the I.T sector). Compare D to other established langauges...and your gunna be disappointed (in some areas more than others, and some not so much). New users approaching D, (whether they are experienced developers or not) need to have the right expectations to begin with. I think that is where work needs to go - managing expectations. D is like playing footy on the playground....you just never know what's going to happen. But it should be fun nonetheless. D is not like playing footy in the AFL (hey..I'm from Australia).. i.e. D is not in the big league yet, and does not have all the stuff needed to play in the big league - rules and regulations, support teams, corporate backing, advertisement, millions of fans, etc....etc.... D needs a hero ( a kinda 'Borland' for 21st century) - to take up the mantle...but the business case still needs to be worked out...as it's not all that clear what it might be at the moment... until then, it's open-source/volunteer driven..and you need to set your expectations accordingly.
Oct 18