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