Re: How programmers transition between languages

2018-02-02 Thread Atila Neves via Digitalmars-d

On Friday, 2 February 2018 at 14:04:09 UTC, Russel Winder wrote:
On Fri, 2018-02-02 at 10:03 +, Atila Neves via 
Digitalmars-d wrote:



[…]
Whether it's .a or .so depends on the dependent package being 
`staticLibrary` or `dynamicLibrary`. It's possible for a 
package to be both if it has a configuration for each.


I think that is one of my points, the package source downloaded 
from the Dub repository should not be determining whether a .a 
or ,so is produced, it should be determined by the receiver of 
the downloaded package.


Personally I don't even see the point - just link all the .o 
files. In a traditional build system static libraries might be 
useful to specify that multiple targets link to this 
particular binary blob. With dub there's only ever one binary 
anyway.


But a static library is just a collection of .o files so I 
think it fits with "link all the .o together".


Not quite. There's an extra step and when linking with a static 
library unused symbols are thrown away by default. That hid a dmd 
bug in 2.078.0 that only manifests when linking with the object 
files themselves.




It is clear that there is a move in the Go, Rust, D communities 
to rejecting the concept of shared library, and that 100MB 
executables are acceptable.


On a desktop, 100MB executables are, at least to me. Shared 
libraries aren't going to magically make 100MB executables 
disappear, it depends on how much code is actually shared.




And at this point in time I think shared libraries are mostly 
a mistake. The only time I use them is when I have to, as in 
when developing Python extensions.


The single biggest argument for shared libraries in D is GtkD. 
Linking an executable with a static GtkD library takes ages, 
and when developing you do a lot of linking. Fast turnaround, 
and thus reasonable development times, requires use of a shared 
library for GtkD.


That's a fair point.

Atila


Re: How programmers transition between languages

2018-02-02 Thread Russel Winder via Digitalmars-d
On Fri, 2018-02-02 at 10:03 +, Atila Neves via Digitalmars-d wrote:
> 
[…]
> Whether it's .a or .so depends on the dependent package being 
> `staticLibrary` or `dynamicLibrary`. It's possible for a package 
> to be both if it has a configuration for each.

I think that is one of my points, the package source downloaded from
the Dub repository should not be determining whether a .a or ,so is
produced, it should be determined by the receiver of the downloaded
package.

> Personally I don't even see the point - just link all the .o 
> files. In a traditional build system static libraries might be 
> useful to specify that multiple targets link to this particular 
> binary blob. With dub there's only ever one binary anyway.

But a static library is just a collection of .o files so I think it
fits with "link all the .o together".

It is clear that there is a move in the Go, Rust, D communities to
rejecting the concept of shared library, and that 100MB executables are
acceptable.

> And at this point in time I think shared libraries are mostly a 
> mistake. The only time I use them is when I have to, as in when 
> developing Python extensions.

The single biggest argument for shared libraries in D is GtkD. Linking
an executable with a static GtkD library takes ages, and when
developing you do a lot of linking. Fast turnaround, and thus
reasonable development times, requires use of a shared library for
GtkD.


-- 
Russel.
===
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


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


Re: How programmers transition between languages

2018-02-02 Thread Atila Neves via Digitalmars-d

On Thursday, 1 February 2018 at 12:19:48 UTC, Russel Winder wrote:
On Tue, 2018-01-30 at 11:55 +, rjframe via Digitalmars-d 
wrote:

On Tue, 30 Jan 2018 10:38:31 +, Russel Winder wrote:


[…]


Are you sure? Every project on my PC places the build files in 
$PROJECTDIR/.dub/build; the source is in ~/.dub/packages.


I see the source of the dependencies both in ~/.dub/packages 
and in the project .dub directory, but I see the compilation 
products in ~/.dub/packages. There are every compiled version 
in obscure named sub- directories and the last compiled 
(unknown compiler and options) in the dependency directory.


Compilation seems to be only of .a and not (.so|.dll).


Whether it's .a or .so depends on the dependent package being 
`staticLibrary` or `dynamicLibrary`. It's possible for a package 
to be both if it has a configuration for each.


Personally I don't even see the point - just link all the .o 
files. In a traditional build system static libraries might be 
useful to specify that multiple targets link to this particular 
binary blob. With dub there's only ever one binary anyway.


And at this point in time I think shared libraries are mostly a 
mistake. The only time I use them is when I have to, as in when 
developing Python extensions.


Atila




Re: How programmers transition between languages

2018-02-01 Thread Jacob Carlborg via Digitalmars-d

On 2018-02-01 13:19, Russel Winder wrote:


I see the source of the dependencies both in ~/.dub/packages and in the
project .dub directory, but I see the compilation products in
~/.dub/packages. 


I'm wondering if this might be different versions of Dub behaving 
differently. I have 79 packages in ~/.dub/packages and only three object 
files in two different projects.


$ ls -l ~/.dub/packages | wc -l
  79

$ cd ~/.dub/packages && find . -name '*.o'
./dfmt-0.4.4/.dub/build/application-debug-posix.osx-x86_64-dmd_2069-EEECF44B144F658EA70D0E82862DE408/dfmt.o
./dfmt-0.4.4/.dub/build/application-debug-posix.osx-x86_64-dmd_2070-5AD8691A40E4B0418752E48F1E27075F/dfmt.o
./unit-threaded-0.7.15/unit-threaded/.dub/build/gen_ut_main-debug-posix.osx-x86_64-dmd_2072-5674F70F27B1DC65A685FF95F866B7F7/gen_ut_main.o


There are every compiled version in obscure named sub-
directories and the last compiled (unknown compiler and options) in the
dependency directory.


It's just a cache, it's not something that the user need to look at.

--
/Jacob Carlborg


Re: How programmers transition between languages

2018-02-01 Thread Joakim via Digitalmars-d

On Monday, 29 January 2018 at 11:48:07 UTC, Russel Winder wrote:
I am less convinced by this argument. Go, Rust, and especially 
Java have shown the power of tribalism and belonging to the one 
true tribe eschewing all others. Java is a superb example of 
this: the JVM is now a polyglot platform, and yet Java 
programmers, especially enterprise ones, will only contemplate 
using Java and refuse to be educated about Kotlin, Ceylon, 
Groovy, JRuby, etc. However when a feature inspired (many years 
later) by the innovations in other JVM-based languages gets 
shoehorned into Java then, eventually, the Java folk are 
prepared, reluctantly, to learn about it. And maybe a few years 
later actually use it.


I thought this was a killer anecdote about maybe the first 
programming language war... over assembly language:


"Margaret Hamilton, a celebrated software engineer on the Apollo 
missions—in fact the coiner of the phrase 'software 
engineering'—told me that during her first year at the Draper lab 
at MIT, in 1964, she remembers a meeting where one faction was 
fighting the other about transitioning away from 'some very low 
machine language,' as close to ones and zeros as you could get, 
to 'assembly language.' 'The people at the lowest level were 
fighting to keep it. And the arguments were so similar: ‘Well how 
do we know assembly language is going to do it right?’'


'Guys on one side, their faces got red, and they started 
screaming,' she said. She said she was 'amazed how emotional they 
got.'


Emmanuel Ledinot, of Dassault Aviation, pointed out that when 
assembly language was itself phased out in favor of the 
programming languages still popular today, like C, it was the 
assembly programmers who were skeptical this time."

https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/

Good to see things haven't changed in a half-century. ;) Not that 
I'm saying assembly was the obvious choice: maybe their 
assemblers were buggy or slow or whatever, it all depends on the 
details.


Re: How programmers transition between languages

2018-02-01 Thread Russel Winder via Digitalmars-d
On Tue, 2018-01-30 at 11:55 +, rjframe via Digitalmars-d wrote:
> On Tue, 30 Jan 2018 10:38:31 +, Russel Winder wrote:
> 
[…]
> 
> Are you sure? Every project on my PC places the build files in
> $PROJECTDIR/.dub/build; the source is in ~/.dub/packages.

I see the source of the dependencies both in ~/.dub/packages and in the
project .dub directory, but I see the compilation products in
~/.dub/packages. There are every compiled version in obscure named sub-
directories and the last compiled (unknown compiler and options) in the
dependency directory.

Compilation seems to be only of .a and not (.so|.dll).

> That said, the name of the compiler is kept in the directory
> structure (as 
> well as architecture and OS), which means there could be advantages
> to 
> placing build artifacts globally, since compiler changes would still
> be 
> separated, we get a reduction in disk usage and (sometimes) compile
> speed 
> for already-built libraries.

In which case, why is there anything in the project directory at all.

Also the OS/compiler/options is all encoded in a very long and obscure
naming directory name, rather than a nice directory hierarchy. Chapel
made this switch and it improved everything a lot. 

[…]
> This would be nice. I wonder though if the community is too small for
> this 
> right now; remove the necessity of the central repository and it may
> die 
> (I would say it's somewhat struggling as it is) -- and when it comes
> to 
> finding libraries there are advantages to it that Github doesn't
> have.

I think not. The Rust experience is that the mixed economy of central
released and actively curated (though Rust hasn't quite got to that yet
sadly, there is a build up of crap just as happens with PyPI) and use
of Git repository HEADs works very well. The Go experience of not
having a central place, just the Git/Mercurial/Bazaar/Breezy
repositories leads to a lot of hassle, and thence to vendoring. Ceylon
as well as D only has the central repository and it can be very
annoying.

Having the central repo is a good thing, but having access to DVCS is
as well.

> 
> > The Cargo repository is just nicer than the Dub repository.
> 
> 
> […]

Clearly there is debate to be had about the Cargo vs. Dub repositories,
I agree and disagree with the points you made, but that is for the Dub
forum I guess. 

(I hate forums without email support, but I guess I could look at the
Dub forum from time to time.)

> 
> > Cargo uses TOML project specifications, Dub uses JSON or SDL. Cargo
> > wins, Dub doesn't.
> 
> Agreed.

Sadly I suspect there is no future in this point, the JSON/SDL fight
seems to have used up everyone's energy and moving to an actually good
format is not on the cards.
 
> […]
> Have you opened issues on the dub repository for the various problems
> you 
> see?

Not as yet, but I guess I will have to overcome my abhorrence of
forums, and post to the Dub forum.

(Did I mention I really hate forums with no email interface. Probably.)

-- 
Russel.
===
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


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


Re: How programmers transition between languages

2018-01-31 Thread Russel Winder via Digitalmars-d
On Tue, 2018-01-30 at 17:26 +, Ola Fosheim Grøstad via Digitalmars-
d wrote:
[…]
> Grounded Theory cannot be used for trend analysis though. 
[…]

Quite right, good point.

-- 
Russel.
===
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


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


Re: How programmers transition between languages

2018-01-30 Thread rjframe via Digitalmars-d
On Wed, 31 Jan 2018 00:34:48 +, Benny wrote:

> https://crates.io/categories

Thanks. I wish that was easier to find though. I still don't see how to 
get there without knowing it already exists.


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

Yeah, I'm not sure how cruft should be handled; maybe move anything that 
hasn't had a single commit in 4 years to an Archive category which is 
hidden by default... at the rate D changes, even the simplest libraries 
that haven't been touched in four years likely have a deprecation or error 
to handle (or documentation that could be improved), and if the registry 
could create an issue as a warning first, nobody should be surprised by 
their project being archived.

I wonder if the Dub registry could read a CI configuration file to grab 
the tested D compilers in a repo, and display them on the package's page 
as supported compilers. I don't know if people would interpret that to 
imply that the package is incompatible with anything not listed though.


Re: How programmers transition between languages

2018-01-30 Thread rjframe via Digitalmars-d
On Tue, 30 Jan 2018 20:59:16 +, 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


Re: How programmers transition between languages

2018-01-30 Thread Benny via Digitalmars-d

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.


Re: How programmers transition between languages

2018-01-30 Thread aberba via Digitalmars-d

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?




[...]




Re: How programmers transition between languages

2018-01-30 Thread bachmeier via Digitalmars-d

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.


Re: How programmers transition between languages

2018-01-30 Thread Ola Fosheim Grøstad via Digitalmars-d

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.




Re: How programmers transition between languages

2018-01-30 Thread Laeeth Isharc via Digitalmars-d

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 

Re: How programmers transition between languages

2018-01-30 Thread Ola Fosheim Grøstad via Digitalmars-d

On Monday, 29 January 2018 at 10:12:04 UTC, Russel Winder wrote:
On Mon, 2018-01-29 at 03:22 +, 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.





Re: How programmers transition between languages

2018-01-30 Thread Ola Fosheim Grøstad via Digitalmars-d

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.






Re: How programmers transition between languages

2018-01-30 Thread John Gabriele via Digitalmars-d

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




Re: How programmers transition between languages

2018-01-30 Thread jmh530 via Digitalmars-d
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.


Re: How programmers transition between languages

2018-01-30 Thread rjframe via Digitalmars-d
On Tue, 30 Jan 2018 09:20:37 +, aberba wrote:

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

Well... if the goal is merely number of programmers, getting enterprises 
on-board is the easiest way to do it. Many (most?) professional 
programmers write nothing/very little after hours. Even if the programmers 
are on board, getting management to sign off may require throwing big 
names around.

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

Most people that use a language (whether D, Rust, Python, C++) use their 
for their own projects, rather than for development of the language itself 
(I don't know about anyone else, but that's why I was looking for a new 
language in the first place). Increasing the number of programmers may 
just increase the number of requests for better infrastructure.

Better tooling isn't going to come from numbers; more likely from 
something like:

- A hobbyist that wants to build something, either for enjoyment or some
  other desire.
- An organization investing in tools to increase the productivity of its
  programmers.
- A partnership with a CS department somewhere, which might be mutually
  beneficial as students gain real-world experience arguing with engineers
  and graduate with code that they've written being used in production.


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

Like they always say, "It takes money to spend money." :)


>> 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 people, the Internet's the Internet. Anything can happen.


> You don't know for sure. Remember we don't all use D the same way.

There's a DConf slogan for some year; it could highlight the diversity of 
uses/tasks/problems people solve with D.


--Ryan


Re: How programmers transition between languages

2018-01-30 Thread rjframe via Digitalmars-d
On Tue, 30 Jan 2018 10:38:31 +, Russel Winder wrote:

> On Mon, 2018-01-29 at 17:18 +, Mafi via Digitalmars-d wrote:
>> 
> […]
>> What would you say are the most important differences between dub and
>> Cargo? What does Cargo do better than dub (or worse for that matter)?
>> Superficially, they seem to be designed quite similarly.
> 
> The single most important thing is that Cargo stores source on a per
> person basis and compiles for each project separately. Dub stores source
> and compilation products on a per person basis. So, for me, Dub does the
> wrong thing with compilation of dependencies, and Cargo does it right.
> Why? Compiler choice and compiler option choice is a per project thing,
> not a centralised thing.

Are you sure? Every project on my PC places the build files in
$PROJECTDIR/.dub/build; the source is in ~/.dub/packages.

That said, the name of the compiler is kept in the directory structure (as 
well as architecture and OS), which means there could be advantages to 
placing build artifacts globally, since compiler changes would still be 
separated, we get a reduction in disk usage and (sometimes) compile speed 
for already-built libraries.


> Cargo allows for download from the central repository and from any
> arbitrary Git or Mercurial repository. Dub only seems to get from the
> central repository.

This would be nice. I wonder though if the community is too small for this 
right now; remove the necessity of the central repository and it may die 
(I would say it's somewhat struggling as it is) -- and when it comes to 
finding libraries there are advantages to it that Github doesn't have.


> The Cargo repository is just nicer than the Dub repository.

It looks a lot nicer. I'm going to argue that as far as functionality 
though, it's horrible (note this is my first time looking in a long time):

- Home page is nice; it makes me want to use it.
- I click "Browse All Crates"; the default sort is alphabetical - not
  useful unless I'm just browsing, even then I'd likely want to browse by
  category. 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. 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; I've never thought that about Dub 
(granted, far fewer packages) or Pypi.


> Cargo uses TOML project specifications, Dub uses JSON or SDL. Cargo
> wins, Dub doesn't.

Agreed.


> It is certainly true that Dub and Cargo have the same aims and goal,
> it's just that Cargo does it better on essentially all fronts as far as
> the project build and builder are concerned.

Have you opened issues on the dub repository for the various problems you 
see?

--Ryan


Re: How programmers transition between languages

2018-01-30 Thread Russel Winder via Digitalmars-d
On Mon, 2018-01-29 at 17:18 +, Mafi via Digitalmars-d wrote:
> 
[…]
> What would you say are the most important differences between dub 
> and Cargo? What does Cargo do better than dub (or worse for that 
> matter)? Superficially, they seem to be designed quite similarly.

The single most important thing is that Cargo stores source on a per
person basis and compiles for each project separately. Dub stores
source and compilation products on a per person basis. So, for me, Dub
does the wrong thing with compilation of dependencies, and Cargo does
it right. Why? Compiler choice and compiler option choice is a per
project thing, not a centralised thing.

Cargo allows for download from the central repository and from any
arbitrary Git or Mercurial repository. Dub only seems to get from the
central repository.

The Cargo repository is just nicer than the Dub repository.

Cargo uses TOML project specifications, Dub uses JSON or SDL. Cargo
wins, Dub doesn't.

The Cargo per project compilation product structure is nicer that Dubs.

It is certainly true that Dub and Cargo have the same aims and goal,
it's just that Cargo does it better on essentially all fronts as far as
the project build and builder are concerned.

-- 
Russel.
===
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


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


Re: How programmers transition between languages

2018-01-30 Thread TooHuman via Digitalmars-d

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:

[...]


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.


[...]


You're absolutely right in that, for a language like D with such 
a broad range of features, that it should absolutely be marketed 
as a generalist language. However, the kinds of "killer apps" I 
think people are talking about, are likely referring to apps that 
simply shine a spotlight on D, and allow people to discover all 
of the things that they can also do in D. A variety of "killer 
apps" would therefore be helpful, but any attention shown to D 
would be good. At the moment, it feels like the language is 
somewhat peddling about but not really going anywhere. I'm sure, 
as we've seen from downloads and things, that this isn't exactly 
the case, but we're not seeing Go levels of adoption, or even 
Rust levels of adoption.


Re: How programmers transition between languages

2018-01-30 Thread aberba via Digitalmars-d

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.





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.




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.



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 

Re: How programmers transition between languages

2018-01-30 Thread aberba via Digitalmars-d

On Sunday, 28 January 2018 at 00:47:23 UTC, bachmeier wrote:

On Saturday, 27 January 2018 at 20:15:51 UTC, aberba wrote:
There have been several complaints about tools, and certain 
important stuff missing in the standard library (HTTP/HTTP2, 
rpc, etc) and no 'official' response or some blog post from 
them about it (whether they even care).


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.


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.

and as soon as it becomes official, there are rules and rules 
about rules and six levels of bureaucracy.
I did say those things are missing in the standard library but it 
doesn't have to be in Phobos to receive upstream support.



There are a list of things developers need to build killer apps 
and web services in D. The larger the workforce,  the more likely 
we get people to contribute in those areas (theory,  code, tools, 
 documentation,  tutorials,  libraries, promotions, solutions, 
etc). And those things are equally important in every popular 
programming language today to continue to gain wider adoption.





Re: How programmers transition between languages

2018-01-30 Thread Ola Fosheim Grøstad via Digitalmars-d

On Monday, 29 January 2018 at 22:28:35 UTC, Michael wrote:
I would hazard a guess that Go is likely the language they 
settle on for whatever task required something more low-level 
like Rust/Go(/D? =[ ) and that they move to Python for the 
kinds of scripting tasks that follow development of something 
in the previous languages.


That could be, many have Python as a secondary high level 
language.


Re: How programmers transition between languages

2018-01-29 Thread Ola Fosheim Grøstad via Digitalmars-d

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.







Re: How programmers transition between languages

2018-01-29 Thread Michael via Digitalmars-d
On Monday, 29 January 2018 at 03:22:54 UTC, Ola Fosheim Grøstad 
wrote:

On Sunday, 28 January 2018 at 23:09:00 UTC, Michael wrote:
by the whole target audience. Rust, on the other hand, seems 
to be picking up those who have left Go.


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 would hazard a guess that Go is likely the language they settle 
on for whatever task required something more low-level like 
Rust/Go(/D? =[ ) and that they move to Python for the kinds of 
scripting tasks that follow development of something in the 
previous languages.


Re: How programmers transition between languages

2018-01-29 Thread Mafi via Digitalmars-d

On Monday, 29 January 2018 at 11:48:07 UTC, Russel Winder wrote:

[...]
One thing that Go got almost right was the way of using FOSS 
packages and libraries. Rust, via Cargo, did a much better job. 
Go has a small standard library and allows use of any DVCS, 
there is no central contributed system. Rust/Cargo has a small 
standard library, a central contributed library, and the 
ability to use arbitrary DVCS. Rust/Cargo wins on this hands 
down. I suggest Dub needs more work to be like Cargo. This and 
documentation strike me as the most important things for the 
evolution of D.

[...]


What would you say are the most important differences between dub 
and Cargo? What does Cargo do better than dub (or worse for that 
matter)? Superficially, they seem to be designed quite similarly.


Mafi


Re: How programmers transition between languages

2018-01-29 Thread Russel Winder via Digitalmars-d
On Sun, 2018-01-28 at 18:54 +, Laeeth Isharc via Digitalmars-d
wrote:
[…]
> 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.
> 
> If you want to draw people to the language (and, honestly, I 
> wonder why it matters so much to many here - 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) and on 
> accomplishing something useful and worth doing with it?

Go was ambitious, but grew more like a Cypress than an Oak. Many
reasons, we have mulled over this a number of time already. As I
remember the main ones:

0. Hype.
1. Timing.
2. Marketing.
3. Simple language that Google interns can use and not make errors.
4. Documentation.
5. Good standard library.
6. Ability to work with Git, Mercurial, and Bazaar repositories as
dependencies.
7. Documentation.
8. Funded support.
9. It replaces C. But then so does Rust.

Of course there were problems:

0. No way of doing complex repeatable builds.
1. The Web absorbs all.

There is a lot of proprietary as well as FOSS Go code. Ditto Java, C++.
But FOSS is where the marketing is and where many of the proprietary
decisions on programming language are made.

One thing that Go got almost right was the way of using FOSS packages
and libraries. Rust, via Cargo, did a much better job. Go has a small
standard library and allows use of any DVCS, there is no central
contributed system. Rust/Cargo has a small standard library, a central
contributed library, and the ability to use arbitrary DVCS. Rust/Cargo
wins on this hands down. I suggest Dub needs more work to be like
Cargo. This and documentation strike me as the most important things
for the evolution of D.

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

:-)

> 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?

s/killer// and you get a better measure. D needs more applications out
there to act as exemplars. Currently we have Tilix and…

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

I am less convinced by this argument. Go, Rust, and especially Java
have shown the power of tribalism and belonging to the one true tribe
eschewing all others. Java is a superb example of this: the JVM is now
a polyglot platform, and yet Java programmers, especially enterprise
ones, will only contemplate using Java and refuse to be educated about
Kotlin, Ceylon, Groovy, JRuby, etc. However when a feature inspired
(many years later) by the innovations in other JVM-based languages gets
shoehorned into Java then, eventually, the Java folk are prepared,
reluctantly, to learn about it. And maybe a few years later actually
use it. 

> My generation was privileged because very quickly if you wanted 
> to get anything interesting done you had to 

Re: How programmers transition between languages

2018-01-29 Thread Russel Winder via Digitalmars-d
On Mon, 2018-01-29 at 03:22 +, 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.

-- 
Russel.
===
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


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


Re: How programmers transition between languages

2018-01-28 Thread jmh530 via Digitalmars-d
On Monday, 29 January 2018 at 04:58:49 UTC, Jonathan M Davis 
wrote:


It would be interesting to know, but I question how valid the 
conclusions are just getting information from github like that. 
For instance, I came from C++ to D. However, I never used 
github before D's developement moved to github, and their 
methodology would show me as someone who used D almost 
exclusively and who did not switch from any other language. So, 
while I'm sure that some valid conclusions can be taken from 
the data, it's going to be skewed by the fact that not 
everything a programmer does or has done ends up on github.


- Jonathan M Davis


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.


Re: How programmers transition between languages

2018-01-28 Thread Jonathan M Davis via Digitalmars-d
On Monday, January 29, 2018 04:18:12 jmh530 via Digitalmars-d wrote:
> On Monday, 29 January 2018 at 03:22:54 UTC, Ola Fosheim Grøstad
>
> wrote:
> > On Sunday, 28 January 2018 at 23:09:00 UTC, Michael wrote:
> >> by the whole target audience. Rust, on the other hand, seems
> >> to be picking up those who have left Go.
> >
> > 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.
>
> It would probably be informative to get the raw data and see how
> the transition matrix looks for D. Are people (or rather github
> users) coming to D from C/C++ or from other languages. Would help
> inform strategy for getting new users or why people from certain
> languages are less likely to try D.

It would be interesting to know, but I question how valid the conclusions
are just getting information from github like that. For instance, I came
from C++ to D. However, I never used github before D's developement moved to
github, and their methodology would show me as someone who used D almost
exclusively and who did not switch from any other language. So, while I'm
sure that some valid conclusions can be taken from the data, it's going to
be skewed by the fact that not everything a programmer does or has done ends
up on github.

- Jonathan M Davis




Re: How programmers transition between languages

2018-01-28 Thread jmh530 via Digitalmars-d
On Monday, 29 January 2018 at 03:22:54 UTC, Ola Fosheim Grøstad 
wrote:

On Sunday, 28 January 2018 at 23:09:00 UTC, Michael wrote:
by the whole target audience. Rust, on the other hand, seems 
to be picking up those who have left Go.


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.


It would probably be informative to get the raw data and see how 
the transition matrix looks for D. Are people (or rather github 
users) coming to D from C/C++ or from other languages. Would help 
inform strategy for getting new users or why people from certain 
languages are less likely to try D.


Re: How programmers transition between languages

2018-01-28 Thread Ola Fosheim Grøstad via Digitalmars-d

On Sunday, 28 January 2018 at 23:09:00 UTC, Michael wrote:
by the whole target audience. Rust, on the other hand, seems to 
be picking up those who have left Go.


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.




Re: How programmers transition between languages

2018-01-28 Thread Michael via Digitalmars-d

On Sunday, 28 January 2018 at 15:36:17 UTC, bachmeier wrote:

On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
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'd say Julia is getting a lot more attention than Rust or Go 
for those users. And rightfully so.


I wasn't trying to relate these two sections. My point above was 
that people who don't really work with systems languages were 
still widely aware of the existence of new languages, while D 
remains relatively obscure.




I wonder if we do need to pay more attention to attracting new 
users just to get people talking about it.


I'm not sure why those users would be interested in D at the 
moment. D presents itself as a C++ replacement, discussions are 
all about low-level stuff, garbage collection, and efficiency, 
and new users are told to use Dub and learn about Git 
submodules. That's not ever going to appeal to the R and Matlab 
crowd. I have gotten others to start using D, and it was quite 
easy. Just make an R package containing D code, they install 
it, and then they call D functions from R. Few in this 
community understand that style of programming though.


But D is fighting against Rust and Go, and struggling to pull any 
attention away from either. Go has found its niche, and has 
settled pretty well, but it has not been overwhelmingly adopted 
by the whole target audience. Rust, on the other hand, seems to 
be picking up those who have left Go.


Re: How programmers transition between languages

2018-01-28 Thread Ola Fosheim Grøstad via Digitalmars-d

On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
I find it fascinating that C# is in the "languages to avoid" 
section, because from my perspective it's receiving more and 
more adoption as the modern alternative to Java, in a way that 
Go and Rust are not. Different markets and all of that. So I 
can't see why C# would be seen as a language that is dropping 
in popularity (though I don't use it myself).


I don't think the data suggests that? A small dip, perhaps, as it 
is less relevant outside Microsoft desktop. But the transition 
matrix suggests that people move a bit between Java and C# and 
that people move from Pascal and Visual Basic to C#.


I suspect some projects move from C# to TypeScript, though.

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.


But D isn't changing either...



Re: How programmers transition between languages

2018-01-28 Thread Laeeth Isharc via Digitalmars-d

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.


If you want to draw people to the language (and, honestly, I 
wonder why it matters so much to many here - 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) and on 
accomplishing something useful and worth doing with it?


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.





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 

Re: How programmers transition between languages

2018-01-28 Thread Paulo Pinto via Digitalmars-d

On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
On Friday, 26 January 2018 at 09:02:03 UTC, Ola Fosheim Grøstad 
wrote:
While this analysis of language popularity on Github is 
enlightening:


http://www.benfrederickson.com/ranking-programming-languages-by-github-users/

I found the older analysis of how programmers transition (or 
adopt new languages) more interesting:


https://blog.sourced.tech/post/language_migrations/

Like how people move from Rust to Go. And from Go to Python:

https://blog.sourced.tech/post/language_migrations/sum_matrix_22lang_eig.svg


Also the growth of Java is larger than I would anticipate:

https://blog.sourced.tech/post/language_migrations/eigenvect_stack_22lang.png

Granted, Java has gotten quite a few convenience features over 
the years.


I find it fascinating that C# is in the "languages to avoid" 
section, because from my perspective it's receiving more and 
more adoption as the modern alternative to Java, in a way that 
Go and Rust are not. Different markets and all of that. So I 
can't see why C# would be seen as a language that is dropping 
in popularity (though I don't use it myself).


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.


This has been mentioned multiple times, D really needs some kind 
of killer application.


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.


The new OpenGL debugger for Android from Google has been 
re-written in Go.


Go and Rust are also having a relevant role in Fuchsia, e.g. the 
TCP/IP stack is 100% Go code.


The new regexp engine from Visual Studio Code is written in Rust.

The Go plugin for Visual Studio Code is written by Microsoft 
themselves.


D has PowerNex as an example OS, but Redox looks more pleasing to 
the eye, in what concerns attracting new developers to the 
project.


Just wondering if mir or easier GPGPU programming could be that 
killer application.


Re: How programmers transition between languages

2018-01-28 Thread Russel Winder via Digitalmars-d
On Sun, 2018-01-28 at 15:36 +, bachmeier via Digitalmars-d wrote:
> 
[…]
> I'd say Julia is getting a lot more attention than Rust or Go for 
> those users. And rightfully so.

I am still not sure Julia is getting traction outside a few
communities. Python still seems to be the language of choice in data
analysis visualisation.

> > I wonder if we do need to pay more attention to attracting new 
> > users just to get people talking about it.
> 
> I'm not sure why those users would be interested in D at the 
> moment. D presents itself as a C++ replacement, discussions are 
> all about low-level stuff, garbage collection, and efficiency, 
> and new users are told to use Dub and learn about Git submodules. 
> That's not ever going to appeal to the R and Matlab crowd. I have 
> gotten others to start using D, and it was quite easy. Just make 
> an R package containing D code, they install it, and then they 
> call D functions from R. Few in this community understand that 
> style of programming though.

Dub looked like it was going to be good, but somehow development
stopped and it fails to deliver compared to Cargo.  Although Cargo is
language specific, and thus inferior to SCons, Meson, CMake, etc., it
works very well indeed for building and installing Rust codes. The Go
system works well in the context of a workspace structured system.

Compared to the Rust and Go community, D is lacking a package system
and build system that really works. Also, a JetBrains IDE for D is
absent – though Samael and Francis are trying very hard to improve
this. The problem is though that JetBrains are unlikely to pick up the
plugin and make it official in the way that they did Rust and Go.
Perhaps the Clojure plugin model as per Cursive might be in order, i.e.
people pay an annual subscription for it within the free to use
IntelliJ IDEA. 

-- 
Russel.
===
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


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


Re: How programmers transition between languages

2018-01-28 Thread bachmeier via Digitalmars-d

On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
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'd say Julia is getting a lot more attention than Rust or Go for 
those users. And rightfully so.


I wonder if we do need to pay more attention to attracting new 
users just to get people talking about it.


I'm not sure why those users would be interested in D at the 
moment. D presents itself as a C++ replacement, discussions are 
all about low-level stuff, garbage collection, and efficiency, 
and new users are told to use Dub and learn about Git submodules. 
That's not ever going to appeal to the R and Matlab crowd. I have 
gotten others to start using D, and it was quite easy. Just make 
an R package containing D code, they install it, and then they 
call D functions from R. Few in this community understand that 
style of programming though.


Re: How programmers transition between languages

2018-01-28 Thread Michael via Digitalmars-d

On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
On Friday, 26 January 2018 at 09:02:03 UTC, Ola Fosheim Grøstad 
wrote:

[...]


I find it fascinating that C# is in the "languages to avoid" 
section, because from my perspective it's receiving more and 
more adoption as the modern alternative to Java, in a way that 
Go and Rust are not. Different markets and all of that. So I 
can't see why C# would be seen as a language that is dropping 
in popularity (though I don't use it myself).


[...]


Oh, I had confused Objective-C with C# in that graph. Forget the 
first part of my previous post.


Re: How programmers transition between languages

2018-01-28 Thread Michael via Digitalmars-d
On Friday, 26 January 2018 at 09:02:03 UTC, Ola Fosheim Grøstad 
wrote:
While this analysis of language popularity on Github is 
enlightening:


http://www.benfrederickson.com/ranking-programming-languages-by-github-users/

I found the older analysis of how programmers transition (or 
adopt new languages) more interesting:


https://blog.sourced.tech/post/language_migrations/

Like how people move from Rust to Go. And from Go to Python:

https://blog.sourced.tech/post/language_migrations/sum_matrix_22lang_eig.svg


Also the growth of Java is larger than I would anticipate:

https://blog.sourced.tech/post/language_migrations/eigenvect_stack_22lang.png

Granted, Java has gotten quite a few convenience features over 
the years.


I find it fascinating that C# is in the "languages to avoid" 
section, because from my perspective it's receiving more and more 
adoption as the modern alternative to Java, in a way that Go and 
Rust are not. Different markets and all of that. So I can't see 
why C# would be seen as a language that is dropping in popularity 
(though I don't use it myself).


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.


Re: How programmers transition between languages

2018-01-28 Thread rjframe via Digitalmars-d
On Sun, 28 Jan 2018 11:44:05 +, Ola Fosheim Grøstad wrote:

> The reference interpreter doesn't make much use of static type
> information. I think it makes sense to have separate type checkers until
> this new aspect of Python has reached maturity. That doesn't prevent
> third parties to implement interpreters that makes use of type
> information.
> 
> Professionals won't shy away from using additional tools anyway, so the
> only reason to build it into the interpreter is for optimization at this
> point.

I should be specific about speaking of the reference implementation. I 
just think comments that look like code (which is basically what this is) 
is always a bad idea.


Re: How programmers transition between languages

2018-01-28 Thread Ola Fosheim Grøstad via Digitalmars-d

On Sunday, 28 January 2018 at 00:31:18 UTC, rjframe wrote:

On Sat, 27 Jan 2018 22:59:17 +, Ola Fosheim Grostad wrote:


On Saturday, 27 January 2018 at 13:56:35 UTC, rjframe wrote:
If you use an IDE or analysis/lint tool, you'll get type 
checking. The interpreter will happily ignore those 
annotations.


You need to use a type checker to get type checking... No 
surprise there, but without standard type annotations the type 
checker isn't all that useful.  Only in past few years have 
typing stubs become available for libraries, and that makes a 
difference,


My point is that the interpreter ignores information that I 
give it, when that information clearly proves that I have a 
bug. Python 3.6 gives you an explicit type system when you 
want/need it, but stops just short of making it actually useful 
without secondary tools.


The reference interpreter doesn't make much use of static type 
information. I think it makes sense to have separate type 
checkers until this new aspect of Python has reached maturity. 
That doesn't prevent third parties to implement interpreters that 
makes use of type information.


Professionals won't shy away from using additional tools anyway, 
so the only reason to build it into the interpreter is for 
optimization at this point.




Re: How programmers transition between languages

2018-01-27 Thread bachmeier via Digitalmars-d

On Saturday, 27 January 2018 at 20:15:51 UTC, aberba wrote:
There have been several complaints about tools, and certain 
important stuff missing in the standard library (HTTP/HTTP2, 
rpc, etc) and no 'official' response or some blog post from 
them about it (whether they even care).


The community will have to do this. 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, and as soon as it becomes 
official, there are rules and rules about rules and six levels of 
bureaucracy.




Re: How programmers transition between languages

2018-01-27 Thread rjframe via Digitalmars-d
On Sat, 27 Jan 2018 22:59:17 +, Ola Fosheim Grostad wrote:

> On Saturday, 27 January 2018 at 13:56:35 UTC, rjframe wrote:
>> If you use an IDE or analysis/lint tool, you'll get type checking. The
>> interpreter will happily ignore those annotations.
> 
> You need to use a type checker to get type checking... No surprise
> there, but without standard type annotations the type checker isn't all
> that useful.  Only in past few years have typing stubs become available
> for libraries, and that makes a difference,

My point is that the interpreter ignores information that I give it, when 
that information clearly proves that I have a bug. Python 3.6 gives you an 
explicit type system when you want/need it, but stops just short of making 
it actually useful without secondary tools.

Granted, everybody should be using those tools on decent-sized projects 
anyway, but the interpreter shouldn't be ignoring obvious issues. If I 
explicitly label a type, implicit casts/overrides/replacements should not 
be accepted, no matter how dynamic the type system. The feature was 
designed for tools; they failed to design it for programmers as well.


Re: How programmers transition between languages

2018-01-27 Thread Ola Fosheim Grostad via Digitalmars-d

On Saturday, 27 January 2018 at 13:56:35 UTC, rjframe wrote:
If you use an IDE or analysis/lint tool, you'll get type 
checking. The interpreter will happily ignore those annotations.


You need to use a type checker to get type checking... No 
surprise there, but without standard type annotations the type 
checker isn't all that useful.  Only in past few years have 
typing stubs become available for libraries, and that makes a 
difference,


Re: How programmers transition between languages

2018-01-27 Thread aberba via Digitalmars-d

On Friday, 26 January 2018 at 17:24:54 UTC, Benny wrote:
On Friday, 26 January 2018 at 09:02:03 UTC, Ola Fosheim Grøstad 
wrote:
While this analysis of language popularity on Github is 
enlightening:


http://www.benfrederickson.com/ranking-programming-languages-by-github-users/


What i found interesting is the comparison between the "newer" 
languages and D ( see the reddit thread ).




While i can understand Rust ( Mozilla ), Kotlin ( Jetbrain ), 
Go ( Google ).

Even Vala and Crystal are ranked higher then D.


Even vala? You have no idea what the guys at elementary.io are 
doing to get more developers to use Vala and GTK for elementary 
OS (Linux) apps. They are developing an IDE in addition to their 
straight forward Granite toolkit for making app development in 
vala much more easier and productive. They've managed to get over 
70 fully-native apps designed for their OS from independent 
developers since second half of last year, when they launched 
their app center.


I don't know how the D Foundation think or know about growing the 
developer community and tools, but I don't see a good job done in 
that aspect. And...elementary makes less money than D Foundation 
(I think, besides, they don't spend money on their community 
growth... just the obvious "non-technical" stuff).


The committee really need to have a modern approach to this 
community and tools thing.


There have been several complaints about tools, and certain 
important stuff missing in the standard library (HTTP/HTTP2, rpc, 
etc) and no 'official' response or some blog post from them about 
it (whether they even care). Several efforts have been 
made...(the std_* stuff in the dub registry)... still nothing 
much. At least input from committee show they care. I feel like 
its always compiler stuff alone.



Or pay someone good at developer community stuff to take charge. 
I said this some 2 yrs ago (my language about "female" won me 
some insults from some people in the forum, remember? It was 
discussed at the conference with the exception of the idea I was 
trying to communicate). I watched the D 2017 Conference and 
nothing about tools and community growth was discussed (except it 
was not "video-ed"). Unless its not important that much.


Re: How programmers transition between languages

2018-01-27 Thread rjframe via Digitalmars-d
On Sat, 27 Jan 2018 00:32:21 +, Ola Fosheim Grøstad wrote:

> ... Anyway, with Python 3.6 you get fairly good
> type annotation capabilities which allows static type checking that  is
> closing on what you get with statically typed languages.  Maybe that is
> a factor too.

If you use an IDE or analysis/lint tool, you'll get type checking. The 
interpreter will happily ignore those annotations.

No complaints here:
```
somevar : int = 'my string'

def func() -> int:
return 'some string'
func()
```


Re: How programmers transition between languages

2018-01-26 Thread Ola Fosheim Grøstad via Digitalmars-d

On Friday, 26 January 2018 at 17:24:54 UTC, Benny wrote:
What i found interesting is the comparison between the "newer" 
languages and D ( see the reddit thread ).


9   Go  4.1022
15  Kotlin  1.2798
18  Rust0.7317
35  Julia   0.0900
46  Vala0.0665
50  Crystal 0.0498
53  D   0.047%

While i can understand Rust ( Mozilla ), Kotlin ( Jetbrain ), 
Go ( Google ).

Even Vala and Crystal are ranked higher then D.


Yes, those stats are interesting too, but Go seems to do much 
better than Rust. And if the trend is that people move from  Rust 
to Go and from Go to Python it might mean that people might start 
out trying out new languages with performance goals in mind, but 
eventually go for productivity when they realize that they pay a 
fairly high price for those performance gains? Anyway, with 
Python 3.6 you get fairly good type annotation capabilities which 
allows static type checking that  is closing on what you get with 
statically typed languages.  Maybe that is a factor too.





Re: How programmers transition between languages

2018-01-26 Thread DanielG via Digitalmars-d

On Friday, 26 January 2018 at 20:31:30 UTC, John Gabriele wrote:
With Rust's extra complexity (over D) of ownership/borrowing, 
lifetimes, and no GC, although we may currently see a push for 
more Rust in Gnome for system-level code, I think D may beat it 
for writing *applications*.


Adding to that, it was comments like this on the Rust reddit 
group that really reinforce my decision to stay far away from 
Rust for desktop app development: 
https://www.reddit.com/r/rust/comments/7gg7lm/what_is_currently_the_best_options_for_gui/dqjo1c4/




Re: How programmers transition between languages

2018-01-26 Thread John Gabriele via Digitalmars-d

On Friday, 26 January 2018 at 20:08:15 UTC, Paulo Pinto wrote:

On Friday, 26 January 2018 at 18:46:12 UTC, John Gabriele wrote:


One niche I could see D establishing some popularity is in 
GNU/Linux GTK desktop apps. Especially now that GDC will be 
part of GCC.


With GNOME in the process of adopting Rust, I don't have big 
hopes for it.


https://wiki.gnome.org/Hackfests/Rust2017

https://wiki.gnome.org/Hackfests/Rust2017-2


With Rust's extra complexity (over D) of ownership/borrowing, 
lifetimes, and no GC, although we may currently see a push for 
more Rust in Gnome for system-level code, I think D may beat it 
for writing *applications*.


I'm planning on learning more D, then trying out GtkD to see how 
it compares with Python + PyGObject for some little apps.




Re: How programmers transition between languages

2018-01-26 Thread Benny via Digitalmars-d
On Friday, 26 January 2018 at 09:02:03 UTC, Ola Fosheim Grøstad 
wrote:
While this analysis of language popularity on Github is 
enlightening:


http://www.benfrederickson.com/ranking-programming-languages-by-github-users/


What i found interesting is the comparison between the "newer" 
languages and D ( see the reddit thread ).


9   Go  4.1022
15  Kotlin  1.2798
18  Rust0.7317
35  Julia   0.0900
46  Vala0.0665
50  Crystal 0.0498
53  D   0.047%

While i can understand Rust ( Mozilla ), Kotlin ( Jetbrain ), Go 
( Google ).

Even Vala and Crystal are ranked higher then D.


Re: How programmers transition between languages

2018-01-26 Thread Jonathan Marler via Digitalmars-d

Very cool stuff, thanks for sharing.


Re: How programmers transition between languages

2018-01-26 Thread John Gabriele via Digitalmars-d

On Friday, 26 January 2018 at 17:24:54 UTC, Benny wrote:


What i found interesting is the comparison between the "newer" 
languages and D ( see the reddit thread ).


 9  Go  4.1022
15  Kotlin  1.2798
18  Rust0.7317
35  Julia   0.0900
46  Vala0.0665
50  Crystal 0.0498
53  D   0.047%

While i can understand Rust ( Mozilla ), Kotlin ( Jetbrain ), 
Go ( Google ).

Even Vala and Crystal are ranked higher then D.


One niche I could see D establishing some popularity is in 
GNU/Linux GTK desktop apps. Especially now that GDC will be part 
of GCC.




Re: How programmers transition between languages

2018-01-26 Thread Paulo Pinto via Digitalmars-d

On Friday, 26 January 2018 at 18:46:12 UTC, John Gabriele wrote:

On Friday, 26 January 2018 at 17:24:54 UTC, Benny wrote:


What i found interesting is the comparison between the "newer" 
languages and D ( see the reddit thread ).


 9  Go  4.1022
15  Kotlin  1.2798
18  Rust0.7317
35  Julia   0.0900
46  Vala0.0665
50  Crystal 0.0498
53  D   0.047%

While i can understand Rust ( Mozilla ), Kotlin ( Jetbrain ), 
Go ( Google ).

Even Vala and Crystal are ranked higher then D.


One niche I could see D establishing some popularity is in 
GNU/Linux GTK desktop apps. Especially now that GDC will be 
part of GCC.


With GNOME in the process of adopting Rust, I don't have big 
hopes for it.


https://wiki.gnome.org/Hackfests/Rust2017

https://wiki.gnome.org/Hackfests/Rust2017-2