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