A reason to choose D over Go

Idan Arye via Digitalmars-d digitalmars-d at puremagic.com
Wed Mar 25 08:36:14 PDT 2015

On Wednesday, 25 March 2015 at 10:17:01 UTC, Bienlein wrote:
>>I recently made a pull request for a go tool and spent about 
>>half an
>>hour trying to find some function to test whether an array 
>>contains a
>>particular element.
> There are libraries for this like gen: 
> http://clipperhouse.github.io/gen. But it also suffers from the 
> absence of generics.
>>trust me, from an undecided but experienced developer's
>>perspective there are so many reasons to choose D over Go. on 
>>otherhand same person has a lot more reasons to choose Go over 
> I earn my pay with Java development. In my spare time I learn 
> some Scala hoping there might be some work for me with Scala in 
> the future. Then I need to become familiar with all kinds of 
> new frameworks, tools, libraries and systems that continue to 
> pop up every year in the JVM eco system.
> In the end there is not much time left for playing with a 
> "systems language". As Go is very effortless it could be a good 
> compromise here. I have thrown it away and refetched it due to 
> lack of alternatives several times. I would like to play with 
> D, but it has as step a learning curve as Scala. If you don't 
> have a background in C or C++ the learning curve is even 
> steeper. So it depends a lot from where you are coming.

My case is the opposite - Go's easy learning curve is the exact 
thing that drove me away from it. While Go's simplicity makes it 
easy to learn - it also makes it uninteresting to learn. I like 
to learn new languages that introduce interesting concepts, 
because interesting concepts are interesting, and because they 
can change the way you program even in languages that don't 
support them directly. I'm currently trying to learn Rust, and 
while it's far from trivial to wrap your mind around it's concept 
of ownership, I feel that once I do it I can emerge a better 
programmer - so learning Rust will benefit me even if I never use 
Rust in actual projects.

Go, on the other hand, doesn't introduce any interesting 
concepts(more-elegant-C is far from being interesting). I don't 
care for just learning another set of syntax and another standard 
library - that knowledge won't have any effect on the way I'm 
thinking. As long as I don't have a specific project I need to 
use Go for - learning it is just a waste of time.

More information about the Digitalmars-d mailing list