What is the D plan's to become a used language?

Bienlein via Digitalmars-d digitalmars-d at puremagic.com
Sat Dec 20 04:39:00 PST 2014


On Saturday, 20 December 2014 at 12:24:29 UTC, Paulo Pinto wrote:
> On Saturday, 20 December 2014 at 12:19:34 UTC, Bienlein wrote:
>> I would say that D needs a usecase that puts it aside from 
>> other languages. For Java this was the Internet. For Go it was 
>> channel-based concurrency in conjunction with some style of 
>> green threads (aka CSP). It is now the time of server side 
>> concurrent programming. I would suggest to jump onto this 
>> wagon and add channels and green threads to D. When people 
>> successfully develop many server side systems this way as with 
>> Go the news will spread by itself. No killer app for D needed. 
>> Also Go does not have one.
>>
>> -- Bienlein
>
> Go has Google's sponsorship, Docker and CoreOS.

Message passing for concurrent server programming means 
asynchronous programming. Asynchronous programming is inherently 
difficult and error prone. I have done it for years and everyone 
else who has can confirm this.

The big thing with CSP-style channels is that while things are 
going on concurrently the code can be read like synchronous code. 
This way a lot of people out there have built server side systems 
with Go in record time. All the startups using Go are proof for 
this.

There is really a lot of "technical data" and scientic papers 
about this. The success of Go tells its own story. Also Rust will 
have a module for CSP-style concurrent programming. That comes 
for a reason.

This is the original paper titled "Communicating Sequential 
Processes" by C. A. R. Hoare: 
http://www.usingcsp.com/cspbook.pdf. CSP is not missing 
"technical data". It has a solid basis and Go shows that it works 
well. It has drawbacks like lack of pre-emptiveness, but things 
like the C10K problem solved out of the box is more important to 
many server side systems to be built.

Apparently, for D some commercial big spender has never popped 
up. Killer apps to be developed need some good piece of fortune 
to turn out successfull. But adding a more adequate 
multi-threading/concurrency model to D and make it a success. And 
that takes little resources compared to other alternatives to 
make D more widely used.

Docker is not developed by Google. It is made by a company of its 
own who was looking for a language suitable for server-side 
concurrent programming. It could have been D if D better support 
for this.


More information about the Digitalmars-d mailing list