Uphill

Chris via Digitalmars-d digitalmars-d at puremagic.com
Tue May 26 03:07:08 PDT 2015


On Sunday, 24 May 2015 at 21:35:13 UTC, bachmeier wrote:
> On Sunday, 24 May 2015 at 20:36:47 UTC, Laeeth Isharc wrote:
>> Without wishing to dwell on the negatives of alternatives, 
>> might I ask what made you decide to settle on D?  Do you have 
>> collaborators who write code and, if so, how did the 
>> discussions with them go about this?  For your use case, what 
>> have been the main gains you have seen and how long did it 
>> take before these started to come through?
>
> I'm not weaselcat, but I'm an academic and I also tried out 
> Rust before using D. I came to the conclusion that there was no 
> way I could ever expect any collaborator to use Rust. The 
> syntax was crazy. The requirement to study memory management 
> issues (something completely irrelevant) before even reading 
> the code was a non-starter. It's just a complicated language 
> that is not suited for the average programmer.
>
> D is different. As long as I avoid templates, it's easy to read 
> the code I've written, without any experience with the 
> language. I tried C++ (Dirk Eddelbuettel devoted a section of 
> his Rcpp book to an example I contributed), Rust, and Go. The 
> other realistic alternative was Go, but I chose D as a matter 
> of personal preference.

This is an often underestimated aspect. Code that looks clean and 
pretty makes programming much more enjoyable and thus boosts 
productivity. If a language is not nice to look at, it puts 
people off. Not only because it makes code less readable, it is 
also aesthetically off-putting, which is purely psychological, 
but real nonetheless. D is quite clean for the most part and you 
can easily discern the "shape" of a program (even people who've 
never used D, can make sense of it by looking at it). If a 
language like Rust introduces convoluted syntax for even the 
simplest tasks, then it will put people off, both in an aesthetic 
sense and as far as understanding the code is concerned (not to 
mention all the typing!). I think this is one of the reasons 
Python took off. It's nice to look at.

With Go I have the sinking feeling that it won't be able to 
contend with C++ - or D for that matter. It took off due to 
Google and a fool-proof, easy-to-use infrastructure. But it is 
way too limited and limiting to be useful for more sophisticated 
tasks. Go's core devs even say that they wanted it to be an 
easy-to-use, middle-of-the-road language for those who work in 
their code mines, focusing on a high output, and it doesn't 
matter, if you have to write the same function or for-loop with 
slight modifications over and over and over again.

Nim looks interesting, though. It combines nice features with 
Python's cleanliness. It is just this type of language people at 
universities and "coders-by-accident" love. Ha ha ha.


More information about the Digitalmars-d mailing list