language feature usage statistics
something at something.com
Fri Oct 18 19:53:46 UTC 2019
So this is something I've been wondering about for a while. And I
don't believe I've seen any compiler with this, but have people
ever thought about putting telemetry in compilers? How do people
feel about having feature usage stats from dmd?
I can understand that networking from a compiler just sounds bad,
but, there're other ways around it. e.g. write a file instead and
ask dev to email it, or ask for permission before turning it on
and send it, only do it in debug mode, I dunno, just spit balling
But, having actual usage statistics will take away so many
assumptions people have about how features are used, how often
they're used, which features are not used, etc (of course if
there're no statistics on a feature it doesn't mean it's never
used). Data like this is very actionable - and is how any
(probably non-enterprise) product is built these days (even
vscode for example has an option to send usage stats).
Crash reporting is another thing. When the compiler crashes, that
can be sent somewhere (again, with user permission).
Things that can be answered:
* which feature is not used and can be cut
* which feature is used the most and should be enhanced, fixed,
* which combination of features are used together => can they be
The next time someone says they don't think lazy is useful, we
can point to actual data.
And then for example, from the features that are hardly used, we
can start asking why they are not used. If we know why then
future features that may contain the same base assumptions that
led to the creation of the unused features can be avoided.
Figuring out why the features are unused, or hardly used, can
also better enable us to make the feature usable.
These kind of stats can also be collected on any symbols that are
loaded from std for eg, and then we can also get a feel for which
functions and modules are used from phobos.
Anyway, I'm not sure about others, but if it'd make D a better
language than the competition, I'd gladly trust dmd to send stats
to a place the d language foundation controls.
More information about the Digitalmars-d