On Thu, Jun 10, 2010 at 17:25, Nick Treleaven nick.treleaven@btinternet.com wrote:
On Thu, 10 Jun 2010 16:28:42 +0200 Jiří Techet techet@gmail.com wrote:
Go is not a good replacement for C++, try D. Some people say Go is a good replacement for C.
And some people say that it has sadly made some decisions that prevent it being that, but with Google behind it it may succeed anyway, after all C succeeded for non technical reasons.
It's definitely not a replacement for C - C is just a higher-level assembler that is (mis)used by projects that would normally use a higher-level language if there was a sane alternative (geany for example). You can almost see the instructions into which it translates. I can't imagine that projects like linux kernel would ever use a garbage-collected languauge.
I've never used D so I can't comment much on that but as Lex said - D has no chance because there is no big corporation behind it, while for
I agree it helps, but are there really no successful widespread languages that didn't have corporate backing?
Unfortunately we're not living in the 70's or 80's, where the best had a chance, and there's a lot of software written in the mainstream languages. These applications won't get rewritten just because some better language appeared (or do you plan to rewrite geany in D? :-). In the last 15 years the only successful languages were those where some big company was behind (Java, C#).
go I see some chances. And I like many design decisions behind go - the good thing is that they have taken into account both practical and theoretical aspects. One has to make compromises (e.g. to have easy to use build commands dialog or more general dialog ;-), but I think they went the right direction.
Go doesn't give the user much power vs C++ or D. That's why I think D is a more natural replacement for C++.
D looks much closer to C++, but I like the go people had a fresh look at a language design and as I said, I like many of their decisions. (I don't say it's better or worse than D - I would have to learn D first and use go for a reasonably big application.)
And it's fast. I spend one hour a day just compiling with C++ code.
A D developer says it's faster than Go at compiling, and it has templates: http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&gr...
Well, it really depends if he was compiling a single file or a library with many includes. What makes the compilation of C++ slow is that it has to parse the same headers again and again every time they are included (and all the includes inside the includes). This is eliminated in go. If D uses includes, then it will be slow for big projects too.
Jiri