D needs to get its shit together!

2017-06-15 Thread Mike B Johnson via Digitalmars-d
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 
\Dlang\Compilers\DMD\v2\main <- a junction/link to the current 
version, usually the latest


\Dlang\Compilers\DMD\Lib\Phobos\x86\coff\
\Dlang\Compilers\DMD\Lib\Phobos\x86\omf\
\Dlang\Compilers\DMD\Lib\Phobos\x64\coff
\Dlang\Compilers\DMD\Lib\Phobos\x64\omf (even though it 
doesn't exist, just empty, maybe a text file in it stating that 
it is not used for x64)


\DLang\Source\DMD\v...
\DLang\Docs\v...
\DLang\IDEs\VisualD\v...
\DLang\Utilities\DFormat\v...
\DLang\Utilities\DustMite\v...

\DLang\Packages\Derelict\v...


and so fourth. I'm not saying it has to be exactly like the one 
above, but the above is unambiguous. One could change compiler 
versions, even have a "master" compiler that simply chooses dmd, 
ldc, gdc, etc and could verify versions if necessary, etc.



Everything gets organized and has a place that is logical and 
hence easy to find, easy to use, and helps in diagnosing 
problems. Versioning and dependencies could be charted. (e.g., a 
change in one version of something doesn't necessarily break it's 
usage with everything else that hasn't been updated, so  we can 
have a table of things that work with each other based on 
versions. We can change, say, the version of DMD to use and the 
front end can consult the master version table to see what 
utilities that work with it and then update all the hard links.


External usages(like windows dlls, link.exe) are all handled. 
They are a) copied from their windows locations. b) noted the 
location they are copied from by adding a text file in the 
directory, etc) (and the installer\manager can refresh everything)


One can install on demand any aspect so everything isn't created 
at once.


As time evolves, this system of organization gets cleaner, 
clearer, and more optimal rather than the current system which 
seems to just be stagnant and relatively broke. It works, for the 
most part, but as time goes on it doesn't get any better at it's 
job. It's usually the same problems over and over and that is why 
you always get a steady stream of users having issues with D due 
to problems that are easily fixable with a little elbow grease 
and thought and a significant amount of desire to get the problem 
fixed[breath!]. Versioning gets better and better. If D1 had this 
type of system, we could 

Re: D needs to get its shit together!

2017-06-16 Thread Jacob Carlborg via Digitalmars-d

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 

\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


Re: D needs to get its shit together!

2017-06-16 Thread Mike B Johnson via Digitalmars-d

DVM [1] is doing some of this.




Cool, does it keep things well organized and deals with windows 
issues(link.exe., dlls, etc) or just uses the "D way" which is a 
hairball?







Re: D needs to get its shit together!

2017-06-16 Thread Wulfklaue via Digitalmars-d

On Friday, 16 June 2017 at 06:58:57 UTC, Jacob Carlborg wrote:

DVM [1] is doing some of this.

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


Might it not be better when some of this is actually part of D?

- Multi-version support
- Integrated all the tools so editors know/can rely on them. I 
have seen this topic a few times reading here.

- Editor support like half working in a lot of cases
- ...

There are always tools out there to "fix" some issues with D but 
Mike does have a point in stating that everything feels 
fragmented.


/++

DMD / LDC are totally different installations. LDC requiring 
different setup. LDC is frankly the default if you need real 
performance but the way its developed / published / talked about, 
its a side project not a main part of D. And because of that LDC 
feels like it always needs to cache-up to D mainline.


Ifs ironic that i needed to use:

dub --compiler=C:\D2\bin\ldc2.exe

To get ldc to work...

If i take a look at Rust ... RustUp great installer, multi 
platform support, great cross compiling support ( still some 
issue with dependencies ). Go has the same great cross platform 
compile support. But D it feels like a struggle to figure out.


Why not publishing Dmd and LDC together as one package, one 
installation, one version.


/++

Why is dcd, dfmt, dscanner, not part of the base installation of 
D??? Webfreak wrote workspace-d and is now writing serve-d to 
combine code-d and the rest. But its again a side project. Its 
odd there is no default language server protocol for D and it 
needs a 3th party developer to implement it and then maintain it 
outside of D again.


So if webfreak gets too busy with life, a breaking change happens 
in D, there goes the support. Like with many 3th party plugins ...


How about file watching, i know there is a D plugin that monitors 
your directory and allows for recompiling ( most languages have a 
feature like this ) but again, its 3th party not part of D 
mainline, despite it being darn handy.


D is indeed way too fragmented. Clearly a lot of good developers 
but the way its handled, it feels like DMD and Phobos are the 
only focus. And all the rest is side or not integrated. This is 
just my feeling. And when resources are split like this, it is 
indeed much more difficult for new users to get going.


Re: D needs to get its shit together!

2017-06-16 Thread Seb via Digitalmars-d

On Friday, 16 June 2017 at 10:12:06 UTC, Wulfklaue wrote:

On Friday, 16 June 2017 at 06:58:57 UTC, Jacob Carlborg wrote:

DVM [1] is doing some of this.

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


Might it not be better when some of this is actually part of D?


There is an official D installer for Posix systems that can 
handle multiple compilers and all versions quite well.

IIRC does dvm only support DMD?


- Multi-version support
- Integrated all the tools so editors know/can rely on them. I 
have seen this topic a few times reading here.


I think you are just complaining about Windows. Everything is 
nicely packaged under Linux, Posix and OSX.



- Editor support like half working in a lot of cases


The beauty of D is that you don't need a fancy editor.


- ...

There are always tools out there to "fix" some issues with D 
but Mike does have a point in stating that everything feels 
fragmented.


/++

DMD / LDC are totally different installations. LDC requiring 
different setup.


Really?

curl i.dlang.io | bash -s dmd
curl i.dlang.io | bash -s dmd-2.072.2
curl i.dlang.io | bash -s dmd-newCTFE
curl i.dlang.io | bash -s dmd-nightly
curl i.dlang.io | bash -s ldc
curl i.dlang.io | bash -s ldc-beta
curl i.dlang.io | bash -s ldc-1.1.0
curl i.dlang.io | bash -s gdc


LDC is frankly the default if you need real performance but the 
way its developed / published / talked about, its a side 
project not a main part of D. And because of that LDC feels 
like it always needs to cache-up to D mainline.


Are there any features between 2.073.2 (latest LDC beta) and 
2.074.1 that you actually miss?



Ifs ironic that i needed to use:

dub --compiler=C:\D2\bin\ldc2.exe

To get ldc to work...


--compiler=ldc2 works very well for me.

If i take a look at Rust ... RustUp great installer, multi 
platform support, great cross compiling support ( still some 
issue with dependencies ). Go has the same great cross platform 
compile support. But D it feels like a struggle to figure out.


Why not publishing Dmd and LDC together as one package, one 
installation, one version.


Because the top contributors to DMD are unfamiliar with the LDC 
codebase. However, there are ongoing efforts to make the frontend 
accessible as a library.



/++

Why is dcd, dfmt, dscanner, not part of the base installation 
of D???


Because there is a very easy way to fetch & build them since DUB 
is part of the release:


dub fetch dscanner
dub build dscanner

There is even a DUB API that tools can use. Too complicated?

Webfreak wrote workspace-d and is now writing serve-d to 
combine code-d and the rest. But its again a side project. Its 
odd there is no default language server protocol for D and it 
needs a 3th party developer to implement it and then maintain 
it outside of D again.


So if webfreak gets too busy with life, a breaking change 
happens in D, there goes the support. Like with many 3th party 
plugins ...


Don't forget that D is an open source project driven by 
volunteers.


How about file watching, i know there is a D plugin that 
monitors your directory and allows for recompiling ( most 
languages have a feature like this ) but again, its 3th party 
not part of D mainline, despite it being darn handy.


Because there's​ only so much that can be in a standard library. 
It's way to thick imho anyways. What's wrong with using a DUB 
package?
If it is that common to your work, you can add the project to you 
D include directory.


D is indeed way too fragmented. Clearly a lot of good 
developers but the way its handled, it feels like DMD and 
Phobos are the only focus. And all the rest is side or not 
integrated. This is just my feeling. And when resources are 
split like this, it is indeed much more difficult for new users 
to get going.


Yes because tools come and go whereas a standard library or a 
package manager stays. With the limited volunteers time there's 
only so much that can be done.
And in your free time, you usually work on problems that are 
interesting to you?


Re: D needs to get its shit together!

2017-06-16 Thread lobo via Digitalmars-d

On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
Seriously! D is starting to gain momentum and if things are not 
stabilized it's going to slow D down.


[...]


I don't know what is so hard about tar -zxvf dmd.XYZ.tar.xz or 
unzip dmd.XYZ.zip. Am I missing something?


Perhaps rather than developing a wall of text maybe you could 
spend the time and energy learning how to compile and link code 
using an actual compiler instead of an IDE framework. You would 
then have the skills to use D anywhere with/without the flavour 
of the month IDE.


bye,
lobo


Re: D needs to get its shit together!

2017-06-16 Thread Moritz Maxeiner via Digitalmars-d

On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:


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


I'm going to summarize this as "D has issues that aren't likely 
to be worked on any time soon by the core team".
It boils down the following (and I write this every time I see 
this gets posted): People working on (and with) D for free are 
already invested in things they are interested in. Your choices 
are
- Invest time to work on these yourself (-> directly leads to 
results)
- Pay someone to work on these (-> should directly lead to 
results unless you get swindled)
- Write about it here (-> raise awareness, may lead to results, 
but unlikely)
While I can understand your frustration (and share it for a 
couple of issues) and raising awareness for issues is a good 
thing, the third of these options is (historically speaking) 
unlikely to yield results by itself in this community as people's 
time is limited. If you want these issues dealt with, go with 
option one or two.




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)


Everything *I* need works well enough (and I'm fairly convinced 
it is the same for the majority of D users, though that is 
speculation). If you want something fixed, do it yourself or pay 
someone to do it.


Re: D needs to get its shit together!

2017-06-16 Thread Wulfklaue via Digitalmars-d

On Friday, 16 June 2017 at 10:38:44 UTC, Seb wrote:
There is an official D installer for Posix systems that can 
handle multiple compilers and all versions quite well.

IIRC does dvm only support DMD?


Good for the poxis platform set ... but D is used on more then 
only linux and osx.


I think you are just complaining about Windows. Everything is 
nicely packaged under Linux, Posix and OSX.


And that makes the point wrong? No it does not ...


The beauty of D is that you don't need a fancy editor.


That is a straw man argument...

Every language can be more productive with a editor, especially 
when people first learn the language. Lets not turn this into a 
editor/ide vs ... discussion. You got your preference, that is 
clear by now.



Really?

curl i.dlang.io | bash -s dmd
curl i.dlang.io | bash -s dmd-2.072.2
curl i.dlang.io | bash -s dmd-newCTFE
curl i.dlang.io | bash -s dmd-nightly
curl i.dlang.io | bash -s ldc
curl i.dlang.io | bash -s ldc-beta
curl i.dlang.io | bash -s ldc-1.1.0
curl i.dlang.io | bash -s gdc


Thanks but again besides the point. The Original poster is 
referring to the experience for new users.


Do you expect every user to know Linux commands? Do you expect 
them to run Linux?


The fact that your over emphasizing on this, clearly shows that 
there is a gap in D there multi-platform support.


Thanks for the information. Its useful for me but that is NOT THE 
POINT!


Are there any features between 2.073.2 (latest LDC beta) and 
2.074.1 that you actually miss?


Up to recently Dmd and Ldc used to be much more separated in 
there future set.


And please do tell ... having 2.073.2 vs 2.074.1 version 
difference may not be a lot but its still not a single platform 
support.


Bugs or issues solved in DMD 2.074.1 can hamper somebody who is 
cross compiling for production. And visa versa.


Is it that difficult to have both versions synchronized and 
released as one package? Why the push back to even mentioning 
this.



--compiler=ldc2 works very well for me.


Nice to know, yet, that did not work in my case and it needed the 
path.


Because the top contributors to DMD are unfamiliar with the LDC 
codebase. However, there are ongoing efforts to make the 
frontend accessible as a library.


Good to know...

Because there is a very easy way to fetch & build them since 
DUB is part of the release:


dub fetch dscanner
dub build dscanner


Again, this is straw man argumentation.

This assumes knowledge of dub, knowledge of the tools used, it 
assume the editor can interact and find the builds. And frankly, 
running it like that also pollutes a project ( seen it, done it, 
got the medal ).


Read the freaking original poster his text. He is frustrated that 
for new users, maybe people with little to no background D is 
simply a mess.


I pointed out that Rust and Go are WAY more easy to setup 
everything and interact with advanced features because they 
integrated a lot more.


And on a side note: There is nothing more fun as running into a 
bug with dfmt or some other third party plugin because a change 
that happened in dmd.


Example: latest DMD, a change happened, plugin does not compile. 
Now please do tell how a totally new user will find his way 
around? They will post here, get some crispy comment and maybe 
leave. Or hell, they may not even post here.


Don't forget that D is an open source project driven by 
volunteers.


So do you and every other person remind the people who point out 
issues. And the point is? Well, its all volunteer project so 
never expect a improvement until somebody wants to fix it. 
Strange because Rust is highly volunteer based and yet they have 
a more coherent structure. So why is that? Now that is a good 
question...


Because there's​ only so much that can be in a standard 
library. It's way to thick imho anyways. What's wrong with 
using a DUB package?


What i am talking about is not part of the standard library, 
hell, it has nothing to do with the library at all. Its part of 
the standard tool set. Total different things...


If it is that common to your work, you can add the project to 
you D include directory.


Again ... very, VERY unclear how and what is possible in D. Sure, 
i can figure it things out but it takes time. And the next guy 
also needs to put time into this. And the next guy...


Yes because tools come and go whereas a standard library or a 
package manager stays. With the limited volunteers time there's 
only so much that can be done.
And in your free time, you usually work on problems that are 
interesting to you?


Maybe that is the same reason why D has a issue drawing in new 
non-C/C++ developers? Maybe because too many people live in there 
high tower assuming its easy for everybody else.



And no offense but some responses here feel like: "Hey somebody 
pointed out a problem. Lets jump on this person for pointing it 
out".


I am already seeing the arguments that D is all about volunteers 
and the push back. "Hey, 

Re: D needs to get its shit together!

2017-06-16 Thread Moritz Maxeiner via Digitalmars-d

On Friday, 16 June 2017 at 11:50:20 UTC, Wulfklaue wrote:

On Friday, 16 June 2017 at 10:55:04 UTC, Moritz Maxeiner wrote:
Everything *I* need works well enough (and I'm fairly 
convinced it is the same for the majority of D users, though 
that is speculation). If you want something fixed, do it 
yourself or pay someone to do it.


Well, i do not have the time.


Then hire someone.


Want me to donate?


Straw man. Donations are not the same as paying for a specific 
service (i.e. no contractual obligations).



Does that solve the issue.


Yes.

No ... because there is no clear infrastructure in place to 
actually hire people to work on the language and the 
environment.


Claiming a solution does not work because it's hard to use does 
not help your cause.
If you are interested in donations, there is such infrastructure, 
it's called the D Foundation.
If you are interested in contract work, you are correct, there is 
no such infrastructure;
however, there not being a ready made infrastructure for hiring 
does not preclude you from finding someone yourself, e.g. through 
the accounce newsgroup.




Pointless to even mention this, it like all the other 
discussions like this. People mention issue. Blow back. Heated 
discussions. And the people who complain give up. Those that 
point fingers continue living in there bubble and ... nothing 
changes or improves.


You are deliberately inflaming a previously neutral subthread 
with hyperboles and a personal attack.
The matter remains simple: If you (or anyone else) has an issue, 
it's good (as I stated) to raise awareness for it; but if you 
want something done and don't want (or can't) do it yourself, you 
have to either convince someone else that your time is worth more 
than theirs, or you have to pay someone to deal with it.




I do not have a issue donating money. In the process of setting 
up a company and maybe can support D from that angle. But i do 
have a issue when people react like this whenever people with 
good intention get blow back.


Again, you are deliberately using inflammatory speech against 
someone who has given the OP a rational response as to why I 
think doing *only* this won't help his cause.


The original poster his topic title is a bad choice but his 
points are not.


Straw man. I never said anything on those points.

Just reading the history on the mail group and you see so many 
time the same issues.


In the very post of mine you quote I write about stating this 
every time these kinds of issues pop up (which strongly implies 
that it does so not rarely).



And the exact same responses.


I'm not sure why that bothers you. It would be strange to me for 
the same kind of issue in the same context to receive a different 
response.



And the exact same nothing happening because people give up.


That is the crux of having limited human resources in a volunteer 
project.


[...] But for some reason i can not help to feel that some 
people are almost against this, the attitude here simply STINKS 
when it comes down to issues. The whole "it works for me, so 
how dare you complain" is really demotivating and frankly 
scares people away.


This is the third time you are being intentionally inflammatory 
in a previously neutral correspondence, even utterly twisting my 
post into something that simply is not there.
What I wrote boils down to "It works for me, so don't expect me 
to fix it for you for free. I think it is the same for most 
others here". If that is demotivating to you, I am forced to 
wonder if you consider your time objectively worth more than that 
of others.




Hey, it works for me "not dumb dumb" but its the wast of time 
figuring out things that are much more easy in other languages.


Fourth time you are being inflammatory, even going as far as 
completely inventing statements I have not made.


But that also means anybody coming with limited programming 
knowledge or no linux knowledge and wants to do more then a 
"hello world", will run into the exact time wasting issues.


And if that bothers you enough to take action, your courses are 
*still* the following:

- Do the work yourself
- Hire someone to do the work
- Convince someone that their time is better spend on dealing 
with this than on whatever it is that interests them




But please, do shoot the messengers. Like that will help.


Fifth time you are being intentionally inflammatory and trying to 
twist my post.
I informed the OP that I think it unlikely this will convince 
someone to choose to spend their free time on this, than on 
something else. It boggles my mind how you could possibly twist 
that into "shooting the messengers".




I am already far into my project with D but at the same time i 
can not help getting this nagging feeling that D has major 
issues beyond its base language. Mostly its community and 
structure. I see less of this with for instance Rust despite 
being a WAY younger language and audience. Its almost like D is 
stuck in 

Re: D needs to get its shit together!

2017-06-16 Thread Joakim via Digitalmars-d

On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
Seriously! D is starting to gain momentum and if things are not 
stabilized it's going to slow D down.


[...]


All decent ideas- except for the bit about D1, as it has been 
deprecated- but obviously nobody has been willing to work on 
adding such fit and finish.  If you believe someone should 
volunteer their time to work on this, the obvious question is why 
don't you do it?  If you think there is a market for paid support 
that includes such polish, you could charge for it.


On the other hand, maybe D is not meant for the kind of user who 
needs such an easy path.  What does it matter if you set D up 
really easily and then can't grasp such a sprawling, lower-level 
language?  Perhaps _this_ is the right packaging for D right now, 
to keep away the kinds of casual users who would not be suited 
for D.


I don't have a strong opinion on that, just making an 
observation.  It works well for me, and having a long history of 
using OSS projects that are _much_ worse to set up, I can't 
complain. :)


Re: D needs to get its shit together!

2017-06-16 Thread Wulfklaue via Digitalmars-d

On Friday, 16 June 2017 at 13:14:46 UTC, Moritz Maxeiner wrote:
Fifth time you are being intentionally inflammatory and trying 
to twist my post.


Well, i am sorry that you see it all as intentionally 
inflammatory.


You might have noticed that after responding to you, my post was 
more general. Not person specific. My apology to you for the 
misunderstanding.


I will not post about this anymore. No point wasting anybody 
there time. Its not like anything is going to change anyway, that 
much is now clear to me.


Re: D needs to get its shit together!

2017-06-16 Thread Mike Parker via Digitalmars-d

On Friday, 16 June 2017 at 11:50:20 UTC, Wulfklaue wrote:



I am already far into my project with D but at the same time i 
can not help getting this nagging feeling that D has major 
issues beyond its base language. Mostly its community and 
structure. I see less of this with for instance Rust despite 
being a WAY younger language and audience. Its almost like D is 
stuck in the past, in some kind of pre-2000 C++ attitude. Like 
i said, maybe its me. D as a base language works but for such a 
old language ( lets be honest about that ), its a real struggle 
on the other areas beyond the language.


We don't notice the rivers carving the canyons in our brief 
lifespans, so would never know that it happened without some 
point of reference in the past to compare to. While D's progress 
doesn't move at such a glacial pace (thankfully!), it still won't 
be very noticeable to someone who hasn't been around here long 
enough. If you could move your point of reference back in time a 
bit, you'd know that a great deal of progress has been made.


That doesn't mean that such complaints aren't valid and shouldn't 
be raised, but it's nice to have some perspective to moderate 
your expectations. Progress *is* being made. The volunteer 
argument keeps coming up because that *is* the reality. There's 
no one around here who can snap their fingers and get a team of 
people to put their heads down and make improvements on a daily 
basis. Rust and Go, however, do have that benefit. So we move 
forward, bit-by-bit, slowly but surely.


I've been using D and coming to these forums since 2003 (and, by 
the way, using DMD on Windows without a hitch for all that time) 
and I can point to many periods in the intervening years when we 
passed major milestones. There used to be no IDE plugins at all. 
No installers. DMD was distributed in a single zip for all 
platforms. We had no build tools, no DUB, no web frameworks, a 
substandard standard library, a clunky web interface for the 
newsgroups... So please, don't take your snapshot view of the 
current state of affairs and take that as evidence that the 
rivers aren't carving the canyons, because they very much are.


Re: D needs to get its shit together!

2017-06-16 Thread jmh530 via Digitalmars-d

On Friday, 16 June 2017 at 13:30:21 UTC, Joakim wrote:


On the other hand, maybe D is not meant for the kind of user 
who needs such an easy path.  What does it matter if you set D 
up really easily and then can't grasp such a sprawling, 
lower-level language?  Perhaps _this_ is the right packaging 
for D right now, to keep away the kinds of casual users who 
would not be suited for D.




Today I agree with that, but in 1-2 years when mir/lubeck are in 
better shape I'm probably going to disagree. Hoping someone 
packages something together like an Anaconda for D that just 
easily works.


Re: D needs to get its shit together!

2017-06-16 Thread Moritz Maxeiner via Digitalmars-d

On Friday, 16 June 2017 at 13:54:54 UTC, Wulfklaue wrote:

On Friday, 16 June 2017 at 13:14:46 UTC, Moritz Maxeiner wrote:
Fifth time you are being intentionally inflammatory and trying 
to twist my post.


Well, i am sorry that you see it all as intentionally 
inflammatory.


Only those specific instances where you used expressions designed 
to elicit an emotional response.




You might have noticed that after responding to you, my post 
was more general. Not person specific. My apology to you for 
the misunderstanding.


The trouble is that you replied to two different people in the 
same post (this is btw not very well supported by newsgroups, for 
which the forum is a frontend) and even after becoming more 
general kept referring to points I made in my post.




I will not post about this anymore.


That is your choice, though I fail to see why you think you 
shouldn't.
I think you should keep reporting such issues in the ecosystem, 
since without that there is indeed no way they are ever going to 
be dealt with. It's just that reporting in and of itself does not 
guarantee a fix with our current human resources. If you want 
such a guarantee, it's on you to convince someone (be that 
yourself or someone else) to do it.


No point wasting anybody there time. Its not like anything is 
going to change anyway, that much is now clear to me.


It shouldn't, because it's not the case. The ecosystem is being 
worked on, albeit slowly. No progress != slow progress.


Re: D needs to get its shit together!

2017-06-16 Thread Guillaume Piolat via Digitalmars-d

On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:

D needs to just work!



I think that D is quickly gaining increasingly picky and 
demanding users because it's breaking out in the general 
programmer population.


Not all of these programmers have used C++ and perhaps have 
higher expectations when it comes to "just work".


If you look at the complaints from 8 years ago (where 
ragequitting D was more common), everyone of their points have be 
adressed, and most things have improved.


Perhaps complaints are poised to get higher in intensity 
precisely because things have become better ;)





Re: D needs to get its shit together!

2017-06-16 Thread Russel Winder via Digitalmars-d
On Fri, 2017-06-16 at 15:08 +, Guillaume Piolat via Digitalmars-d
wrote:
> On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
> > D needs to just work!
> 
> 
> I think that D is quickly gaining increasingly picky and 
> demanding users because it's breaking out in the general 
> programmer population.
> 
> Not all of these programmers have used C++ and perhaps have 
> higher expectations when it comes to "just work".
> 
> If you look at the complaints from 8 years ago (where 
> ragequitting D was more common), everyone of their points have be 
> adressed, and most things have improved.
> 
> Perhaps complaints are poised to get higher in intensity 
> precisely because things have become better ;)
> 

The corollary is that The D Foundation has to make sure the D
experience (DMD, RDMD, LDC, LDMD, GDC, GDMD, Dub, etc.) works out of
the box, either with a downloader or a Chocolatey package on Windows;
downloader, MacPorts and Homebrew on MacOS, and packaging for Debian,
Fedora, Arch, OpenBSD, FreeBSD, etc.

Most of it is there, but it isn't as slick an experience as say Rust
and Go. It about being a good and proactive downstream for all the
packaging systems (which is mostly there) and having good installers
where needed, mostly there. I suspect a big part of the difficulty is
resources, but it is also having three tool chains. Clearly Rust and Go
have people paid (directly or indirectly) to deal with front of house,
customer facing stuff. D has some volunteers most of whom are back
office, just want to get on with code please type people.

If it is true that there is increased traction for D, then getting some
resource into the front of house stuff will be critical to that
traction fading and disappearing.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D needs to get its shit together!

2017-06-16 Thread Joakim via Digitalmars-d

On Friday, 16 June 2017 at 15:47:15 UTC, Russel Winder wrote:
If it is true that there is increased traction for D, then 
getting some resource into the front of house stuff will be 
critical to that traction fading and disappearing.


Yes, daily downloads of dmd are up 25-30% this year:

http://erdani.com/d/downloads.daily.png


Re: D needs to get its shit together!

2017-06-16 Thread Russel Winder via Digitalmars-d
On Fri, 2017-06-16 at 16:47 +0100, Russel Winder wrote:
> 
[…]
> If it is true that there is increased traction for D, then getting
> some
> resource into the front of house stuff will be critical to that
> traction fading and disappearing.

s/to that/to avoid that/

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D needs to get its shit together!

2017-06-16 Thread Jacob Carlborg via Digitalmars-d

On 2017-06-16 09:53, Mike B Johnson wrote:

DVM [1] is doing some of this.


Cool, does it keep things well organized


It depends on what you definition of organized. DVM is a tool that 
allows you to easily install D compilers. It also allows to easily 
switch between multiple versions of the compiler. That is, you can have 
one window (terminal) with one version and another window with another 
version.


On Posix it installs everything ~/.dvm. Each compiler is placed in its 
own directory, it's mostly the zip archives available on dlang.org 
unpacked. Here's an example of how the directory structure looks like on 
Posix:


$ tree -L 2 .dvm
.dvm
├── archives
│   ├── dmd.2.073.0.osx.zip
│   ├── dmd.2.074.0-b1.osx.zip
│   └── dmd.2.074.0.osx.zip
├── bin
│   ├── dmd-2.073.0
│   ├── dmd-2.074.0
│   ├── dmd-2.074.0-b1
│   ├── dvm
│   ├── dvm-current-dc
│   ├── dvm-default-dc
├── compilers
│   ├── dmd-2.073.0
│   ├── dmd-2.074.0
│   ├── dmd-2.074.0-b1
├── env
│   ├── default
│   ├── dmd-2.073.0
│   ├── dmd-2.074.0
│   ├── dmd-2.074.0-b1
└── scripts
└── dvm


and deals with windows issues(link.exe., dlls, etc) or just uses the "D way" 
which is a hairball?


I'm not that familiar with Windows (the Windows support was contributed 
by another developer) so I'm not sure which issues you refer to.


--
/Jacob Carlborg


Re: D needs to get its shit together!

2017-06-16 Thread Jacob Carlborg via Digitalmars-d

On 2017-06-16 17:47, Russel Winder via Digitalmars-d wrote:


Most of it is there, but it isn't as slick an experience as say Rust
and Go. It about being a good and proactive downstream for all the
packaging systems (which is mostly there) and having good installers
where needed, mostly there. I suspect a big part of the difficulty is
resources, but it is also having three tool chains. Clearly Rust and Go
have people paid (directly or indirectly) to deal with front of house,
customer facing stuff. D has some volunteers most of whom are back
office, just want to get on with code please type people.


Also, IIRC, Go uses its own tool chain, i.e. not relying on system 
compiler and linker. This can help as well since you have more control 
over the tool chain.


--
/Jacob Carlborg


Re: D needs to get its shit together!

2017-06-16 Thread Mike B Johnson via Digitalmars-d

On Friday, 16 June 2017 at 17:10:41 UTC, Jacob Carlborg wrote:

On 2017-06-16 09:53, Mike B Johnson wrote:

DVM [1] is doing some of this.


Cool, does it keep things well organized


It depends on what you definition of organized. DVM is a tool 
that allows you to easily install D compilers. It also allows 
to easily switch between multiple versions of the compiler. 
That is, you can have one window (terminal) with one version 
and another window with another version.


On Posix it installs everything ~/.dvm. Each compiler is placed 
in its own directory, it's mostly the zip archives available on 
dlang.org unpacked. Here's an example of how the directory 
structure looks like on Posix:


$ tree -L 2 .dvm
.dvm
├── archives
│   ├── dmd.2.073.0.osx.zip
│   ├── dmd.2.074.0-b1.osx.zip
│   └── dmd.2.074.0.osx.zip
├── bin
│   ├── dmd-2.073.0
│   ├── dmd-2.074.0
│   ├── dmd-2.074.0-b1
│   ├── dvm
│   ├── dvm-current-dc
│   ├── dvm-default-dc
├── compilers
│   ├── dmd-2.073.0
│   ├── dmd-2.074.0
│   ├── dmd-2.074.0-b1
├── env
│   ├── default
│   ├── dmd-2.073.0
│   ├── dmd-2.074.0
│   ├── dmd-2.074.0-b1
└── scripts
└── dvm

and deals with windows issues(link.exe., dlls, etc) or just 
uses the "D way" which is a hairball?


I'm not that familiar with Windows (the Windows support was 
contributed by another developer) so I'm not sure which issues 
you refer to.



Thanks. At least D has something going on correctly here.

My feeling is, unless DVM works well with windows, that it 
probably currently doesn't offer much help. If it does manage the 
versioning well and can deal with the environmental issues well 
then it is close to what I am asking. If that's the case, it 
should be polished off and used as the main front end and hosted 
by D.


You didn't state if it works congruently with all the major 
compilers.


The issues in windows are:

1. coff/omf. Requires use of windows and visual studio/C stuff 
who's locations and versions change over the years. This can be a 
major headache finding the right version. Mainly because the 
error messages, when using the wrong version, do not suggest that 
it is a versioning error.


dvm could have the option to search the entire system for the 
files it needs(e.g., link.exe, various dlls that are generally 
used, etc) and attempt get things to work.


2. Managing different compilers: Not too bad but if you end up 
with some problems here, then it gets multiplied by the factor of 
the number of issues with each compiler. if LDC has an issue with 
the x64 dlls and dmd with the x32 and they are always looking in 
the same place because the versions are different and wrong, then 
it becomes a issue with a "factor of 4" problem. This can become 
even worse when you try cross compiling and such.


3. Re-installation can be problematic. sci.ini is overwritten. If 
you hand coded the paths to get everything to work, guess what? 
Well, who cares? You have plenty of time to waste, right?


4. Reinstalling one thing can break something else. This depends 
on how fragile the setup was at the start.


5. People that don't have problems with their setup generally 
think everything "just works" and bitch at others for 
complaining.  Ignorance is bliss, but it's still ignorance. Life 
is more complicated and everything just doesn't work for everyone 
because everyone system is different. I don't use standard paths 
to install things and when an installer hard codes paths that 
don't exist, it breaks on my system. That is not my fault. The 
installer shouldn't be so ignorant and do it's job properly. 
Usually it was written by someone who thinks that when other 
people have problems on their system, it is due to their 
ignorance rather than the ignorance of the installer 
writer(Because they think: Hey, it worked on my system and my 
system is the same as everyone elses). Same goes for utilities.


I have over 1 billion files on my system, I use it for around 20 
different non-complementary subjects(graphics, music, 
programming, etc). When everything is "competing for space" and 
things are not set up to work together, one seemingly unrelated 
program and effect every other one. (e.g., simply by adding to 
the path variable and break things with error messages that are 
meaningless to the real problem)


Most ignorant people do not take those things in to account 
because they oversimplify... and that usually causes problems 
down the road for the rest of us.


As D becomes increasing popular, there are going to be more 
variation in the system and the flaws in it will become larger 
and larger.  It's best to start working on fixing those flaws 
before they become too large to manage and weaken the whole 
structure. We all know this to be true on some level, but it is 
actually fact. It is the way of life, everything breaks down. The 
more flaws it has at the start, the faster it will break down... 
unless they are fixed at the start. Fixing them near the end just 
results in a huge

Re: D needs to get its shit together!

2017-06-17 Thread Sebastien Alaiwan via Digitalmars-d

On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
When a new user goes to start using D for the first time, D is 
a PITA to get working! Don't believe me?!?!


I'm running Debian GNU/Linux (testing). Here's the installation 
process for the 3 major D compilers.


$ apt install gdc
$ gdc my_first_program.d

GDC is too old for you? Fine, let's use ldc:

$ apt install ldc
$ ldc2 my_first_program.d

Or if you want the bleeding edge version of D:

(download dmd .deb package from dlang.org)
$ dpkg -i dmd_***.deb
$ rdmd my_first_program.d

Debian maintainers, one word: Thank you!


Re: D needs to get its shit together!

2017-06-17 Thread Russel Winder via Digitalmars-d
On Sat, 2017-06-17 at 08:27 +, Sebastien Alaiwan via Digitalmars-d
wrote:
> On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
> > When a new user goes to start using D for the first time, D is 
> > a PITA to get working! Don't believe me?!?!
> 
> I'm running Debian GNU/Linux (testing). Here's the installation 
> process for the 3 major D compilers.
> 
> $ apt install gdc
> $ gdc my_first_program.d

Or use aptitude, which I believe remains the Debian preferred high-
level tool.

> GDC is too old for you? Fine, let's use ldc:
> 
> $ apt install ldc
> $ ldc2 my_first_program.d

Definitely, caveat aptitude.

> Or if you want the bleeding edge version of D:
> 
> (download dmd .deb package from dlang.org)
> $ dpkg -i dmd_***.deb
> $ rdmd my_first_program.d

I wonder if it is better to use the d-apt repository for DMD rather
than downloading. Downloading is always a pain for updating packages.

http://d-apt.sourceforge.net/

OK so it is on SourceForge, but it does work.

> Debian maintainers, one word: Thank you!

That's two words. :-)

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D needs to get its shit together!

2017-06-17 Thread Mike B Johnson via Digitalmars-d
On Saturday, 17 June 2017 at 08:27:33 UTC, Sebastien Alaiwan 
wrote:

On Friday, 16 June 2017 at 03:53:18 UTC, Mike B Johnson wrote:
When a new user goes to start using D for the first time, D is 
a PITA to get working! Don't believe me?!?!


I'm running Debian GNU/Linux (testing). Here's the installation 
process for the 3 major D compilers.


$ apt install gdc
$ gdc my_first_program.d

GDC is too old for you? Fine, let's use ldc:

$ apt install ldc
$ ldc2 my_first_program.d

Or if you want the bleeding edge version of D:

(download dmd .deb package from dlang.org)
$ dpkg -i dmd_***.deb
$ rdmd my_first_program.d

Debian maintainers, one word: Thank you!


Sorry, doesn't help me or people in general. Also, simple 
examples are not proof that the solutions are general. It may be 
that easy on linux or it may not be, but it's definitely not that 
case on windows FOR almost ALL installations.






Re: D needs to get its shit together!

2017-06-17 Thread Jacob Carlborg via Digitalmars-d

On 2017-06-17 08:06, Mike B Johnson wrote:


Thanks. At least D has something going on correctly here.

My feeling is, unless DVM works well with windows, that it probably
currently doesn't offer much help. If it does manage the versioning well
and can deal with the environmental issues well then it is close to what
I am asking. If that's the case, it should be polished off and used as
the main front end and hosted by D.

You didn't state if it works congruently with all the major compilers.


No, unfortunately it only allows to install DMD.


The issues in windows are:

1. coff/omf. Requires use of windows and visual studio/C stuff who's
locations and versions change over the years. This can be a major
headache finding the right version. Mainly because the error messages,
when using the wrong version, do not suggest that it is a versioning error.

dvm could have the option to search the entire system for the files it
needs(e.g., link.exe, various dlls that are generally used, etc) and
attempt get things to work.


No, DVM doesn't do anything to try to find the installation of Visual 
Studio. Unless the compiler already can find it, it won't help. DVM was 
created before the compiler supported Visual Studio and I haven't kept 
the tool up to date to match that.



3. Re-installation can be problematic. sci.ini is overwritten. If you
hand coded the paths to get everything to work, guess what? Well, who
cares? You have plenty of time to waste, right?


That's a difficult problem. What if you messed up sc.ini and that's the 
reason you want to reinstall?


--
/Jacob Carlborg


Re: D needs to get its shit together!

2017-06-17 Thread Mike Parker via Digitalmars-d

On Saturday, 17 June 2017 at 06:06:53 UTC, Mike B Johnson wrote:

1. coff/omf. Requires use of windows and visual studio/C stuff 
who's locations and versions change over the years. This can be 
a major headache finding the right version. Mainly because the 
error messages, when using the wrong version, do not suggest 
that it is a versioning error.


This isn't as severe as you make it sound. If the latest version 
of VS doesn't work, the one before will. It's easy to prevent 
such issues in the future. Since we never know if a new version 
of VS will break things, this can be solved by one person who can 
monitor the beta releases of VS and submit PRs to the appropriate 
repositories if the paths change, or (as happened with VS 2015) 
the C runtime library changes, or some other breakage arises. 
Then DMD can get support for the new version before it's 
released. Could that person be you?





2. Managing different compilers: Not too bad but if you end up 
with some problems here, then it gets multiplied by the factor 
of the number of issues with each compiler. if LDC has an issue 
with the x64 dlls and dmd with the x32 and they are always 
looking in the same place because the versions are different 
and wrong, then it becomes a issue with a "factor of 4" 
problem. This can become even worse when you try cross 
compiling and such.


What I've done in the past is to keep the latest DMD on the 
system path, then set up Command Prompt shortcuts initialized 
with a different batch file to set override it with paths to 
different compilers/versions. If DVM could get support for LDC 
and GDC, then you'd have everything in one convenient app.




3. Re-installation can be problematic. sci.ini is overwritten. 
If you hand coded the paths to get everything to work, guess 
what? Well, who cares? You have plenty of time to waste, right?


Backup the sc.ini file.



4. Reinstalling one thing can break something else. This 
depends on how fragile the setup was at the start.


Like what?



5. I have over 1 billion files on my system, I use it for 
around 20 different non-complementary subjects(graphics, music, 
programming, etc). When everything is "competing for space" and 
things are not set up to work together, one seemingly unrelated 
program and effect every other one. (e.g., simply by adding to 
the path variable and break things with error messages that are 
meaningless to the real problem)


Most ignorant people do not take those things in to account 
because they oversimplify... and that usually causes problems 
down the road for the rest of us.


So, what are you proposing here? Educate us. What are we supposed 
to take into account? I use my computer also for graphics, music, 
programming, document editing, all sorts of stuff. The only 
breakage I've ever had has usually been related to anti-virus 
software, though in the past there was an occasional issue with 
things like SecuRom. What exactly should the D community to in 
order to alleviate these major breakages you have on your system?




As D becomes increasing popular, there are going to be more 
variation in the system and the flaws in it will become larger 
and larger.  It's best to start working on fixing those flaws 
before they become too large to manage and weaken the whole 
structure.


I would like to reiterate here what I mentioned earlier in this 
thread -- people in the D community are currently fixing flaws 
all the time. That we aren't fixing the flaws that particularly 
peeve you does not mean nothing is being done. I would also like 
to reiterate that if something is important enough to you, then 
you could do something about it besides coming to the forums and 
calling the rest of us ignorant. Write a DIP. File issues on 
Bugzilla. Submit pull requests. Take on responsibility for 
ensuring Visual Studio compatibility. Or do nothing, but please 
don't act as if we're all just sitting here twiddling our thumbs.


Re: D needs to get its shit together!

2017-06-17 Thread Mike B Johnson via Digitalmars-d

On Saturday, 17 June 2017 at 13:23:06 UTC, Mike Parker wrote:

On Saturday, 17 June 2017 at 06:06:53 UTC, Mike B Johnson wrote:


[...]


This isn't as severe as you make it sound. If the latest 
version of VS doesn't work, the one before will. It's easy to 
prevent such issues in the future. Since we never know if a new 
version of VS will break things, this can be solved by one 
person who can monitor the beta releases of VS and submit PRs 
to the appropriate repositories if the paths change, or (as 
happened with VS 2015) the C runtime library changes, or some 
other breakage arises. Then DMD can get support for the new 
version before it's released. Could that person be you?




[...]


What I've done in the past is to keep the latest DMD on the 
system path, then set up Command Prompt shortcuts initialized 
with a different batch file to set override it with paths to 
different compilers/versions. If DVM could get support for LDC 
and GDC, then you'd have everything in one convenient app.



[...]


Backup the sc.ini file.


[...]


Like what?


[...]


So, what are you proposing here? Educate us. What are we 
supposed to take into account? I use my computer also for 
graphics, music, programming, document editing, all sorts of 
stuff. The only breakage I've ever had has usually been related 
to anti-virus software, though in the past there was an 
occasional issue with things like SecuRom. What exactly should 
the D community to in order to alleviate these major breakages 
you have on your system?



[...]


I would like to reiterate here what I mentioned earlier in this 
thread -- people in the D community are currently fixing flaws 
all the time. That we aren't fixing the flaws that particularly 
peeve you does not mean nothing is being done. I would also 
like to reiterate that if something is important enough to you, 
then you could do something about it besides coming to the 
forums and calling the rest of us ignorant. Write a DIP. File 
issues on Bugzilla. Submit pull requests. Take on 
responsibility for ensuring Visual Studio compatibility. Or do 
nothing, but please don't act as if we're all just sitting here 
twiddling our thumbs.


You realize your mentality is like a dead rat? It just stinks. 
Your solutions are not solutions. They are patches. I wouldn't 
hire you to fix my plumbing because in a few months I'll have to 
fix it again. You are ok with that, because you get paid either 
way.  Keep kicking the can down the road... It may get you a bit 
of exercise but in the long run you are just wasting everyone's 
time. I also suggest you get out of the 1970's. Software and 
computers have come a long way. We shouldn't have to resort to 
the same mind set 40+ years ago. I shouldn't have to backup 
sc.ini, just because you think it is the way doesn't mean it is. 
That mindset for sc.ini pervades all your so called solutions. 
There are better ways, too bad you don't care or are too ignorant 
to see them.





Re: D needs to get its shit together!

2017-06-17 Thread Mike Parker via Digitalmars-d

On Saturday, 17 June 2017 at 14:01:38 UTC, Mike B Johnson wrote:



You realize your mentality is like a dead rat? It just stinks. 
Your solutions are not solutions. They are patches. I wouldn't 
hire you to fix my plumbing because in a few months I'll have 
to fix it again. You are ok with that, because you get paid 
either way.  Keep kicking the can down the road... It may get 
you a bit of exercise but in the long run you are just wasting 
everyone's time. I also suggest you get out of the 1970's. 
Software and computers have come a long way. We shouldn't have 
to resort to the same mind set 40+ years ago. I shouldn't have 
to backup sc.ini, just because you think it is the way doesn't 
mean it is. That mindset for sc.ini pervades all your so called 
solutions. There are better ways, too bad you don't care or are 
too ignorant to see them.


That's fine. One more piece of advice I have for you. If you want 
anyone to take you seriously, check the attitude at the gate. 
Good luck!


Re: D needs to get its shit together!

2017-06-17 Thread Mark via Digitalmars-d

On Friday, 16 June 2017 at 13:14:46 UTC, Moritz Maxeiner wrote:
If you are interested in donations, there is such 
infrastructure, it's called the D Foundation.


I imagine that it's not possible to make donations to the 
foundation that are restricted for the use of advancing a 
specific aspect of the language (e.g. tooling).


I don't know if anyone is looking at the state of the ecosystem 
from the persepctive of a corporation considering whether or not 
to use D for some project. Of course, such a perspective is 
immaterial if there is little community interest in corporate 
adaption of D...


Re: D needs to get its shit together!

2017-06-17 Thread Moritz Maxeiner via Digitalmars-d

On Saturday, 17 June 2017 at 22:57:46 UTC, Mark wrote:

On Friday, 16 June 2017 at 13:14:46 UTC, Moritz Maxeiner wrote:
If you are interested in donations, there is such 
infrastructure, it's called the D Foundation.


I imagine that it's not possible to make donations to the 
foundation that are restricted for the use of advancing a 
specific aspect of the language (e.g. tooling).


IANAL, but if you tie a monetary exchange to a specific service, 
it's not a donation, but payment for services (to be) rendered.




I don't know if anyone is looking at the state of the ecosystem 
from the persepctive of a corporation considering whether or 
not to use D for some project.


I would imagine the people at Sociomantic do.

Of course, such a perspective is immaterial if there is little 
community interest in corporate adaption of D...


People who work on/with something in their free time for their 
own purposes are imho (rightfully) unlikely to care about 
catering to third party corporate interests.


Re: D needs to get its shit together!

2017-06-17 Thread Mark via Digitalmars-d

On Saturday, 17 June 2017 at 23:14:24 UTC, Moritz Maxeiner wrote:
IANAL, but if you tie a monetary exchange to a specific 
service, it's not a donation, but payment for services (to be) 
rendered.




Good point.

People who work on/with something in their free time for their 
own purposes are imho (rightfully) unlikely to care about 
catering to third party corporate interests.


Okay. Fair enough.


Re: D needs to get its shit together!

2017-06-18 Thread Mike B Johnson via Digitalmars-d

On Saturday, 17 June 2017 at 15:01:34 UTC, Mike Parker wrote:

On Saturday, 17 June 2017 at 14:01:38 UTC, Mike B Johnson wrote:



You realize your mentality is like a dead rat? It just stinks. 
Your solutions are not solutions. They are patches. I wouldn't 
hire you to fix my plumbing because in a few months I'll have 
to fix it again. You are ok with that, because you get paid 
either way.  Keep kicking the can down the road... It may get 
you a bit of exercise but in the long run you are just wasting 
everyone's time. I also suggest you get out of the 1970's. 
Software and computers have come a long way. We shouldn't have 
to resort to the same mind set 40+ years ago. I shouldn't have 
to backup sc.ini, just because you think it is the way doesn't 
mean it is. That mindset for sc.ini pervades all your so 
called solutions. There are better ways, too bad you don't 
care or are too ignorant to see them.


That's fine. One more piece of advice I have for you. If you 
want anyone to take you seriously, check the attitude at the 
gate. Good luck!


Cool. Since we are friends now, I have some advice for you: I 
suggest that if you want anyone to take you seriously, I suggest 
you check your mediocrity mentality at the door.


See how that works?!?! Probably not. I suggest you get with the 
program and stop assuming it's ok to waste peoples time, 
including your own. The world would be a better place if people 
like you stopped playing your little games and grow up. Then 
people like me wouldn't have to constantly put you in your place.




Re: D needs to get its shit together!

2017-06-18 Thread Wulfklaue via Digitalmars-d

On Sunday, 18 June 2017 at 08:40:22 UTC, Mike B Johnson wrote:
Cool. Since we are friends now, I have some advice for you: I 
suggest that if you want anyone to take you seriously, I 
suggest you check your mediocrity mentality at the door.


See how that works?!?! Probably not. I suggest you get with the 
program and stop assuming it's ok to waste peoples time, 
including your own. The world would be a better place if people 
like you stopped playing your little games and grow up. Then 
people like me wouldn't have to constantly put you in your 
place.


Mike, if people do not want to listen, simply accept that... 
Going on a yelling tirade solves nothing.


I already concluded from this "discussion" that there is no point 
trying to point out issues with D. Maybe too many people in the 
past pointed out the same stuff and they are tired of it.


Whatever the issue is, simply move on. If they do not want to 
attract new people or want to make it more easy, who are we to 
talk about it ( as the same new people ).


There are good people in the D community but in some responses 
you get the attitude like "how do you not know something so 
simple". And i am not talking about this topic. There are 
responses that borderline "how stupid are you". Maybe not in 
those words but you can read it clearly.


Maybe because i got some of those responses that i also felt more 
"inflammatory" in this topic by generalizing. But reading 
comments like:


Perhaps _this_ is the right packaging for D right now, to keep 
away the kinds of casual users who would not be suited for D.


It angers the hell out of me when people look down on other 
developers because they do not have the right background or are 
somehow considered less trying to deal with inadequacies in the D 
ecosystem.


I am not targeting any person here but there are people here with 
good intentions and people who to not realize how there responses 
look down on people. Some do not understand that not everybody 
has 10+ years in developing C/C++ programs and knows every 
terminology and understands every aspect of the memory management 
and the ins and out.


But there is no point fighting this attitude. Just use D for what 
you need it or move to a different language. I am at this moment 
contemplating moving my code base to different language for this 
same reason.


My impression of D:

* The forums is a mixed bag of good intention people who give you 
the answer you need. Some people who look down for asking a 
stupid question. Some people who take criticism about D such a 
personal level. And people who are simply rude, maybe there have 
good intention but have short fuse ( i wonder who that is :) ).


* Git: I found the people who managed the code summations to D 
GIT way more helpful and frankly very pleasant. I learned a lot 
in a short amount of time despite being a total noob at this.


Frankly, sometimes i wish i NEVER discovered the forums because 
seeing some of the discussions and reading the past discussions, 
it feels like a darn pool of evil. Good, bad and just ugly. It 
frankly demotivates...


And it has now **highly** opinionated my attitude about D, to the 
point that makes me wonder. As a potential employer:


If i hire people with no D knowledge and they need to learn D. 
They go to these forums and get sucked into this.


What about easy of learning, issues they may run into. It means 
time i need to spend teaching new employees to avoid some of the 
issues mentioned here ( and a lot of past topics that i found ). 
I do not understand because on other language forums the 
discussions are more civilized, there seem to be less looking 
down on people. Maybe i use the Rust argument a bit too much but 
to be good at Rust a good background is extreme helpful and yet, 
i do not notice the same attitude with people ask stupid 
questions or are not happy about something. I really, REALLY 
think that some people have been living so long in a bubble, that 
they do not understand how person some of there responses are and 
how it affects future posting from new members.


There are a lot of other things... but it will sidetrack things 
even more. Its already a wall of text by now.


But it really comes down in its most simple form: "Language good, 
library can use some work but useful, standard documentation 
disaster ( until you discover the library doc ), community mixed 
bag, 3th party plugins again mixed bag ( some good, some bad, 
some not maintained ), language future not 100% sure about where 
it will end up".


And that is my personal and honest opinion...

-
-

And please, do not quote my text piece by piece, ripping me a new 
one for being inflammatory or whatever. Its how I from MY 
perceptive see things. Just as you, the person reading this will 
have there own opinion.


-
-

As for me, i will be looking a bit more into other languages and 
there communities. For a hobby project D is 

Re: D needs to get its shit together!

2017-06-18 Thread Vladimir Panteleev via Digitalmars-d

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.


Re: D needs to get its shit together!

2017-06-18 Thread meppl via Digitalmars-d

On Sunday, 18 June 2017 at 14:53:57 UTC, Wulfklaue wrote:
But it really comes down in its most simple form: "Language 
good, library can use some work but useful, standard 
documentation disaster ( until you discover the library doc ),


some people keep saying that. and i dont understand them. i think 
the documentation of the d language is good. i could learn the 
whole language with just looking at 
http://dlang.org/spec/spec.html
It contains many examples and is easy to read. Someone 
exclusively coming from the scripting-world  might have issues 
though, i am not sure




Re: D needs to get its shit together!

2017-06-18 Thread Laeeth Isharc via Digitalmars-d

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


Re: D needs to get its shit together!

2017-06-18 Thread Laeeth Isharc via Digitalmars-d

On Sunday, 18 June 2017 at 14:53:57 UTC, Wulfklaue wrote:
I already concluded from this "discussion" that there is no 
point trying to point out issues with D. Maybe too many people 
in the past pointed out the same stuff and they are tired of it.


In an open-source community, the best way to change something is 
to make a start on it yourself and try to get others interested.  
Or if you can afford it you can see if Walter or Andrei might be 
interested in helping you under a consulting arrangement, or try 
to find someone else in the community that you could pay to 
change it for you.  If you don't want to do the work, and can't 
pay, then you can still try to persuade people - and often 
enough, if you are gently persistent and your point is good, 
you'll be able to influence things over time.  What doesn't work 
is complaining and expecting others to fix your stuff for you.


In theory, when you purchase products and services your supplier 
ought to be much more responsive than where you don't pay.  My 
experience has been that even when you pay quite a lot - millions 
of dollars - one can often be disappointed in just how responsive 
a commercial supplier will be.  So increasingly over time for me 
I have come to see the merits of open-source, because at least I 
can figure out how to change something and find someone who will 
help me do the work.


There are good people in the D community but in some responses 
you get the attitude like "how do you not know something so 
simple". And i am not talking about this topic. There are 
responses that borderline "how stupid are you". Maybe not in 
those words but you can read it clearly.


I do not recognise this attitude at all - in fact it's remarkable 
how helpful people are, and how some of the best people in the 
community spend a great deal of time helping others for free.


Perhaps _this_ is the right packaging for D right now, to keep 
away the kinds of casual users who would not be suited for D.


Yes - it's an advantage for D in its present state of development 
that the frictions act as a shield and tend to mean the people 
who persist have a high level of technical ability and 
resourcefulness, and the people shape the culture.


If you go buy something precious, they don't give you the hard 
sell.  They say this X is not for everyone, but if you would like 
to understand it, here is what the thing is like.  And I think 
it's like that with D - it's not for everyone, but if it were I 
wouldn't be here.


I am not targeting any person here but there are people here 
with good intentions and people who to not realize how there 
responses look down on people. Some do not understand that not 
everybody has 10+ years in developing C/C++ programs and knows 
every terminology and understands every aspect of the memory 
management and the ins and out.


Personally I programmed intensely in C and assembler from 1983 - 
1988 at high school, a little from 1996-1998 and I picked up 
programming again in 2014.  So in the beginning I had no idea why 
people were so focused on memory because when I learnt to program 
memory was pretty fast vs CPU and that changed whilst I was doing 
other things.  But I learnt a lot just in a couple of years from 
being around here - and it wouldn't have been the case in a 
different community.  I don't think it's true that people here 
look down on you or that they expect you to understand every 
nuance of memory management.  One might feel initially 
inadequate, yes, but that's what it's like to learn something 
new.  And people may also be a bit short on time - but it's not 
their responsibility to spend their free time to teach you.  It's 
nice when they do, but it's up to us to teach ourselves using 
whatever resources we can find.


Frankly, sometimes i wish i NEVER discovered the forums because 
seeing some of the discussions and reading the past 
discussions, it feels like a darn pool of evil. Good, bad and 
just ugly. It frankly demotivates...


You must be reading different forums from me.

And it has now **highly** opinionated my attitude about D, to 
the point that makes me wonder. As a potential employer:


If i hire people with no D knowledge and they need to learn D. 
They go to these forums and get sucked into this.


I'm paying people to work in D, and have done since 2015.  I 
personally would never hire someone who would be put off by 
robust exchanges or who would lack the resourcefulness and 
ability to tolerate discomfort that everything not being 
completely shiny (documentation, installation on Windows) would 
deter them.


In fact, I would go further and say that D is a good hiring 
filter for the very reasons that you find offputting (though you 
interpret the meaning of things differently from me).


And I'm in a different business, most likely, and it may be that 
at this point the language is a good fit for me and not for some 
others - that's okay.  D isn't for everyone, and it doesn't need 
to 

Re: D needs to get its shit together!

2017-06-18 Thread Laeeth Isharc via Digitalmars-d

On Friday, 16 June 2017 at 14:40:42 UTC, jmh530 wrote:

On Friday, 16 June 2017 at 13:30:21 UTC, Joakim wrote:


On the other hand, maybe D is not meant for the kind of user 
who needs such an easy path.  What does it matter if you set D 
up really easily and then can't grasp such a sprawling, 
lower-level language?  Perhaps _this_ is the right packaging 
for D right now, to keep away the kinds of casual users who 
would not be suited for D.




Today I agree with that, but in 1-2 years when mir/lubeck are 
in better shape I'm probably going to disagree. Hoping someone 
packages something together like an Anaconda for D that just 
easily works.


What's missing from Lubeck that you would like to see?

Wrt Anaconda for D - it's the native code (C) libraries that are 
the biggest pain point.  Same thing as with Python really.


So I wonder if we could figure out a way to host build 
configuration and build itself for the C libraries underlying dub 
bindings and wrappers.  It's really a Windows-specific problem, 
because even today there doesn't seem to be a great answer.  I 
played with chocolatey a bit, but it doesn't always seem to be 
that helpful in practice.




Re: D needs to get its shit together!

2017-06-18 Thread Laeeth Isharc via Digitalmars-d

On Friday, 16 June 2017 at 15:54:36 UTC, Joakim wrote:

On Friday, 16 June 2017 at 15:47:15 UTC, Russel Winder wrote:
If it is true that there is increased traction for D, then 
getting some resource into the front of house stuff will be 
critical to that traction fading and disappearing.


Yes, daily downloads of dmd are up 25-30% this year:

http://erdani.com/d/downloads.daily.png


"
But when will D take off.
There are no jobs in D.
D hasn't taken off yet so it won't
etc etc.
"


Re: D needs to get its shit together!

2017-06-18 Thread Laeeth Isharc via Digitalmars-d

On Friday, 16 June 2017 at 11:50:20 UTC, Wulfklaue wrote:
Maybe that is the same reason why D has a issue drawing in new 
non-C/C++ developers?


What's your evidence for this?  I'm curious.  Not that the 
composition of new adopters matters particularly - it's just 
interesting to know.


Well, i do not have the time. Want me to donate? Does that 
solve the issue. No ... because there is no clear 
infrastructure in place to actually hire people to work on the 
language and the environment.


If you're serious, put up some money and maybe I can match it 
(and there is a decent chance one or two other larger commercial 
users might contribute also).  One doesn't need much 
infrastructure to organise things, BTW.  I have a private gitlab 
instance and a way to pay people and we're already trying to make 
the ecosystem a better in modest ways - for example we have 
already contributed back our internal changes on our own fork to 
dub.





Re: D needs to get its shit together!

2017-06-18 Thread Seb via Digitalmars-d

On Sunday, 18 June 2017 at 21:53:35 UTC, Laeeth Isharc wrote:
Wrt Anaconda for D - it's the native code (C) libraries that 
are the biggest pain point.  Same thing as with Python really.


So I wonder if we could figure out a way to host build 
configuration and build itself for the C libraries underlying 
dub bindings and wrappers.


Sometimes it can be a problem on Linux / OS X as well, especially 
if one wants to link to little known C/C++ libraries, e.g. 
libnoise for the DREPL.

There is a DEP about it:

https://github.com/dlang/dub/wiki/DEP5


Re: D needs to get its shit together!

2017-06-19 Thread jmh530 via Digitalmars-d

On Sunday, 18 June 2017 at 21:02:40 UTC, Laeeth Isharc wrote:


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.


I think there is scope for a D version of something like anaconda 
for python. The easier it is to get users up and running, the 
better.


Re: D needs to get its shit together!

2017-06-19 Thread jmh530 via Digitalmars-d

On Sunday, 18 June 2017 at 21:53:35 UTC, Laeeth Isharc wrote:


What's missing from Lubeck that you would like to see?



I don't have an issue with missing functions at this point.

I just hope that we can get some operator overloading so that I 
don't have to write mtimes all over the place. My ideal would be 
a DIP that adds the option to overload opBinary for \, .+, .-, 
.*, ./. Lubeck could use \ for inverse, .+ etc. for element-wise 
matrix operations, and * for mtimes, etc. Very Matlab-like.


Wrt Anaconda for D - it's the native code (C) libraries that 
are the biggest pain point.  Same thing as with Python really.




Wrt to my post above, I had forgotten that I made the point about 
anaconda already. Long weekend away.


So I wonder if we could figure out a way to host build 
configuration and build itself for the C libraries underlying 
dub bindings and wrappers.  It's really a Windows-specific 
problem, because even today there doesn't seem to be a great 
answer.  I played with chocolatey a bit, but it doesn't always 
seem to be that helpful in practice.


Sounds like something to think about.



Re: D needs to get its shit together!

2017-06-19 Thread Russel Winder via Digitalmars-d
On Mon, 2017-06-19 at 12:36 +, jmh530 via Digitalmars-d wrote:
> […]
> 
> I think there is scope for a D version of something like anaconda 
> for python. The easier it is to get users up and running, the 
> better.

I'd say the Dub repository is this, or at least should be at least the basis
for it. Ceylon has Herd, JVM languages otherwise has Maven Central and
JCenter, C++ now has Conan. However, I think Cargo for Rust is current the
technology leader in mixing a curated central repository. Dub could usefully
be split into two a curated part where stuff gets removed as well as added,
with review and possible rejection before adding, and a free for all section
from which is never lost and can be added to freely. Cargo and Ceylon
effectively have this. The trick is not to actually have a free for all
added bit (a la PyPI) but to allow for DVCS accessed packages.

-- 
Russel.
=
Dr Russel Winder t:+44 20 7585 2200   voip:sip:
russel.win...@ekiga.net
41 Buckmaster Road   m:+44 7770 465 077   xmpp:rus...@winder.org.uk
London SW11 1EN, UK  w: www.russel.org.uk skype:russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D needs to get its shit together!

2017-06-19 Thread Martin Tschierschke via Digitalmars-d

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


+1


Re: D needs to get its shit together!

2017-06-19 Thread jmh530 via Digitalmars-d

On Monday, 19 June 2017 at 13:36:01 UTC, Russel Winder wrote:


I'd say the Dub repository is this, or at least should be at 
least the basis for it. Ceylon has Herd, JVM languages 
otherwise has Maven Central and JCenter, C++ now has Conan. 
However, I think Cargo for Rust is current the technology 
leader in mixing a curated central repository. Dub could 
usefully be split into two a curated part where stuff gets 
removed as well as added, with review and possible rejection 
before adding, and a free for all section from which is never 
lost and can be added to freely. Cargo and Ceylon effectively 
have this. The trick is not to actually have a free for all 
added bit (a la PyPI) but to allow for DVCS accessed packages.


dub is more like conda, Anaconda's package manager.

What I mean is one thing that someone can download and install 
one file and everything just works. For instance, one download 
and a (Windows) user has DMD/LDC/DUB, DlangScience/Mir/Lubeck, 
and some of the database and plotting libraries installed. 
Basically, reduce the amount of time for a Python/R/Matlab user 
to get up and running on D. Would help get new users.


Re: D needs to get its shit together!

2017-06-20 Thread Russel Winder via Digitalmars-d
On Mon, 2017-06-19 at 14:43 +, jmh530 via Digitalmars-d wrote:
> 
[…]
> dub is more like conda, Anaconda's package manager.

Good point. Also I should separate dub the executable from Dub the
repository of stuff more carefully.

> What I mean is one thing that someone can download and install 
> one file and everything just works. For instance, one download 
> and a (Windows) user has DMD/LDC/DUB, DlangScience/Mir/Lubeck, 
> and some of the database and plotting libraries installed. 
> Basically, reduce the amount of time for a Python/R/Matlab user 
> to get up and running on D. Would help get new users.

Continuum Analytics do a great job with Anaconda/Miniconda but they have an
income stream against which they can post the costs of the people and
equipment to keep it working and up to date. Dub, both executable and
repository, seem to have a little volunteer labour, and hence maintenance is
not reliable, in the sense of there is no guarantee effort can be put into
it.

But yes, I'd say putting effort into something like Anaconda/Miniconda for D
and it's packages would be a good idea.

I am guessing extending dub so that when it downloads and builds
executables, it can also install them in a platform specific way. For the
package managed platforms by building a local package and installing it?

I am guessing the next step would be packaging dmd, rdmd, ldc2, and gdc?


-- 
Russel.
=
Dr Russel Winder t:+44 20 7585 2200   voip:sip:
russel.win...@ekiga.net
41 Buckmaster Road   m:+44 7770 465 077   xmpp:rus...@winder.org.uk
London SW11 1EN, UK  w: www.russel.org.uk skype:russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D needs to get its shit together!

2017-06-21 Thread data pulverizer via Digitalmars-d

On Monday, 19 June 2017 at 12:46:19 UTC, jmh530 wrote:
I just hope that we can get some operator overloading so that I 
don't have to write mtimes all over the place. My ideal would 
be a DIP that adds the option to overload opBinary for \, .+, 
.-, .*, ./. Lubeck could use \ for inverse, .+ etc. for 
element-wise matrix operations, and * for mtimes, etc. Very 
Matlab-like.


I'd like to second more flexibility around unary and binary 
operators, perhaps we can have another keyword for instance 
"record" that is essentially a D struct but allows the user to 
specify their own operators - it could be included unofficially 
at first without impacting the rest of the D language with the 
stipulation that it is not used in D's core libraries or in 
anything important. This functionality would allow notation 
native to different fields in analysis to be used.





Re: D needs to get its shit together!

2017-06-21 Thread jmh530 via Digitalmars-d

On Wednesday, 21 June 2017 at 18:35:33 UTC, data pulverizer wrote:

On Monday, 19 June 2017 at 12:46:19 UTC, jmh530 wrote:
I just hope that we can get some operator overloading so that 
I don't have to write mtimes all over the place. My ideal 
would be a DIP that adds the option to overload opBinary for 
\, .+, .-, .*, ./. Lubeck could use \ for inverse, .+ etc. for 
element-wise matrix operations, and * for mtimes, etc. Very 
Matlab-like.


I double-checked and noticed that Matlab doesn't actually have 
.+/.-, just +/-. Since D's a[] + b[] doesn't seem all that 
different from Matlab's a + b, with the restriction that there 
needs to be destination memory, it seems like it would be a 
confusing to add in another way of doing things. So maybe just 
add \ and another operator for matrix multiplication. I don't 
really know.




I'd like to second more flexibility around unary and binary 
operators, perhaps we can have another keyword for instance 
"record" that is essentially a D struct but allows the user to 
specify their own operators - it could be included unofficially 
at first without impacting the rest of the D language with the 
stipulation that it is not used in D's core libraries or in 
anything important. This functionality would allow notation 
native to different fields in analysis to be used.


An interesting idea, but I don't know if they would go to for it.

If you want more operator overloading on a class, you could put 
the class as a member of the "record" and alias this it?