Hacker News new | past | comments | ask | show | jobs | submit login

Easy,

Go is targeted for developers that can move out of C in their use cases.

D is targeted for developers that can move out of C++ in their use cases.




I'm not sure 'targeted' would be the correct term, at least for Go. Go initially was targeting C++ devs(however ambitious and failed that attempt may have been) by offering this stripped down new language that more resembles C.

I've always much preferred C style to C++/D/Rust based mainly on readability and how small the language felt. I completely agree though that Go has given me this similar feeling - to me it really is a modern C. That said, I'm not sure how many C devs are going to like the bounds put in place by Go, or the mandatory GC.

I am, admittedly, a big fan of go also. For me, it has taken from both C and Python use cases, which I think says a lot about its versatility.

The D statement may be accurate, I've never done anything with D and only minimal brush ins with C++ - but to my untrained eyes, they seem pretty similar.


The Go core devs have said they are targeting Python devs now who want more stability and performance for heavy applications.


No we haven't. We're targeting programmers who want to write software. (Sounds glib, but it's true.)


Except that the go developers explicitly stated their design goal was to replace C++ for their needs, not C. And that completely failed, and now the focus is on pulling in python devs.


I jumped into Go bandwagon early on, even tried to do some initial contributions. Mostly because Go has an Oberon feel to it. A GC enabled systems programming language I used for a while in the mid-90's.

However, I quickly became disappointed with Go's spartan design, given my broad experience across languages and paradigms.

That is why somehow I feel it is more indicated for C developers, that could live with a GC enabled language.

As they would mostly getting type safety and a few more features, whereas developers from other languages are mostly giving away features.


Yes, but from what I've learn of the original developers, "replace C++ for their needs" means, "we are using C++ currently, we don't want to, so we're making a language which incorporates a core which helps our tasks (goroutines). To do this we will fix up some issues we have with C."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: