Questionnaire

Mike via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Feb 8 13:41:24 PST 2017


On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:
> 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:

No

> 3. If Yes, can Mir community use your company's logo in a 
> section "Used by" or similar.

N/A

> 4. Have you use one of the following Tamedia projects in your 
> production:

No

> 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 
unlikely).

> 6. Why many topnotch system projects use C programming language 
> nowadays?

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 
efficiency.

* "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++": 
https://www.youtube.com/watch?v=D7Sd8A6_fYU&t=2631s




More information about the Digitalmars-d-announce mailing list