5 ms·
Anyone able to report on the growth of the D community at all? Lots of press lately goes to Go and Rust. I even hear about Zig more than I hear about D these d
by butterisgood 6y ago
Anyone able to report on the growth of the D community at all?
Lots of press lately goes to Go and Rust. I even hear about Zig more than I hear about D these days.
Yet I know of at least one company putting their eggs in the D basket (Weka).
Just curious if anyone else feels like this is kind of risky compared to other more-established options. (obviously chicken and egg issues exist).
Haven’t used D in quite a few years, but I’m thinking about playing around again soon.
- throwaway316943 6y agoStarted exploring D recently and my experience has been that the community is a bit isolated but not nonexistent. You can find answers for most questions but most of those will be in the D forum. There are some good books though.
- gavinray 6y agoYou'll always get a fairly near-immediate answer on the Discord too. Yeah, it's not a popular language. Probably won't suddenly take off as one. But if you like it and you're writing software for yourself, who cares. It has the most practical C++ interop of any language, which may or may not be important to you. It's got a core community of very active, helpful folk.
- elromulous 6y agoImho, D's choice to be garbage collected has prevented wider adoption (that's the case for my usage at least). And as a compiled gc language, it competes squarely with golang, something that's likely hard to do, given the corporate (google) support golang has. Side note: I met the creater of D, Walter Bright (also of course famous for the digital mars compiler) at going native 2013 (now known as cppcon). Bright was the nicest guy, and was happy to field my questions. We even chatted about rust, which was just a twinkle at the time!
- nerdponx 6y agoInterestingly, Crystal and Nim also seem to be getting more press than D. And Crystal is more of a direct Go competitor than D is.
- banachtarski 6y agoAs just one anecdote, the mere presence of a GC made me stop looking at D more or less immediately. In terms of positioning, I think D would be better served focusing on a vertical.
- mhh__ 6y ago> I think D would be better served focusing on a vertical. I don't know what that means
- bachmeier 6y ago> As just one anecdote, the mere presence of a GC made me stop looking at D more or less immediately. A lot of people say that, but that's the tip of an iceberg of 500 items that will prevent someone that doesn't want GC from using it. In other words, nobody ever used a language only because it didn't have a GC.
- Kranar 6y agoIf you're being absolutely extreme then sure that's true. I'd still use Ruby with it's garbage collector to implement a video game instead of using Brainfuck even though Brainfuck doesn't have a GC. But if we're being reasonable, then I can say me and my company mostly still use C++ because it doesn't have a GC. It's an otherwise horrible language and I'd love to get off it. For a new project making an order matching system for a financial exchange, we are experimenting with Rust as an alternative and it's looking very promising. I want to see a bit more how the async situation plays out because that aspect of the language has me concerned but overall it's a really clean and principled language. At any rate, the point is that a GC in and of itself is a major deciding factor about whether a language is used or not for many production grade systems.
- Kranar 6y agoCertainly D has a lot of support for hobbyists and solo developers, but hasn't seen much adoption from industry. It's a tough language to sell to a large organization. When you're a solo developer D gives you the flexibility and freedom to pursue the many different paradigms that it supports and create your own mini-dialect of the language that suits you perfectly. You can sprinkle some garbage collection here if you want, some meta programming there if you'd like, or narrow things down to a barebones strongly typed C-like language. There's a great deal of exploratory freedom in that respect. When you're in industry, those freedoms can become liabilities because you end up paying the cost of the language supporting things you have no use for. I don't want to pay for D's garbage collector and I don't large teams all writing up elaborate template metaprograms that have to be maintained. If I wanted a garbage collector, then C# or Java is almost certainly the better choice. If metaprogramming is what I want, I'd use a Lisp dialect like Clojure. For any specific feature D has that would be a major selling point or competitive advantage for my company, there's another language that is almost certainly far better suited to providing it. There isn't one single language that does everything D has, but there's also no single project that would want to make use of all those features, and this becomes very apparent when you see how fractured the D community is and how many mini-dialects of the language there are. Do I support GC or not? Do I make it compatible with betterC or not (meaning exception support). Having a kitchen sink like language results in those kinds of trade-offs. Good language for carving out a niche for yourself that can adapt to your specific style of programming and give you as an individual a great deal of expressive freedom... bad for when you need to coordinate with a large team and buckle down on a small set of rigorous and specialized features that are likely better served by using a tool focused on delivering it.
- throwaway316943 6y agoSounds like it’s perfectly suited for indie game development where everything plus the kitchen sink is a must and the more customizable the better.
- Kranar 6y agoThat's an excellent point actually. I think as a language D could work well for indie games but even there... if you're an indie developer do you go with D or with Unity (which uses C#)? That said, in principle one could imagine a version of Unity that used D instead of C#, and I think that would be a pretty neat combination.
- mhh__ 6y ago> Yet I know of at least one company putting their eggs in the D basket (Weka). Symmetry Investments pay for at least 2 varying-hours staff for the D Language Foundation - including me. This is a recent development. They are seemingly constantly hiring, too. D is basically designed not to be risky. The whole language is a big collection of simple compromises for the most part, i.e. if you want to write correct code the obvious thing to do is encourage testing and contracts, surprise surprise D has first class unit tests and Ada style function contracts.
- mhh__ 6y agoI have the logs for the website downloads, I'll crunch 'em and post them later assuming all goes to plan. Edit: Please with a big grain of salt while I work out whether I'm over-counting, it looks like we've roughly tripled since the last numbers on Andrei's site.
- pornel 6y agoAccording to http://www.modulecounts.com http://www.modulecounts.com crates.io adds more packages in a month than there are on DUB in total.
- petre 6y agoNode.js adds several orders of magnitude more packages as well. That doesn't mean much, other than that a lot of disputable quality packages are added, introducing needless entropy and dependency hell. I compiled a simple Rust program (pueue) a few weeks ago which pulled ~290 deps, which served as a reminder, although nothing broke compared to node and also no deprecation and security warnings. Golang is no different.
- pornel 6y agoAnd there are orders of magnitude more JS programmers. Not every package on DUB is a gem either. So I think overall it's a reasonable proxy for language popularity. By other measures, like number of committers in open-source projects, it's also small and not growing: https://www.openhub.net/languages/compare?language_name[]=dmd&language_name[]=rust&measure=contributors https://www.openhub.net/languages/compare?language_name[]=dm... GitHub trending struggles to find enough projects to show a full page: https://github.com/trending/rust?since=weekly https://github.com/trending/rust?since=weekly https://github.com/trending/d?since=weekly https://github.com/trending/d?since=weekly And of course Golang dwarfs both in popularity. I'm not saying popular is good, but merely answering OP's question about language's growth.
- _veelo 6y agoI work for another company also putting its eggs in the D basket (SARC). We do not consider this risky because of two main reasons: 1) D is not dependent on the funding of one big corporation, so our future is not at the mercy of such corporation. 2) Three highly compatible compilers exist, all of them libre. Inclusion into gcc is probably the best insurance for any language. The D community may be comparatively small, but for us it is big enough. Changes in and around the language may happen comparatively slowly, but for us they happen fast enough. Tooling may be comparatively limited, but we are actually rather impressed by what is available. The language itself is of course awesome.