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