On Wednesday, 25 March 2015 at 15:36:16 UTC, Idan Arye wrote:
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
the
otherhand same person has a lot more reasons to choose Go over
D.
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.
True. D has changed my way of thinking in other languages too. I
sometimes find myself implementing (at least trying to) D
concepts in other languages.
Go doesn't seem worth the trouble. Also, if it's so primitive and
easy to learn, you don't need to bother learning it, you can just
dip in when you need it for some reason.