Questionnaire

Moritz Maxeiner via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Feb 8 16:50:44 PST 2017


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

I use D only privately so far.

>
> 2. Does your company uses C/C++, Java, Scala, Go, Rust?

I've seen C, C++, and Java being used.

>
> 3. If yes, what the reasons to do not use D instead?

Nobody ever heard of the language (this holds true pretty much in 
every discussion I have on the topic)

>
> 2. Have you use one of the following Mir projects in production:
>
>   a. https://github.com/libmir/mir
>   b. https://github.com/libmir/mir-algorithm
>   c. https://github.com/libmir/mir-cpuid
>   d. https://github.com/libmir/mir-random
>   e. https://github.com/libmir/dcv - D Computer Vision Library
>   f. std.experimental.ndslice
>

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:
>
>   a. https://github.com/tamediadigital/asdf
>   b. https://github.com/tamediadigital/je
>   c. https://github.com/tamediadigital/lincount
>

I've used asdf for configuration files[1][2], it works very well 
for shortening development time.

> 5. What D misses to be commercially successful languages?

My two cents:
- "Name" backing by a well-known (i.e. internationally famous) 
corporation/foundation
- Viral marketing ("spread the D")
- Fix or removal of all the little things that may make someone 
go "ugh, wtf?". I'm looking at you, `shared`, and your missing 
memory barriers[5], or you, `std.parallelism.taskPool`, and your 
non-daemon "daemon" threads[6]. Privately I can work around them 
since it's my own time, but I don't expect many people in big 
companies (see first point) with a deadline to want to put up 
with that.
- Tooling, though that's been getting better
- Phobos without GC (where possible)
- std.experimental.allocator -> std.allocator and promote it as 
*the* memory management interface for D. Seriously. With it I can 
even allocate and pass delegates to C in an intuitive way (see 
[3] and [4]).

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

Don't know if the premise holds, but if it does I'd wager it's 
because people who *do* write topnotch (system) software can do 
so in *any* (system) language that's asked of them - since in the 
end the topnotch comes from the person writing the code, not the 
language ("ignorance (of a language) can be remedied, stupid is 
forever") - and C has the de facto corporate monopoly of being 
asked to write in.


[1] https://git.ucworks.org/UCWorks/dagobar/tree/master
[2] https://git.ucworks.org/UCWorks/tunneled/tree/master
[3] 
https://git.ucworks.org/UCWorks/dagobar/blob/master/source/libuv.d#L125
[4] 
https://git.ucworks.org/UCWorks/dagobar/blob/master/source/libuv.d#L159
[5] https://dlang.org/faq.html#shared_guarantees
[6] https://issues.dlang.org/show_bug.cgi?id=16324


More information about the Digitalmars-d-announce mailing list