top | item 26158191

Organizations Using the D Language

144 points| crazypython | 5 years ago |dlang.org

127 comments

order
[+] bdd|5 years ago|reply
Facebook was using D for rather important components at the time of linked tech talk.

As of today, there's only one important looking thing left implemented in D.

So...

[+] Decabytes|5 years ago|reply
Once I've gotten a better grasp on C, I plan on moving up to a language with a few more conveniences for day to day programming. It's between D, Rust, and C++. I feel like the safe bet is C++, but since I don't plan on getting hired to do it, Rust and D are also in contention.

I like the idea of using D with a garbage collector and having something like GO, and then turning it off when I want to do something more performance oriented.

How is the performance of D compared to other garbage collected languages when the garbage collector is turned on?

[+] ljm|5 years ago|reply
Zig is worth a look for C-like stuff, considering the zig compiler is also a legit C compiler now.
[+] moonchild|5 years ago|reply
> How is the performance of D compared to other garbage collected languages when the garbage collector is turned on?

The GC itself isn't very good. The overall language performance, though, is quite good; the allocator isn't usually a bottleneck.

[+] bsaul|5 years ago|reply
The idea of having a language that can work with or without a garbage collector in different part of a code seems completely impossible to manage to me. How can this even work in practice ? Do you have twice the stdlib ? Twice the libraries ?

I'm pretty sure the D guys figured it out, but i'm really curious to see what's the end result in the real world, once it reaches the dirty hands of end-product developers :))

[+] qaq|5 years ago|reply
If you plan on getting hired to do it D would be a pretty bad bet.
[+] randomNumber7|5 years ago|reply
If you can think like a C programmer, you will be able to write really fast programs in D.

D, C++ (and also C# and Java) are very similar languages. If you learn any of those, learning the others will be easy.

C++ is just the most complicated because of the accidental complexity of the language.

[+] mhh__|5 years ago|reply
The performance is going to be exactly the same for almost all code. D is spectacularly good at turning performance up to 11 - inline assembly is a first class thing in D.

D also makes generating code at compile time extremely easy which is a performance win at the expense of some compile time (no free lunch) but once again you slide the scale easily as the code the generates it is the same as at runtime.

There are two real backends one can use for these kinds of things, or one for Rust (LLVM) and friends.

[+] miccah|5 years ago|reply
Take a look at V. It's like the love child of Rust and Go. It's extremely fast (both compiling and executing), has simple syntax with "one way to do things", has sum types and option/results with enforced error checking, and it even has a REPL.

Oh not to mention it has C interoperability and a native cross-platform GUI library.

https://vlang.io/

[+] otabdeveloper4|5 years ago|reply
C++ is the language that is changing the fastest of the three. In 5-10 years it will be the most modern choice; D is already legacy.
[+] generichuman|5 years ago|reply
Is this list up to date? It looks like Facebook stopped using it. (they archived the linked repo)
[+] Kranar|5 years ago|reply
Judging from the Github links posted, this list looks fairly out of date. Many of these organizations no longer exist, switched away from using D and heck, one of them isn't an organization but just a guy's solo project.
[+] mhh__|5 years ago|reply
Of these Companies, Symmetry Investments and Weka are probably the most prominent in the community.

Symmetry seem to be perpetually hiring (The management fee alone on 6Bn must be quite a lot), so worth asking around.

[+] swagonomixxx|5 years ago|reply
Cool to see ArabiaWeather using D, especially with a link to the talk. For someone from that region (the Levant) I rarely see any organizations in the Arab world discussing tech, simply because they usually outsource most of the work to nearby tech hubs like India.
[+] jibbit|5 years ago|reply
I'm a bit embarrassed to have to ask.. D lets you transparantly use/make native libraries with the C ABI ?

Are there other/any languages that do this?

[+] destructionator|5 years ago|reply
Yes, D does it trivially. I don't think that's terribly unique though, as I understand it Rust and several others can too.
[+] DonnyV|5 years ago|reply
At this point I'm not sure why you would used Dlang when you can use C#. Maybe if your doing really close to the metal stuff. But not sure why for anything else.
[+] mhh__|5 years ago|reply
I'm obviously biased as I work for the D foundation, but I tried C# for a while - it's was fairly nice to use but the lack of const-correctness and purity where I wanted it made me badly miss D.

D is not a simple language, but the solutions it chooses are usually very simple - for example, D has unit testing in the language, this is maybe a day's work in most compilers and yet not many others do it.

[+] destructionator|5 years ago|reply
C# is a pretty good language and for some tasks, probably a better choice. But D is very versatile, so once you get into it, you can expand your use into all kinds of different areas. It can do your regular application or line of business support code reasonably well, but it can then also expand out to new platforms, new paradigms, and tie together niches under one language.

As an individual programmer, it is pretty cool being able to write web apps and homebrew video games with the same language. For a company, you probably aren't going to be that varied, but it can still be good to dive into some special optimizations as needed.

Many of the organizations on this list use D for some combination of its flexibility. They have two areas of interest that need to co-exist and D lets that happen with minimal friction.

[+] p0nce|5 years ago|reply
Some workloads work better in native code.
[+] scns|5 years ago|reply
Because you can just deploy a binary / no runtime needed?
[+] p0nce|5 years ago|reply
Not sure why you would use C# when you can use Dlang?
[+] Shadonototro|5 years ago|reply
C# is a Java for the poor

Missing:

- native compilation, of course

- mateprogramming, ctfe, mixin etc etc

- raw performance

- free c/c++ interop

- optional GC

- manual memory management

At best it is a Java clone that tries to eat NodeJS cake at the same time, but is then eaten alive by GOLANG

C# is plagued with enterprise bullshit (OOP, dependency injection, factory bullshit, one class per file bullshit, etc etc etc)

Worse, it only has a JIT, no AOT native compilation (there is one compiler but AFAIK Microsoft is focusing on JIT) so it can't do system/native development at all