D needs to get its shit together!

Laeeth Isharc via Digitalmars-d digitalmars-d at puremagic.com
Sun Jun 18 14:02:40 PDT 2017


On Sunday, 18 June 2017 at 15:47:34 UTC, Vladimir Panteleev wrote:
> On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
>> Just try getting D installed on all 3 major systems for DMD, 
>> LDC, GDC, with an IDE, some utilities, possibly arm 
>> support(even though it's new and expected to have some 
>> issues), etc. The issues really start popping up when you are 
>> trying to use x86 + x64. Library issues that result in strange 
>> error messages instead of "This compiler is not compatible 
>> with the phobos v2.4324".
>
> Might be worth considering something like the Android SDK 
> installer. It looked like this:
>
> http://cache.filehippo.com/img/ex/4515__android_sdk_1_8_5_15.png
>
> Essentially it was a cross-platform package manager GUI, which 
> allowed installing platform support for various platform 
> versions side-by-side, as well as additional utilities and 
> dependencies. It also exposed its functionality via 
> command-line tools and IDE integrations. This translates fairly 
> well to the D ecosystem, and could serve as a decent 
> work-around for Windows' lack of native package management.
>
> We have some of the pieces as separate tools (Digger, DVM, the 
> dlang.org/install.sh script, the Windows' installer's Visual 
> Studio detection/integration), could be nice tying them 
> together into a palatable GUI. Digger has a rudimentary one, 
> which probably could be wrapped into a native-like app using 
> Electron, but still lacking features such as managing GDC/LDC.


Digger is great, as is the Windows installer, and I appreciate 
the work that has gone into them.

Sadly though in the current year we have been ruined by 
everything being made easy for us - personally I have no problem 
taking things apart to get to the bottom of a problem when it 
doesn't work, but in the business world that is not universally 
true, alas. So I think what lets us down sometimes is tiny little 
things that maybe aren't complicated to fix, but are maybe a bit 
specific.  For example it's not so easy to build 64 bit dmd on 
Windows from the command line (and I don't understand why we 
don't distribute a binary).  Or the installer somehow doesn't 
seem to work with VS 2015 and I haven't even had the time to 
figure out what the problem is because it's not on my machine and 
I don't develop much on Windows at all myself.

Having a tsar of ergonomics or user experience might be something 
valuable.  Not really a tsar, but just someone to co-ordinate 
improvement of those little frictions that one doesn't even 
notice after using D for a while, but that are a big impediment 
to a newcomer.  I mean you could sit with someone new to the 
language and see what they struggle with, or do it remotely and 
chat every week.  You would learn a lot that way.  It doesn't 
need to be an expensive resource - an intern could do that.

The culture is shaped a bit by C/C++ world, but actually I 
disagree with Joakim that D is a low-level language.  I don't 
really use it that way myself, and others before me - including 
Liran at Weka (who is pretty low-level when he needs to be) - 
have observed that D has qualities of a compiled Python.  And 
people who use it like the latter are a bit accustomed to 
comfort, and so it's a bit of a shock when for exaple someone 
comes from C# or Python on Windows and wants to install zeromq 
and realises (or worse, doesn't) they have to build the C library 
themselves on Windows when they never even heard of cmake before. 
  This was a real example, and the person grumbled that D was a 
lousy language for that reason...  It's also true that an 
excessive love of comfort is a civilisation-killer, and I think 
that's one of the strengths of the community - that people who 
persist are those who aren't put off by things being a bit 
difficult in the beginning - but perhaps its a matter of balance, 
and one could think about how to make the experience a bit 
easier.  (Yes, I realise that even today, Windows native code 
library management is a problem - I just use that as an example).


More information about the Digitalmars-d mailing list