How D could gain more traction?
via Digitalmars-d
digitalmars-d at puremagic.com
Wed Apr 15 06:14:55 PDT 2015
On Wednesday, 15 April 2015 at 12:36:16 UTC, Rikki Cattermole
wrote:
> Nope. Good API isn't good enough. For things like window
> creation, image library ext. If they ain't in phobos, it ain't
> gonna get used.
> That's my experience with Devisualization anyway.
Go, Dart, Python and Javascript are good counter examples. But
they are high level so they don't demand performance. C/C++ are
also good counter examples, but as you can see, different
system-level-applications need different kinds of libraries
because there are unsurpassable
API-complexity/performance/features trade offs.
People do use libraries if they are:
- high quality
- have existed for many years OR have major backing/support
- have a reasonable user base
- are well documented
- demonstrate ease of use in tutorials
- no lock in
Creating excellent idiomatic wrappers to already popular, mature
and well supported C/C++ libraries is probably more "marketable"
than selling home grown new borns...
Keep in mind that designing at generally useful library that also
performs well in unknown scenarios is VERY difficult when you go
beyond the leaves in the call-tree. Performance APIs for anything
complex tend to demand nasty APIs or a DSL with builtin compiler.
Finding the right trade offs take many iterations with use in
real world applications.
Designing "leaf libraries" (mostly independent of the
application) like an image loader, xml/json parser or compression
library is relatively easy (but still difficult). But still,
even compression libraries have to provide fine grained buffering
and control in order to work in many projects...
Basic stuff like a generic DB abstraction or (non posix) file i/o
abstraction is impossible to get right due to differences in the
underlying system.
(you also need a skilled benevolent dictator/janitor/custodian
which takes both motivation, the right personality, experience...
and time)
More information about the Digitalmars-d
mailing list