January 30, 2018
On Tuesday, 30 January 2018 at 07:38:05 UTC, Ola Fosheim Grøstad wrote:
> On Monday, 29 January 2018 at 05:21:14 UTC, jmh530 wrote:
>> I don't deny that there are limitations to the data. At best, it would be telling you the transition of github users over a specific period.
>
> Sure, but I don't think there are enough D github-repositories to get decent quantitative analysis... Maybe a qualitative analysis.

Small sample size problem makes me think of Bayesian analysis...though I suppose there's a bigger problem if D doesn't have enough github repositories.
January 30, 2018
On Tuesday, 30 January 2018 at 09:20:37 UTC, aberba wrote:
> On Sunday, 28 January 2018 at 18:54:34 UTC, Laeeth Isharc wrote:
>> On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
>
> Enterprises care about making money with whatever will help them do that (impress investors). Its developers who care about languages that help them write code that suites their requirements. The focus should be on developers not companies. People using D cannot be represented by Microsoft,
>  Sociomantic,  Weka,  etc. employees. Its of no use chasing after companies... make it useful and everyone else will come.
>
>> If you want to draw people to the language (and, honestly, I wonder why it matters so much to many here
>
> Its a simple math well understood since long ago.  The larger the army/workforce the better. Things get done. Walter always say here "Its left with someone to do the work". There other stuff he doesn't address including those outside language internals.
>
>>- it's clearly
>> taking hold, has momentum and will continue to grow for decades; an acorn will become an oak tree, and fretting about how much it's grown in the past year might be missing the point, so long as it's healthy enough), why not just focus on both improving the language itself (pull requests, documentation)
>
> Someone needs to do that and we're short of people willing,  have the time and able to do that.
>
> Either someone is paid to care enough to do that (Like Google do with Go, Oracle with Java,  Jetbrains with Kotlin,  etc.) OR grow a community/workforce to collectively make that happen.
>
>> and on accomplishing something useful and worth doing with it?
>
> There's also a possibility the acorn will loose interest and momentum and... die. Your opinion on what is worth doing is based on your domain or interest.

I get the impression that a wave is coming (or is already here) where people more and more are looking for modern natively-compiled statically-typed languages --- leaving Python/Perl/Ruby/PHP/JS --- not only for performance, but for easier development for larger projects.

The languages I see benefiting primarily from this wave are D, Rust, Go, and Kotlin/Native.

Of those, my impression is that Rust and Kotlin are perceived as the most modern. Go and Rust have some hype, but Go's hype seems to have already peaked. D appears well-positioned (good community, high-level with GC, has dub and <code.dlang.org>, docs and books are available).

If there are areas of D that need to be modernized, streamlined, or simplified, but which will break backcompat, now may be a excellent time to consider beginning those changes/deprecations.

January 30, 2018
On Tuesday, 30 January 2018 at 12:35:21 UTC, jmh530 wrote:
>> Sure, but I don't think there are enough D github-repositories to get decent quantitative analysis... Maybe a qualitative analysis.
>
> Small sample size problem makes me think of Bayesian analysis...though I suppose there's a bigger problem if D doesn't have enough github repositories.

Yes, I think you need quite a lot of users to get enough github repositories. Not sure what the percentage would be, maybe 1 out 50 users or less are active on github?

Of course, the Rust analysis might be a bit off too, because it is common for enthusiasts to try out and leave young languages. There might be a significant difference between hobby and professional users too.

Anyway, I think the "pagerank" transition analysis is interesting. It provides some insights into dynamics, and also which transitions don't happen give us something to think about.



January 30, 2018
On Monday, 29 January 2018 at 10:12:04 UTC, Russel Winder wrote:
> On Mon, 2018-01-29 at 03:22 +0000, Ola Fosheim Grøstad via Digitalmars-
> d wrote:
> […]
>> I guess some go to Rust after working with Go, but the transition matrix linked above suggests that the trend has been that people give up on Rust and try out Go then Python... Of course, with so little data things are uncertain and can change.
>
> I think this is an important point. There was some interesting data found, some hypotheses possible, but without further experimentation and/or formal use of Grounded Theory exploration, all commentary is speculation and opinion.

Grounded Theory cannot be used for trend analysis though. Certainly you could use quantitative data for sampling some users (using some kind of stratification) and interview them and then use GT to try to capture themes in the psychology of people who move from one language to another. So yes, more interesting, but you wouldn't learn more about the actual trend.

It is like the difference between knowing why waves build up in the ocean (qualitative) and knowing how many large waves we have and where they tend to occur (quantitative). Both are interesting.


January 30, 2018
On Tuesday, 30 January 2018 at 09:20:37 UTC, aberba wrote:
> On Sunday, 28 January 2018 at 18:54:34 UTC, Laeeth Isharc wrote:
>> On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
>>> I do worry that, having been using D for about 3 1/2 years now, that the perceptions of D outside of this community don't seem to be changing much. It does seem to make a huge difference to have a big company behind a language, purely for the "free advertisement". Most people at my university, outside of the computer science department, that are using languages like Python and R and MATLAB the most, are very aware of Rust and Go, but not D. I wonder if we do need to pay more attention to attracting new users just to get people talking about it.
>>
>> That's what you would expect, because D is a very ambitious language, which means its natural user base is much more spread out and less highly concentrated.  And beyond that, most code is enterprise code that's closed source, and whilst the web guys talk a lot and influence the culture, enterprise guys talk much less and just do their thing quietly.  Even in our world, how often do you see the people using D get involved in forum discussions?  Sociomantic, Weka, Ebay, and so on.  (Or Microsoft - did you know that D was used in their COM team?  They didn't exactly send out a press release...)  A little bit, but only a little in relation to their use of the language.  If you're trying to accomplish something in a representative enterprise context with lean resources, you don't have much time to talk about what you are doing.
> That's one big potential mistake. Enterprises care about making money with whatever will help them do that (impress investors). Its developers who care about languages that help them write code that suites their requirements. The focus should be on developers not companies. People using D cannot be represented by Microsoft,
>  Sociomantic,  Weka,  etc. employees. Its of no use chasing after companies... make it useful and everyone else will come.

Who said anything about chasing after companies? There's not much chasing after anyone, companies or developers.  One reason the quality of people here is so high.  We have a filter that fortuitously selects for people with good taste and who don't care about superficial things as much.  Learning costs and discomfort are amortised, and from an expected value perspective are trivial from a long run perspective.  And I suggest it's almost a negative cost because one is forced to learn things that are good to learn.  I speak very personally when I say this, because the value to me of what I have learnt is beyond calculation, and let's say that it is a very big number by the standards of the industry.

And I don't accept the distinction between developers and companies particularly for small and medium sized companies.  Liran at Weka, I'd call him a pretty serious developer, no? But he is also a co-founder and leader of his company.  The Sociomantic guys - that goes without saying.  Bastiaan same story.  I don't know what role the technical leadership of Funkwerk play in running the company, but that was I think a decision adopted at a senior level - they have been using D for a decade and their product is everywhere.  The train you took doesn't say timetable powered by D, but maybe in some years it will, haha.  An interesting looking stock chart by the way.  EMSI - founder developers adopted D.  Personally I'm in charge of tech for a 95 person company and involved in other areas of management beyond tech and I'm also a developer.

Every language is based on different principles.  The way D will be adopted is via people who are principals giving it a try because it solves their problems.  There is no point trying to spend much time appealing to those in management who can't make decisions themselves and need to consider social factors because we have a much better product than we do marketing.  That's okay, the social appeal will come later and in truth when it does it will be a mixed blessing because the quality of the community will change.

>> If you want to draw people to the language (and, honestly, I wonder why it matters so much to many here
> Its a simple math well understood since long ago.  The larger the army/workforce the better. Things get done. Walter always say here "Its left with someone to do the work". There other stuff he doesn't address including those outside language internals.

Sure, but you are I think mistaking ends for means.  Things develop at their own pace and I don't think can be forced.  I've noticed that changes tend to happen when they are good and ready and not when we wish they would.  So in that context it makes sense to focus on what you can control and influence and not on what one wishes might be the case.  If wishes were horses beggars would ride.  But they don't...

So that doesn't mean that one shouldn't work on guerilla marketing if that's what one wishes to do.  But expecting Walter or Andrei to come up with a grand plan when there isn't the basis for it yet doesn't advance things much.

What one can do is take action, and the smallest actions can have very powerful effects because they inspire others.

Seb Wilzbach has been a master of this.  Taking just one small example : nobody told him to do anything.  But he thought D should have runnable examples.  He wrote code to transform unit tests into examples and made them runnable.  (Maybe others were involved, I didn't follow).  And I think that small action has had more impact on the prospects for D than all the talk without action that others have spent time on since he became involved in the community.
>
>>- it's clearly
>> taking hold, has momentum and will continue to grow for decades; an acorn will become an oak tree, and fretting about how much it's grown in the past year might be missing the point, so long as it's healthy enough), why not just focus on both improving the language itself (pull requests, documentation)
> Someone needs to do that and we're short of people willing,  have the time and able to do that.

Human creativity is unlimited.  We will always be short of resources. However scarcity is also the mother of invention.  The time spent wishing for improvements could also be spent reviewing or writing pull requests blog posts, documentation improvements etc.  (I know you have written some blog posts).

> Either someone is paid to care enough to do that (Like Google do with Go, Oracle with Java,  Jetbrains with Kotlin,  etc.) OR grow a community/workforce to collectively make that happen.

Compare the documentation today with early 2014.  And the books available.  It's massively improved and in outright terms not bad.

What I'm suggesting is that things will continue to get better with the passage of time.  Also because external conditions keep moving in directions favourable to D.  The calculus of the pace of data set sizes to cpu and especially RAM performance is inexorable.  And BTW Spectre and Meltdown, they aren't at the margin going to get CPU manufacturers to say you know we really need to accelerate performance from here - on the contrary, there might need to be a change in focus, and everything is a tradeoff.

When conditions shift the people that adopt strategies adapted to new conditions mysteriously seem to start doing well.  And people copy what's working.  So another factor is that people who start using D, it often seems to be quite good for their careers.  From the people I have known anyway over the course of a few years.

>> and on accomplishing something useful and worth doing with it?
> There's also a possibility the acorn will loose interest and momentum and... die. Your opinion on what is worth doing is based on your domain or interest.

Life is risk, and anything is possible.  Maybe we shall be obliterated by a stray asteroid.  Both scenarios are possible, but I don't think so.  Things are growing, and external conditions are favourable. What I do involves recognising patterns in social things (like language communities), and I've seen this before.  D is going to keep growing, and to my eyes is already flourishing. Expect plenty of setbacks along the way, for that is life, but it's the setbacks that build strength.


>> Of course there are the usual trolls who don't seem to write much D, but seem to be drawn like vampires to the energy of those who do.  Sad.
>
> Someone who doesn't write D or have no stake in it's well-being will not waste a second in this forum.

People are strange creatures,some more than others.
>
>> don't seem
> You don't know for sure. Remember we don't all use D the same way.
>
>>
>>
>>
>>
>> On Sunday, 28 January 2018 at 17:23:12 UTC, Paulo Pinto wrote:
>>> This has been mentioned multiple times, D really needs some kind of killer application.
>>
>> Why?
>>
>> It's a generalist language for getting stuff done in an age where people have succumbed so much to Stockholm Syndrome that they think it's a positive thing in a language that you can only use it to do something special.  Yet trends in performance and performance demands point to the rising importance of efficiency (and I suspect there will be a return to the recognition of the importance of being a generalist - in programming, as in other fields).  There was a tweet by the author of Musl libc observing that software today runs slower than software twenty years ago, and linking the bloat to the insane pressure to maximise CPU performance over all else.  The era of that kind of ruthless optimization is over because it's not the only thing that matters, and we start to see the price of it.  And generalism - in a dynamic business environment, there's considerable value to have capabilities that aren't adapted to particular narrow skills when what you need is always changing and may be unknown even to you.
>>
>> My generation was privileged because very quickly if you wanted to get anything interesting done you had to learn assembly language (maybe write your own assembler or disassembler), had to learn a bit about hardware, and could never pretend the CPU was this perfect platonic abstraction.  And for a while that changed, but I think the past is returning again, as it often does.
>>
>> So I see a value in hiring hacker / generalist types who can figure things out.  For example:
>>
>> https://hackaday.com/2017/01/26/a-personal-fight-against-the-modern-laptop/
>> https://www.youtube.com/watch?v=Fzmm87oVQ6c
>>
>> Back in 2007, most finance types would have said how completely impracticable and unreasonable.  But I say, with GK Chesterton, that "all progress depends on the unreasonable man".  And someone like that doesn't succumb to helplessness once they are outside of their shiny IDE, knows that in the end everything is just code, and you can change it if you want to, and there is strategic value from building organisational capabilities from hiring such people.  Usually I'm a couple of years ahead, and I think others will follow.  If you hold a contrarian point of view, you know you're right when surprises start coming in your direction, and people still can't see it.
>>  And I think that's been the case since 2014.
>>
>> Anyway - so D is a general purpose language, and I think we are likely seeing a nascent return in recognizing the value of generalist tools and people.
>>
>>> On my line of work having Go on the skills list is slowly becoming a requirement, due to Docker and Kubernetes adoption on cloud infrastructures.
>>
>> That's great.  Walter says that good code should look good on the page, and Go code looks nice enough.  It's got nice network and infra libraries, as you say.  But why would the adoption of Go be bad for D?  I think it's great for D because after a period of stagnation it gets people open to newer languages, and on the other hand the gap between the spirit of Go and D isn't that far (GC, clean code, native target) even if they don't have generics.
>>  It's a big world - both D and Go can succeed, and the success of one isn't bought at the cost of the other.
>>
>>> Just wondering if mir or easier GPGPU programming could be that killer application.
>>
>> We sponsor mir algorithm (some of the routines within were developed for us, and we were happy to open source them), and we are rewriting our core analytics - used across the firm in a $4.1bn hedge fund in D from C++ before that.  What alternative really exists for what we are doing there?  And C++ vs D, it's not even a fair fight if you care about productivity, plasticity of the code, and generating wrappers for other languages that you can still understand whilst maintaining decent performance.  At the same time, we're not a D shop - a diversity of languages is not a bad thing, provided you have some way for them to work together.  Code reuse is very difficult, but the UNIX way does work.  On the other hand, if you want to connect components, how are you to do that?  Well, D is pretty nice for writing DSLs that can connect to code written in other languages, and where expressions can be evaluated from other languages.
>>
>> A specialist language adapted to a particular domain or set of domains - yes, that benefits from a killer app.  But for a generalist language that's useful for getting stuff done - why would there be a single killer app?  That doesn't make sense to me.  There should be multiple successes across different domains, and that's what we are beginning to see.  Just bear in mind that the web and tech guys talk a lot, but most programmers don't work in those industries.  It would be a mistake to conflate salience with economic importance, I think.
>>
>>
>> Laeeth.


January 30, 2018
On Tuesday, 30 January 2018 at 19:19:39 UTC, Laeeth Isharc wrote:
> Every language is based on different principles.  The way D will be adopted is via people who are principals giving it a try because it solves their problems.

Not sure what you mean by principles, Algol languages (the class of languages D belongs to) tend be rather similar as far as principles for computation goes.

At the early stage adoption is rarely driven by management. Management tend to go with major players. In order to go with smaller players you need to appeal to engineering-aesthetics, not management constraints.

Both Rust and Go has gotten adoption along the engineering-aesthetics dimension. Very few management related advantages with those languages at the stage where D is at. Docker changed that a bit for Go, but that was after it had a fair following. Anyway, it also confirms the "you need a major application" assumption.

Although Python didn't have a major application when it was adopted. It was just better than Perl,  Php and Bash.

January 30, 2018
On Tuesday, 30 January 2018 at 08:32:41 UTC, aberba wrote:
> On Sunday, 28 January 2018 at 00:47:23 UTC, bachmeier wrote:
>> The community will have to do this.
> They are part of the community. I'm not saying Andrei or Walter should write an http/https2, json,  etc.
>  lib. They need to actively help build and grow the community/workforce that collectively make those things happen. Or pay someone part-time or full time to do that.

But who's going to pay? I don't think anyone would object to paying someone to write libraries - it worked well for languages like Java - but I'm not aware of a pot of money to do that. Also, and I don't mean this in a bad way, I think Walter and Andrei are skilled at tasks other than building a community. Everyone has their own set of interests, and for them, it's not building a community. Just my observation of course.

>> If Walter and Andrei were interested in it, they'd have been working on it long ago. They have way too much to do the way it is,
> They speak for themselves.

Except that their involvement would mean all decisions go through them, and things already move slowly enough on the language/compiler/Phobos that it would be a disaster to add more to their todo lists. Not only would it make it impossible to get anything done on those libraries, it would slow down everything else they're involved with as well.
January 30, 2018
On Tuesday, 30 January 2018 at 20:56:22 UTC, bachmeier wrote:
> On Tuesday, 30 January 2018 at 08:32:41 UTC, aberba wrote:
>> [...]
>
> But who's going to pay? I don't think anyone would object to paying someone to write libraries - it worked well for languages like Java - but I'm not aware of a pot of money to do that. Also, and I don't mean this in a bad way, I think Walter and Andrei are skilled at tasks other than building a community. Everyone has their own set of interests, and for them, it's not building a community. Just my observation of course.
Is the foundation allowed to publicise its financial status as an NGO based on US laws?

>
> [...]

January 31, 2018
On Tuesday, 30 January 2018 at 11:55:42 UTC, rjframe wrote:
> - I click "Browse All Crates"; the default sort is alphabetical - not
>   useful unless I'm just browsing,

Right side:

* Alphabetical
* All-Time Downloads
* Recent Downloads

> even then I'd likely want to browse by category.

https://crates.io/categories

> Each project takes up too much space (it looks like something's
>   missing on each project), but I like the links to the project's
>   homepage/repo/docs being right there in the list.
> - I don't see any sort of categories/tags to organize projects.

https://crates.io/categories

> I guess I
>   have to know what I'm looking for and use the right search term.
> - Overall, I have the impression that it was designed to look good, but
>   less effort has gone into what people will want to do with it in the
>   first place (assuming I can consider myself normal for a moment).
>
> Dub doesn't look so nice, but it's efficient; I could see me searching Cargo for something and not finding it;

True... but both dub and cargo are not exactly the pinnacle in user friendly and informative packages websites.

> I've never thought that about Dub (granted, far fewer packages) or Pypi.

 1,193 packages found
13,605 Crates in stock Side note: End of 2016, this was 1400.

If you consider 12 times "far fewer packages".

The issue is that a lot of D's packages are even less maintained then Rust, mostly because Rust being newer and attracting more active crowds. And it does not help when Dmd having constant deprecating functions and regressions ( what happens WAY too often ) that break packages.

Its a long term weakness. Depending on 3th party packages is always dangerous but even more so when the compiler forces people to use older versions, just to stay safe.
January 31, 2018
On Tue, 30 Jan 2018 20:59:16 +0000, aberba wrote:

> Is the foundation allowed to publicise its financial status as an NGO based on US laws?


It's required to file with the IRS, and those filings are public.

The 2016 990-EZ filing: http://990s.foundationcenter.org/990_pdf_archive/475/475352856/475352856_201612_990EZ.pdf