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

Reply via email to