5 ms·
D has been around for a long time now. I never considered it to be a viable candidate because I'd use it for low level server side stuff, and garbage collection
by marktangotango 10y ago
D has been around for a long time now. I never considered it to be a viable candidate because I'd use it for low level server side stuff, and garbage collection required by the standard library was a no go. GC is optional in user D code, but the standard library uses it, so it gets pulled in. Last I checked they were working this out, if/when they do I'll check it out again.
Personally, for the server stuff I was doing, I just used C. Yes, it can be painful, but it's always there, always supported, and can be bent to your will.
- WalterBright 10y ago> I just used C. D has a C subset, in that there is a 1:1 correspondence. If you write code this way (I have) there are zero calls to the GC, and you will get the same code generated as a C compiler would (after all, all three D compilers use C compiler code generators). The reason I have written code this way is when I've converted C code to D. Once it is in D, then I start refactoring it to use D idioms, but that's not necessary. I.e. you can use D as a C compiler. (Likely the most tedious issue translating C to D is if the C code uses the preprocessor as a metaprogramming language. Fortunately, this is unusual.)
- robochat 10y agoOk, but I was trying to avoid The GC hate. I understand that these are real issues but I wanted to hear about other things. It's so hard to avoid people bringing up the same issues again and again when discussing languages. Python - too slow Go - no generics C++ - too much history, too vast Rust - too hard Perl - unreadable Java - too verbose Fortran - too old I have learnt C but it seems like a lot of work to do simple things and I guess that I've been put off by all of the scare mongering until I can't imagine being able to write a program that isn't riddled with bugs.