Pathing in the D ecosystem is generally broken (at least on windows)

Manu via Digitalmars-d digitalmars-d at puremagic.com
Fri Sep 25 20:55:40 PDT 2015


On 26 September 2015 at 13:20, Walter Bright via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> On 9/25/2015 6:03 AM, Dicebot wrote:
>>
>> Hm, so is the correct approach on Windows to provide separate shell for
>> each
>> application that has console utilities? X_x
>
>
> VS 10 does that, and I find it highly annoying. It sets a zillion
> environment variables that I have no idea what they are for or what they do.
> Evidently, this is the modern way, though I find it very unfriendly.

It's horrible, but the alternative is demonstrably worse.

> DMC++ is designed to work without any environment variables at all. (It uses
> sc.ini to find where things are.) It was the only compiler of its day that
> did not require any installation, it would run off of the CD.

Fwiw, DMD is working great these days. It's just that I mostly use LDC now.

> The real problem is that DMD for Win64 requires some VS components. With
> every new release of VS, Microsoft throws every library and executable at a
> dart board and moves them to those random new directories.

Yup, PITA, but DMD is doing well with this, and LDC needs the same attention.

> But I also do not understand why professional developers have such a hard
> time understanding what PATH is and apparently have no idea where the
> libraries exist on their system or how to find out where they are.

It's not that, as I've tried to convey so many times before, it's all
about the impression it makes. Is it one of quality and reliability?
People don't like having their working time wasted. The only way I can
get people to take a look at D is as an opportunistic aside, where
people might humor my endless ranting, check it out, and see if it
appeals to them. It's never something that presents itself to them as
a task they must do to get their job done, D is not that prolific.
If they're speculatively trialing a new technology (especially since
it's hyped), it has about 3 minutes to make a positive impression on
them, and create a perception that it may make their working life
easier and better, or at the very least, get them excited such that it
retains their attention past 3 minutes and they pursue it further.
This is a matter of human psychology, and has nothing to do with D
itself other than the way in which it makes its first impressions on
new users.
I have no clear suggestions, other than this should be held high in
consideration when thinking about strategy for D moving forward.

Editing the path variable is one of the most unenjoyable and annoying
things to do in windows. start -> settings -> system -> advanced
system settings -> environment variables -> PATH -> note the stupid
window that appears; a single-line text box created in 1995 (or
earlier?), which barely lets you see a single path in a line that's
probably a few kb long... whenever you touch it, you know you're
likely breaking something on your system that currently works ;)
People do it if they have to; in my current case, dev's MUST setup
emscripten to build the web frontend, and they proceed to complain
about how shit the toolchain experience is, but they are forced to use
it regardless... nobody is forced to use D. They must find themselves
actively drawn to use D.

This is my experience over many years now. The toolchain and compiler
are now more-or-less sufficiently stable that anyone writing code will
have a good experience. I believe it's the little things that matter
more than anything in 2015.


More information about the Digitalmars-d mailing list