On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko
1. Why your company uses D?
We don't use D.
2. Does your company uses C/C++, Java, Scala, Go, Rust?
C/C++. Currently exploring Rust.
3. If yes, what the reasons to do not use D instead?
* The powers that be in my company are the kind of C programmers
that can't understand why anyone would want to use C++ (i.e.
Electrical engineers that write software). Suggesting D would be
an exercise in futility, unless I can create a notable project in
D in my spare time that demonstrates its advantages and appeal to
the masses. I tried to do this 2 years ago, but D failed me,
primarily due to https://issues.dlang.org/show_bug.cgi?id=14758
* Our customers don't use D. Some of our products are libraries
and tools that our customers use. It doesn't make sense to
program them in D if our customers don't use D. Though, if D had
a minimal runtime, we could write them in D and distribute them
with bindings to other languages.
* For us, binary size efficiency and minimal runtime are
important features. D is not pay-as-you-go; many heavy-weight
features are opt-out instead of opt-in. In contrast Rust has
"minimal runtime" as one of its pillars making it a much better
alternative language choice for us than D.
2. Have you use one of the following Mir projects in production:
3. If Yes, can Mir community use your company's logo in a
section "Used by" or similar.
4. Have you use one of the following Tamedia projects in your
5. What D misses to be commercially successful languages?
I believe D has the potential to bury all other emerging
languages out there, but only if it drops its historical baggage.
At the moment, I'm of the opinion that D will remain an obscure
language until someone forks D and takes it in a different
direction (unlikely), or the D Foundation decides to "reboot" and
start working on D3 with a new, updated perspective (more
6. Why many topnotch system projects use C programming language
Which topnotch system projects?
* C is the lowest common denominator. All modern languages that
I'm aware of can interface with C. If one wants to write a
library for mass adoption, the best way to do so is to write it
in C and create bindings for other languages. D could be a good
substitute for this if it had a "minimal runtime" philosophy.
* C is a simple, efficient, and powerful language. Some equate
language complexity and heavy runtimes to bloat and inefficiency.
Some see too much language complexity as an impediment to
productivity. C creates the appearance of simplicity with
* "Minimal Runtime" is the building block of systems programming.
If this is not a core feature of a language, it will never
compete with C. Systems programmers in my field need to
incrementally opt-in to features in a pay-as-you-go fashion to
make precise tradeoffs for their unique requirements and hardware
platforms. Rust is the only modern language that I'm aware of
that's getting this right.
* You may also be interested Dan Sak's recent talk "extern c:
Talking to C Programmers about C++":