On Wed, 08 Feb 2017 18:27:57 +0000, Ilya Yaroshenko wrote:
> 1. Why your company uses D?
You might have specified that this questionnaire is only for people who
use D at work.
I use D for small utilities to help in development. For instance, I used
vibe.d to compare performance with other frameworks when I had performance
> 2. Does your company uses C/C++, Java, Scala, Go, Rust?
We use Java, Kotlin, and some C/C++.
> 3. If yes, what the reasons to do not use D instead?
On the client side, we're building for Android. Some of it is native, and
it would not be a natural fit to use D (minor modifications in Android
platform code that's written in C/C++).
We use Swagger and Thrift for service definitions. Thrift supports D;
Swagger does not.
We use AWS. There is no AWS client library for D and it would not be cost-
effective to implement one.
If we want people to learn a new programming language for the JVM, they
probably know Java already, and the rest of the ecosystem is identical.
With D, the ecosystem is entirely difficult.
Java has NullPointerException, while D has a segmentation fault. It's easy
to catch NPE and harder to handle a segmentation fault, even if you are
just trying to log and exit.
The "die on error" trend has me worried that it will be difficult to run
services with reasonable uptime, and the people saying that we shouldn't
even try to log anything in the face of an error worry me even more. I
can't run systems in production if I'm not allowed to log errors. The
runtime doesn't even promise to make an effort to let me catch an Error.
> 2. Have you use one of the following Mir projects in production:
> 4. Have you use one of the following Tamedia projects in your
I've never even heard of them before. Have they ever thought of going into
> 5. What D misses to be commercially successful languages?
The backing of a large organization. The example of Go shows me that a
language can become successful despite its technical attributes with the
backing of a large organization.