On Friday, 29 May 2015 at 14:46:06 UTC, Ola Fosheim Grøstad wrote:
On Friday, 29 May 2015 at 14:22:58 UTC, Chris wrote:
However, for a constantly growing long-term code base, D is my language of choice. It's clean (i.e. maintainable), flexible (many ways to tackle new problems), easily unit-testable and, of course, compiles to native machine code. It also interfaces to C(++) which is very important.

Yes, C++ interfacing could prove important, if it can cover
>95% of C++ library interfaces.

Are you using D for a constantly growing long-term code base, or planning to?

I've been using D for a long-term project for quite a while now.

There is no way a generic solution can beat a tailored solution when it comes to abstract datatypes and memory management, so having lots of options in a standard library sounds useful.

Ugh, I said the opposite of what I meant. I don't think having lots of allocation options in a standard library sounds all that useful, since I will most likely roll my own when hitting a serious performance problem. Rolling your own is often the same amount of work as "searching for a narrow solution" unless you are doing something really complicated.

I think many standard libraries could be cut down to the most generally useful functionality. In C++ I use std::array or my own data structures, I only occasionally use std::vector… In Python I use no more than 5% of the standard library. Generally useful solutions (like comprehensions) beats narrow solutions 99% of the time, because when you need something narrow then the pre-canned narrow solutions often require hacks to serve the purpose (the wrong kind of narrowness or "fits perfectly except it doesn't work when…X…").

Reply via email to