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