12 ms·
once D is in GCC does that mean most of the rationale of Go(lang) is gone, in that both D and Go are supposed to be non-shitty C++. Now I don't need to downloa
by r4vik 15y ago
once D is in GCC does that mean most of the rationale of Go(lang) is gone, in that both D and Go are supposed to be non-shitty C++.
Now I don't need to download another compiler to write D and I can use c libraries with it, I don't think Go has much over D in order to make me go to the effort of installing a Go compiler.
- nl 15y agoNo. The concurrency constructs (Goroutines) in Go are different and quite unique (I think D offers a number of models, but mostly pushes you towards Actors). Go has simplicity as a much higher priority than D does. This thread might be useful: https://groups.google.com/forum/#!topic/golang-nuts/8k59RgkeJ6s https://groups.google.com/forum/#!topic/golang-nuts/8k59Rgke... They are both interesting languages, but you might as well say that because C++ and Ada are in GCC the rationale behind Go has gone.
- r4vik 15y agoThat's assuming you care about concurrency in a low-level systems programming language. If my problem space requires concurrency I'd use clojure or erlang. I guess if you're interested in one language for everything then maybe Go is better.
- burgerbrain 15y agoGo is not meant to be a low level systems language... it is meant to be a systems language useful for implementing services... something for which you better be caring about concurrency for. Erlang really is the best language to point at and say "why do we need this new one", though doing that in the first place is stupid.
- william42 15y agoIsn't Erlang the oldest language out of the ones we're talking about?
- cenuij 15y agoI don't follow you on this. You could just as well say; since Go is already in GCC I don't need another compiler to write Go and I don't need to write any D, or C++ or... In any case D and Go are very different beasts
- r4vik 15y agoYeah I wasn't clear, I mean one of the big things putting me off using D more was having to download DMD, so I'd be more inclined to write Go, if this gets merged I won't be.
- ori_b 15y agoWhy? Both compilers are just one apt-get away.
- uriel 15y agoOne thing to remember is that AFAIK no D2 compiler implements the whole language, and even DMD, which is the 'canonical' implementation seems to be well known for its copious bugs. This is not surprising given how huge and complex the language is. Go's compilers (like all code) also have bugs, but you rarely if ever run into them, even given their youth and the blinding rate of improvement, they are quite stable.
- andralex 15y agoD1's compiler was great when D did as little as Go does. Also please stop spreading FUD - the current compiler is eminently usable.
- burgerbrain 15y ago"was great", implying you are conceding it now has faults but are suggesting this is only because it does more than Go does.. I'll let that stand for the furtherance of this conversation but I do disagree with your assertion... "current compiler is eminently usable", didn't you just concede half a sentence ago that it is now full of bugs?
- sambeau 15y agoNo. D is a rethinking of C++. Go is a re-imagining of C++.
- hasenj 15y agoGo seems more like an imagining of what a modern descendent of C should be like. It's not just about classes; it's also about concurrency. Although D2 did have some concurrency ideas, I think Go does a much better job at figuring out how to solve concurrency problems on modern hardware.
- andralex 15y agoI disagree. As far as I can tell, Go is a resolute step backwards from C++ in efficiency, modeling power, and generic programming. That's not necessarily bad; simplicity has its virtue, too. The larger problem is that Go fails to avail itself of the progress in programming languages theory and practice in the past 30 years.
- uriel 15y agoGo is specially a huge step backwards from C++ in convoluted insanity.
- thetruthsayer 15y ago+1 this man made a very rational comment. Simplicity is going to win one day.
- deadalnix 15y agoas well as D.
- andralex 15y agowithout throwing the good parts away.
- sambeau 15y ago
- uriel 15y agoYou could as well say that now that gcc can compile C++, it can drop support for C (and no, C is not a subset of C++ anymore). Go aims for a very small and clean set of features that work well together and produce code that is easy to write and read, D seems to aim to include every C++ feature and a few more.
- WalterBright 15y agoNot every C++ feature at all. It does aim to include support for modern paradigms, whether or not C++ supports them.
- zem 15y agogo is far closer to a better c than it is to a better c++