d unpopular why is
monkyyy
crazymonkyyy at gmail.com
Mon Jun 20 14:04:25 UTC 2022
tldr: std.containers is bad.
D at its best is a cleaned up d with extensive meta programming.
Of the meta-programming paradigms most important for genetic code
is probably templates and iterators.
Why are templates with an iterator concept important, well citing
Alexander Stepanov era arguments and stl, you can separate out
algorithms from data structures and have n^2 implementations for
n*2 blocks of code, because every data structure with every
algorithm should just fit together nicely. BUT that's only true
***IFF*** data structures and algorithms are roughly balanced.
Between std.algrothm, std.range, std.array, etc. I estimate
there's probably 100 useful algorithms, std.containers defines
5.(And I have a low opinion of them); 100 * 5 isn't balanced in
the slightest, like maybe if there were 20 there be 10 useful
ones.
As it stands using the std effectively probably means that:
1) your willing to learn templates
2) your willing to write data structures
3) you learn to complexity of the std take on d's ranges
4) it isn't easier to just use slices and aa everywhere(making
the template hell that std made, probably less effective than
writing 2 versions of every algorithm with much less templates)
That's a high upfront cost, and an ongoing cost of writing the
data structures.
More information about the Digitalmars-d
mailing list