On 2017-06-16 05:53, Mike B Johnson wrote:
Seriously! D is starting to gain momentum and if things are not stabilized it's going to slow D down.

1 ==>> The VERY FIRST order of business is very simple:

When a new user goes to start using D for the first time, D is a PITA to get working! Don't believe me?!?!

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".

And guess what? This happens to regular users too! They either. A) know how to fix them from fixing them in the past or helping others(so it doesn't count because the problem still exists) or B) have a specific setup that happens to avoid the major issues(e.g., just use linux x86) then act like there isn't any problems with D.

But no one wants to work on the part of D that deals with these problems cause it's boring and most "experts" can deal with the problems in a few mins to a few hours... doesn't seem like a huge waste of time(even though it is, since it's a waste).

D needs to just work! Library errors, setup problems, IDE integration should just work! It seems the changes of it working are about 75-85%... that IS LOW! It should be 99%. (And I'm talking across the board)

DMD, LDC, GDC, Visual D, Coedit(or whatever the other main IDE's are), the utilities(Dustmite, DFormat, etc) should all just work seamlessly and without hassle with each other.

What is the main problem? It's very simple: The way the paths are stored and retrieved is ancient and prone to bugs and it seems there is no clear cut way on how to get everything to find everything else. Also, versioning is not always there so even if the paths are right, the files in them may not be!

Multiple versions should be able to exist side by side(since D is ever changing and sometimes new versions simply don't work like they should, then downgrading starts causing problems).


Solution Ideas:

This is a simple problem that needs to be fixed. The installer needs to be updated to act as more of a package manager(a graphical one for us on windows) that has versioning checks and such in it. It doesn't have to be fancy, but should do a bit more work than the current on which is basically more trouble then just compressing the zip and editing sc.ini by hand.

1. A unified path/directory layout that is unambiguous and every D app can rely on.

e.g.,

\Dlang\Compilers\DMD\v2\73.01 (the v2 stuff hence forth replaced with <version> \Dlang\Compilers\DMD\v2\main <- a junction/link to the current version, usually the latest
DVM [1] is doing some of this.

[1] https://github.com/jacob-carlborg/dvm

--
/Jacob Carlborg

Reply via email to