October 17, 2019
On Thursday, 17 October 2019 at 10:48:57 UTC, Ola Fosheim Grøstad wrote:
> Having one hands-down-solid framework might matter more than mirroring other platforms.

And that seems to be the only requirement for gaining traction actually, if we look at other languages.


HAS CORPORATE BACKING?

Despite people claiming otherwise, corporate backing itself means nothing.

Case in point: Dart.

Dart was created by Google, used internally, endorsed by Google and the committed to maintaining it.
Yet it was not adopted outside Google.

They added Angular support for Dart.
Made little difference, most people would rather go for TypeScript. Dart may have been better for Angular development, but not superior to TypeScript.

Then some people inside Google started building Flutter, which enable cross platform development with hot reload, for which there are few alternatives. And now Dart is getting traction.


DOES NOT HAVE COPORATE BACKING?

Python, Php and many other languages have found large niches without being propelled by any corporate entity.


LANGUAGE FEATURES?

Insufficient.

Case in point: Perl 6

Lots of features, many interesting, but adoption doesn't even register in comparison with the alternatives.


GOOD LANGUAGE SEMANTICS?

Mostly irrelvant.

Case in point: Php

Integration with webservers and HTML was more important, and for many people Php is still the best option for setting up a blog or forum.


LACK OF RESOURCES?

Nah, many (or most) languages have started out with 1-3 people as a side project and grown slowly over time.  Start out by having a limited scope, and only extend the scope as you get more people on board...

October 17, 2019
On Wednesday, 16 October 2019 at 18:34:01 UTC, Rumbu wrote:
> On Wednesday, 16 October 2019 at 17:40:42 UTC, Atila Neves wrote:
>> On Wednesday, 16 October 2019 at 16:42:28 UTC, Rumbu wrote:
>>> On Tuesday, 15 October 2019 at 13:09:15 UTC, Mike Parker wrote:
>>>> [...]
>>>
>>> I will put this here: https://rawgit.com/wilzbach/state-of-d/master/report.html
>>>
>>> [...]
>>
>> Which parts of that survey would you like the vision to include?
>
> I already said that I don't endorse the list entirely, so my personal opinion is irrelevant, lost somewhere between the responses on the survey.
>
> But if you insist, I am personally disappointed about dub, phobos organization and function names, missing features, IDE integration, range syntax, OOP considered as a second-hand citizen.

IDE integration seems to be a common refrain. I'm trying to understand what it is people need here by asking questions.

What is it about OOP in D that you find lacking?

Could you please expand on what you mean about "range syntax"?


October 17, 2019
On Wednesday, 16 October 2019 at 19:28:35 UTC, H. S. Teoh wrote:
> On Wed, Oct 16, 2019 at 05:52:33PM +0000, Paul Backus via Digitalmars-d wrote:
>> On Wednesday, 16 October 2019 at 17:40:42 UTC, Atila Neves wrote:
>> > On Wednesday, 16 October 2019 at 16:42:28 UTC, Rumbu wrote:
> [...]
>> > > https://rawgit.com/wilzbach/state-of-d/master/report.html
> [...]
>> > Which parts of that survey would you like the vision to include?
>> 
>> Given that the community has already spoken, I think the onus is on the language maintainers at this point to take the results into account (or not).
> [...]
>
> Yes, yes, and yes!  The language maintainers need to take this survey into consideration, especially considering it represents a significant number of D users (about 500+, give or take depending on the question).
>
> It's OK if the language maintainers don't agree with certain points on the survey, but please, pretty please, *make your stance clear*. Please don't keep silence and leave us guessing.
>  That's *very* detrimental to morale, and given the current state of D, we need as much morale as we can muster.

I wasn't in my current role when that survey was taken. To be honest, I'd forgotten it'd happened (even though I participated!) and can't even remember if it was one or two years ago.

I'm happy it was brought up again, and even though there's no way of telling what the results would be now other than doing another survey, I'll make a point of taking a look at it going forward.

String interpolation was very popular at that survey and that's happening.

October 17, 2019
On Wednesday, 16 October 2019 at 17:07:27 UTC, Gregor Mückl wrote:
> On Wednesday, 16 October 2019 at 00:33:20 UTC, neikeq wrote:
>> Regarding interop with C++, what are your thoughts on tools like Calypso? It supports most C++ features, including advanced stuff like template instantiation, and it seems to be under active development: https://github.com/Syniurge/Calypso
>
> What is the state of Calypso? The last release was in 2014. This is also the latest tag that was created. Development on master stopped in 2018. The most recent commits were on branch. I would have missed that from a cursory look at the commit history (you have to switch branches to notice!). I don't know when it was last sync'ed with LDC. If I wanted to use it, how would I even go about that? How do I get a version that is compatible with recent versions of D and works / is supported?
>
> My point is: the publicly visible state of the project isn't very encouraging for potential users.

The last line of work appears to be in the clang-9 branch: https://github.com/Syniurge/Calypso/commits/clang-9

W.r.t to C++ interop there are 5 areas of development:
1. During the past 3 years there have been a ton of fixes to extern (C++) (and to a lesser extent extern (C), which was already close to rock-solid) and nowadays it should be pretty usable (namespaces, classes and templates work in many cases). You can directly call much of D from C++ and vice versa. Obviously there are many D and C++ specific language features that are not yet/can't be supported, but we're pretty further along than what we had a couple of years ago. Having all 3 major compilers (first DMD, then LDC and now GDC) be written half in D and half in C++ is a testament to that. (Actually now DMD is D-only now, but it was in C++ + D mode for enough time to force many of the developers at the time to at least make the subset of extern (C++) that it used fully working.)

2. During the past year some parts of STL had bindings written to them and tested for Linux, Mac and Windows (which is surprisingly difficult, due to difference in C++ compilers and STL implementations): https://github.com/dlang/druntime/tree/master/src/core/stdcpp

3. Having tools like dstep and dpp support C++. As far as I know both tools support only C header files, but at least for dpp, Atila has listed C++ as a major planned feature. Work in area 1. makes 3. now possible. The work of one of GSOC students made a huge impact for dstep, so it's likely that a similar tactic for dpp would also help.

4. Automatic C/C++ header generation for D code. There has been solid progress, but we're probably a couple of months before having the work finally merged upstream.

5. Making import C++ automagically work has been the holy grail for many. The author of Calypso has had the unfortunate task of having to single-handedly work on not only implementation, but also solving many language-level challenges like template instantiation, overloading and many more. Adding insult to injury, the most efficient way to interface with libClang is with C++ and for they don't guarantee a stable API, and even break it very often, and D's frontend is likely worse then that (at minimum it switched from being C++ only, to D only during the time Calypso was developed.).
I think the best way forward is to get it merged in LDC as soon as possible - that way at least the burden of supporting new D frontend and LLVM/clang backend versions could be shared by other contributors.
October 17, 2019
On Thursday, 17 October 2019 at 12:51:17 UTC, Atila Neves wrote:

> IDE integration seems to be a common refrain. I'm trying to understand what it is people need here by asking questions.

I had promised Andrei about six months ago that I would lead an effort to formalize and make decisions about what needs to be done to make Dub a first-class tool. The plan was to allow anyone to file an issue in a Git repo. All of that information would then be turned into something resembling a DIP.

Personal issues have to this point derailed that plan, but maybe that is a better way to proceed versus vague discussions on a mailing list that will soon be out of sight and out of mind. There is not much useful information (particularly in terms of concrete suggestions for how to proceed) in mailing list discussions.
October 17, 2019
On Thursday, 17 October 2019 at 08:20:02 UTC, Chris wrote:
> <...>there have been changes in the leadership, and Átila seems to have an open mind as regards tooling
From https://news.ycombinator.com/item?id=21257943
	
WalterBright 1 day ago [-]
> I think every programmer language designer underestimates the importance of good IDE support.
Oh, we're well aware of it. It's just that the language design part consumes all our time.

So as you can see previous leadership also valued tooling but nothing was done because lack of available resources. The only thing that might change is the amount of people asking for certain tool and more money available to D language foundation than in the past. Changing people in charge wont change anything when people in charge are not the ones why things are not happening.

> His vision is ambitious
What? Apart from making D the default implementation language all other are what Atila could do alone in a year. Its not ambitious at all.


> Yeah, no. It's the few critics who are to blame, it's not the multiple flaws of D that prevent mass-adoption of D

Deflection. Classic. I talked about that there is significant increase in negativity that new people coming here start to complain about and you responded to what is preventing mass adoption. If you are quoting then respond to actual point or not at all.


> But then again, how do you explain this post by a long standing and well respected member of the community?
>
> https://forum.dlang.org/post/mailman.538.1571254122.8294.digitalmars-d@puremagic.com
>
What is here to explain? He is complaining about lack of communication. What do you want me to explain?


October 17, 2019
On Thursday, 17 October 2019 at 08:26:50 UTC, Russel Winder wrote:
> On Wed, 2019-10-16 at 14:53 +0000, Atila Neves via Digitalmars-d wrote: […]
>> 
>> This is another thing I read a lot that I'm not sure what it means. I'm aware of dub's faults, but if we eliminated them, what would make cargo better? I've used cargo and still don't know. Could you please elaborate on what you like about cargo that you'd like to see in dub?
>
> Go and Rust emphasised using Git, Mercurial, and Breezy repositories as packages from the outset.

<snip>

As far as I can understand then, in your opinion cargo is better than dub because:

* It can use direct links to git repositories instead of mandating the owners of those repositories explicitly register them (that's all code.dlang.org does, associate an email address and package name with, more often than not, a git repo on github).
* TOML vs SDL or JSON
* The community rallies behind it
* Details of where compilation artifacts are on the filesystem

Is that an accurate summary?

October 17, 2019
On Thursday, 17 October 2019 at 09:13:17 UTC, Ola Fosheim Grøstad wrote:

> Get real. Most programmers never read forums.
When I was in university I was invited to student organization. Because they had event recently they had beer kegs that need to be emptied before returning to company. So in the first meeting that I joined we drunk beer and it was free for me. Needles to say after such experiance me and a friend of mine joined that student organization. While in that organization I learned how important is motivation in organizations. Even if you pay your workers its still very important to keep them motivated and in volunteer based ones its the only thing you have. Because its so important we even traveled to other country for courses on motivation. I still remember some of it. You would say something like participating in student organisation you will acquire useful skills for future jobs and that you can put this on CV. I am saying all of this is because you completely missed the point I was raising. Its important how new people coming to this community are being welcomed/treated and their experiences. The story about student organization would have been different if there were no free beer and it was awful experience.

> But yeah, going ad hominem (like you just did)
To describe something as ad hominem you need two things:
1. There needs to be a response to a point opponent made. So a debate.
2. Its needs to be personal insult.
My post contained neither of them.

> I've in the past, time and time again, seen very knowledgable people who obviously have a background in CS go silent after being hit over the head with a stick.
Yes thats why I raised that issue. Some people have higher tolerance to negative emotion and some dont. The same situation can be ok or intolerable to different people so its better to be on safe side and not creating negative emotions for no good reason.

> What has been marketed as D's front-and-center has changed over time and therefore people come to it with very different expectations. Which makes things more contentious.

I would argue that there were no marketing.

> Many discussions seem to struggle with this. Is D an alternative to C++ or is it in alternative to Python?
>
> It cannot be both, yet it is, and is not, so that is basically an inherent struggle that cannot be resolved.
>
> Thus this social dynamic will linger on...
I have noticed this thing too. There are ideas that are widespread and they hurt D's adoption. There is idea that there needs to be different tool for the job or false dichotomy of low level and high level languages. Do I need to mention GC?

October 17, 2019
On Wednesday, 16 October 2019 at 19:28:35 UTC, H. S. Teoh wrote:
> On Wed, Oct 16, 2019 at 05:52:33PM +0000, Paul Backus via Digitalmars-d wrote:
>> On Wednesday, 16 October 2019 at 17:40:42 UTC, Atila Neves wrote:
>> > On Wednesday, 16 October 2019 at 16:42:28 UTC, Rumbu wrote:
> [...]
>> > > https://rawgit.com/wilzbach/state-of-d/master/report.html
> [...]
[...]
>
> Yes, yes, and yes!  The language maintainers need to take this survey into consideration, especially considering it represents a significant number of D users (about 500+, give or take depending on the question).
>
> It's OK if the language maintainers don't agree with certain points on the survey, but please,[...] Please don't keep silence and leave us guessing.

YES!

mt.

October 17, 2019
On Thursday, 17 October 2019 at 14:19:21 UTC, welkam wrote:
> Its important how new people coming to this community are being welcomed/treated and their experiences.

That is exactly right. People look to forums when then wonder where things are going. So when people complain about the issues they are facing they should be met with understanding and the problems should be acknowledged. In the past that was not really the norm, in fact it was quite the opposite, what they complained about was outright dismissed and their opinions invalidated and ridiculed.

I haven't seen Chris doing any of that in this thread. Doesn't he acknowledge issues people feel strongly about?

If people look at a forum and see issues and opinions they share dismissed, then they will most likely loose hope of improvement and leave. If they see that others share their concerns then they gain hope that something can be done. If something is in the pipeline, even better!

For instance I lurked for a long time and the only reason I started writing in this forums because I felt that Manu was being dismissed while his arguments for where D should head were spot on. Only recently has D moved in this direction and I have to applaud his persistent stance on pushing D in that direction. I doubt that would have happend if he was alone... so for something to move you need many different voices pushing for that change. Then eventually, over time the arguments are picked up by those that resist change.

That said, I often look at github to see what a new tool/language turns out to be in practice. And quite frankly if you look at well-written fully typed generic D code on github, that code is... hard on the eyes.  That really matters. People should complain about it, because it actually matters. It isn't just syntax, this is how the language presents itself to the world.

> 2. Its needs to be personal insult.
> My post contained neither of them.

"against the person". Anyway, Chris can handle it... but going personal does not build a good culture and does not encourage lurkers to participate.


> Yes thats why I raised that issue. Some people have higher tolerance to negative emotion and some dont.

Well, but there is company in misery, so actually I'd say the opposite. People might stay and deicide to advocate for change if they perceive that other have had the same problems as they have. If people want something to move then they have to build some kind of alliance or exert some force or educate others. That  sometimes invoke emotions, but it does not have to be personal. With no emotions you will probably not get more than tiny modifications of status quo.


> I would argue that there were no marketing.

Oh, D1 was marketed quite heavily as an improvement on C++, hit Slashdot as a news story when Slashdot was big.


> I have noticed this thing too. There are ideas that are widespread and they hurt D's adoption. There is idea that there needs to be different tool for the job or false dichotomy of low level and high level languages. Do I need to mention GC?

But the dichotomy isn't false... and heavily relying on the GC has probably held D back from taking the position Rust is getting now...

Both Rust and the C++ committee are addressing user concerns at a fast pace now. So it isn't realistic to think that D can keep up with those at this point in time.

So at this point D can only try to figure out where it fits in, rather than taking over the space of other languages. The time window for "taking over" ended a few years ago. I think.