Questionnaire

Dmitry Olshansky via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Feb 10 15:02:38 PST 2017


On 2/8/17 7:27 PM, Ilya Yaroshenko wrote:
> 1. Why your company uses  D?
>
>   a. D is the best
>   b. We like D
>   c. I like D and my company allowed me to use D
>   d. My head like D
>   e. Because marketing reasons
>   f. Because my company can be more efficient with D for some tasks then
> with any other system language
>

Will probably stop on this question as the rest is not applicable.
I do not use D at my company and the reason is that any language to get 
a use need to pass stringent sorting criteria that I don't even 
appreciate fully. The language that have green light I believe are

C++, Go, Java, Python (under heavy pressure to switch to Go)

Anyhow when trying to sell D to any company the only case I can make a 
good offer is having these attributes:

1) It's a new project, not extension of an existing behemoth code base
2) Fairly unique - i.e. cannot be just a bunch of existing libraries 
glued together with some business logic.
3) Needs native performance at least in some areas of the project.

Now let's imagine a company considers technology X and I want to propose 
D instead. Let's look at possibilities:

C++ - they are not afraid of creating their own stack and 
performance-minded. This is probably the only case where selling D is 
easy. However these days selling them Rust would be much easier.

Rust - they value native speed, safety and afraid of GC. D's state of GC 
would only confirm their fears and D's safety is mostly opt-in/ relies 
on GC/not supported enough.

Java - they love VM safety and GC, most likely invested in Java 
ecosystem. Here the better sell would be Scala or Kotlin etc.

C# - they are probably hooked on MS technology and tooling 
(VisualStudio). The current state of D's IDE will make them cry like 
little babies, no selling here.

Go - they value simplicity and robust run-time (Go's GC breaks news with 
sub-milisecond pauses on large heaps). The sheer complexity of D is 
enough for it to be a hard sell, D's GC is coup de grace.

Scripting languages - they don't care for elaborate type systems and 
willing to trade performance for flexibility. Selling easy templates to 
them is like giving candies to kids with diabeties. Trying to lure with 
performance hits a brick wall because e.g. NodeJS/LuaJIT have fast JITs 
already and they don't care going beyond that level.

---
Dmitry Olshansky


More information about the Digitalmars-d-announce mailing list