Opportunities for D
Ola Fosheim Gr via Digitalmars-d
digitalmars-d at puremagic.com
Wed Aug 20 09:22:52 PDT 2014
On Friday, 15 August 2014 at 12:49:37 UTC, Paulo Pinto wrote:
> So is the cost of trying not to have an healthy set of
> libraries as part of the standard like the other programming
> languages. Thanks to the C tradition that the language library
> is the OS.
>
> Thankfully, the standard is now catching up and will eventually
> cover a good set of use cases in the standard library.
I think the importance of standard libraries are overrated beyond
core building blocks for real system programming. You usually
want to use the ADTs of the environment to avoid format
conversions or fast domain specific solutions for performance.
If you want FFT you need to look for the best hardware library
you can find, no language library willl be good enough. Same with
unwrapping of complex numbers to magnitude/phase, decimation and
a lot of other standard routines.
Libraries with no domain in mind tend to suck. So performant
frameworks tend to roll their own.
I think phobos is aiming too wide, it would be better to focus on
quality and performance for the core stuff based on real use and
benchmarking. A benchmarking suite seems to be missing?
A good clean stable language and compiler is sufficient. A
library with core building blocks that can be composed is a nice
extra. Phobos should be more focused. Too much added and you end
up with underperformant solutions, unmaintained code, untested
buggy code, or weird interfaces, e.g. lowerBound() that returns
the inverse of what the name indicates, walkLength() that does
not take a visitor object etc.
Providing good solid interconnects / abstractions are more
important than functionality and solutions for growing the eco
system. In python the key interconnect feature is having solid
language level support for lists/dicts. C++ tried iterators, but
it is tedious to define your own and tend to be underperformant,
so frameworks might not want to use them. D is trying ranges...
But without benchmarks... Who knows how it fares in comparison to
a performance oriented algorithm?
More information about the Digitalmars-d
mailing list