digitalmars.D - Clarification on D.
- aberba (14/14) Mar 08 2017 I don't really have much experience with large code base, so
- deadalnix (5/19) Mar 08 2017 D's GC doesn't have great performances. However it works great
- XavierAP (8/11) Mar 08 2017 This is probably a common question, and it would be easy to
- aberba (3/15) Mar 08 2017 So technically and from experience, the current state of D is not
- XavierAP (31/33) Mar 09 2017 I don't have enough experience with D yet, hopefully someone else
- Arun Chandrasekaran (3/4) Mar 09 2017 Just a FYI, Andrei *used* to work at Facebook.
- thedeemon (9/16) Mar 09 2017 This is mostly a psychological effect of C++ folks having
- Paulo Pinto (8/14) Mar 09 2017 You should watch last year's CppCon 2016 talk by Herb Sutter,
- bachmeier (8/14) Mar 09 2017 It is interesting to have watched this debate over the years.
- Paulo Pinto (4/18) Mar 09 2017 C++11 also defined a GC ABI for those "commercial and
- Guillaume Piolat (24/28) Mar 09 2017 Well, I don't think there is such problem. I make medium-size
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (5/7) Mar 09 2017 The competition doesn't smack talk D, I think. If they mention D
- Guillaume Piolat (4/5) Mar 09 2017 I'm not sure why you would think that, if anything that
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/11) Mar 09 2017 I am speaking of what they are perceiving not what I think. They
- Guillaume Piolat (3/6) Mar 09 2017 I don't really want to talk with you.
- Ola Fosheim Grostad (6/9) Mar 09 2017 Whatever suits you, but don't pretend that people that express
- dewitt (25/33) Mar 09 2017 I don't think the community should think in terms of "threat" or
- bachmeier (5/8) Mar 09 2017 That's a good sign. It comes with the territory when a language
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (19/22) Mar 09 2017 Yeah, and that is a trend that is increasing as the cost of
I don't really have much experience with large code base, so spare me. From a technical and experience point of view (those with experience in large D code-base), how is only D's GC & optional MMM a significant production-use blocker? (To make my problem clear, how is D's current state not going to allow / make it so difficult for developers (who know what they are doing) to write say Photoshop-scale software: excluding those *so* realtime use cases?) Note: I understand that D is never going without critics: perfection is impossible. And, in my line of work, I highly prefer the safety of GC compared to MMM... so I don't see myself worried about GC pauses. I hope my question makes sense.
Mar 08 2017
On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:I don't really have much experience with large code base, so spare me. From a technical and experience point of view (those with experience in large D code-base), how is only D's GC & optional MMM a significant production-use blocker? (To make my problem clear, how is D's current state not going to allow / make it so difficult for developers (who know what they are doing) to write say Photoshop-scale software: excluding those *so* realtime use cases?) Note: I understand that D is never going without critics: perfection is impossible. And, in my line of work, I highly prefer the safety of GC compared to MMM... so I don't see myself worried about GC pauses. I hope my question makes sense.D's GC doesn't have great performances. However it works great and generally you don't depend as much on the GC as you would in other languages. If you don't have real time constraints, you should be fine.
Mar 08 2017
On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:(To make my problem clear, how is D's current state not going to allow / make it so difficult for developers (who know what they are doing) to write say Photoshop-scale software:This is probably a common question, and it would be easy to answer by pointing to an actually existing piece of software. D needs for publicity a "killer app" [1] and this would be at the same time a driver to fully develop the necessary library modules (GUI, 3D graphics, whatever). What is the currently most impressive application made in D? [1] https://en.wikipedia.org/wiki/Killer_application
Mar 08 2017
On Wednesday, 8 March 2017 at 22:13:26 UTC, XavierAP wrote:On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:So technically and from experience, the current state of D is not the primary issue?(To make my problem clear, how is D's current state not going to allow / make it so difficult for developers (who know what they are doing) to write say Photoshop-scale software:This is probably a common question, and it would be easy to answer by pointing to an actually existing piece of software. D needs for publicity a "killer app" [1] and this would be at the same time a driver to fully develop the necessary library modules (GUI, 3D graphics, whatever). What is the currently most impressive application made in D? [1] https://en.wikipedia.org/wiki/Killer_application
Mar 08 2017
On Thursday, 9 March 2017 at 07:24:12 UTC, aberba wrote:So technically and from experience, the current state of D is not the primary issue?I don't have enough experience with D yet, hopefully someone else can tell you better. But my two cents. "Current state" is a very general thing. Going back to your original post, I would not really think memory management performance to be an issue at all (in the hands or a competent programmer who avoids 'new' inside loops etc); specially for the kind of software you have in mind, or even for the most demanding real-time applications, where D provides some possibilities -- maybe not as idiomatic as the GC 'new', but much better than getting void pointers from malloc(). granted it's not quite Photoshop but quite nice; and there must be more impressive examples. So I don't think application developers should worry so much about GC pauses of death. Also regarding the "current state", another issue is the availability of libraries that you can use in your project. Of course D can't yet compare to C++, Java, Python, or .NET in this regard, even though there are lots of nice things around (plus you can call C and C++ and the bindings are often already available[2]). However I think that providing the demand from a killer app project could get a lot of support from the existing community in completing useful library projects. I get the impression that most people in the D community are computer scientists or engineers who use it for backends, or more often for pet weekend projects.[3] At work they are constrained to work in another, more commercially successful language. Just like Andrei at Facebook. [1] https://en.wikipedia.org/wiki/Paint.NET [2] https://github.com/filcuc/dqml [3] http://code.dlang.org
Mar 09 2017
On Thursday, 9 March 2017 at 08:57:39 UTC, XavierAP wrote:Just like Andrei at Facebook.Just a FYI, Andrei *used* to work at Facebook. https://www.reddit.com/r/programming/comments/3ioy9b/andrei_alexandrescu_c_guru_leaves_facebook_to/
Mar 09 2017
On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:From a technical and experience point of view (those with experience in large D code-base), how is only D's GC & optional MMM a significant production-use blocker?This is mostly a psychological effect of C++ folks having aversion to any GC.(To make my problem clear, how is D's current state not going to allow / make it so difficult for developers (who know what they are doing) to write say Photoshop-scale software: excluding those *so* realtime use cases?)I don't think there's really a problem there. Although not quite Photoshop-scale, but these video and photo processing apps were made in D without any problems: http://www.infognition.com/VideoEnhancer/ http://www.infognition.com/blogsort/ (and they aren't even nogc)
Mar 09 2017
On Thursday, 9 March 2017 at 11:52:42 UTC, thedeemon wrote:On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:You should watch last year's CppCon 2016 talk by Herb Sutter, “Leak-Freedom in C++... By Default.” https://www.youtube.com/watch?v=JfmTagWcqoE He goes the extra mile to avoid saying the GC word, until he fully explains what his library solution for "collecting resources" is doing, with the sole purpose to avoid loosing the crowd's attention.From a technical and experience point of view (those with experience in large D code-base), how is only D's GC & optional MMM a significant production-use blocker?This is mostly a psychological effect of C++ folks having aversion to any GC.
Mar 09 2017
On Thursday, 9 March 2017 at 11:52:42 UTC, thedeemon wrote:On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:It is interesting to have watched this debate over the years. Bjarne S. responded to the Java crowd by embracing the GC. He still has on his FAQ: "If you want automatic garbage collection, there are good commercial and public-domain garbage collectors for C++. For applications where garbage collection is suitable, C++ is an excellent garbage collected language with a performance that compares favorably with other garbage collected languages."From a technical and experience point of view (those with experience in large D code-base), how is only D's GC & optional MMM a significant production-use blocker?This is mostly a psychological effect of C++ folks having aversion to any GC.
Mar 09 2017
On Thursday, 9 March 2017 at 16:12:46 UTC, bachmeier wrote:On Thursday, 9 March 2017 at 11:52:42 UTC, thedeemon wrote:C++11 also defined a GC ABI for those "commercial and public-domain garbage collectors". Section 20.7.4, Pointer safety.On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:It is interesting to have watched this debate over the years. Bjarne S. responded to the Java crowd by embracing the GC. He still has on his FAQ: "If you want automatic garbage collection, there are good commercial and public-domain garbage collectors for C++. For applications where garbage collection is suitable, C++ is an excellent garbage collected language with a performance that compares favorably with other garbage collected languages."[...]This is mostly a psychological effect of C++ folks having aversion to any GC.
Mar 09 2017
On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:(To make my problem clear, how is D's current state not going to allow / make it so difficult for developers (who know what they are doing) to write say Photoshop-scale software: excluding those *so* realtime use cases?)Well, I don't think there is such problem. I make medium-size real-time programs in D (example: https://www.auburnsounds.com/products/Panagement.html) and they don't require much more attention to detail than similar programs in C++. They require understanding though. The real problem is perception. Our competition uses persuasion techniques like moral high-ground, word-thinking and plain marketing. While the D community tries to address technical problems. For example in D target market, the word "GC" is associated with a bad "weight" (and I tried to change perception with articles but it doesn't change anything) so _by association_ D inherits this bad weight, whatever the rational response could be. The other thing you'll hear about when you are doing D is that D is not *new* enough, so it couldn't be any good. Else swathes of people would have adopted it, right? Marketing works this way because we tend to rate each concept positively or negatively, and our intuitive brain is really good with effortless weighted sums. is-good("D") = Weight0 * is-good("GC") + Weight1 * is-good(watever-it-makes-me-think-of) + ... The competition is clever enough to emphasize that D is 14 years old and has a GC, so they don't even try it.
Mar 09 2017
On Thursday, 9 March 2017 at 12:27:30 UTC, Guillaume Piolat wrote:The competition is clever enough to emphasize that D is 14 years old and has a GC, so they don't even try it.The competition doesn't smack talk D, I think. If they mention D they tend to do so in a friendly way. It's not like D is threat to them anyway. Past or current D users might complain though.
Mar 09 2017
On Thursday, 9 March 2017 at 13:36:28 UTC, Ola Fosheim Grøstad wrote:It's not like D is threat to them anyway.I'm not sure why you would think that, if anything that reinforced my point.
Mar 09 2017
On Thursday, 9 March 2017 at 13:40:09 UTC, Guillaume Piolat wrote:On Thursday, 9 March 2017 at 13:36:28 UTC, Ola Fosheim Grøstad wrote:I am speaking of what they are perceiving not what I think. They don't perceive D as a threat, why would they feel a need to smack talk D?It's not like D is threat to them anyway.I'm not sure why you would think that, if anything that reinforced my point.
Mar 09 2017
On Thursday, 9 March 2017 at 14:08:00 UTC, Ola Fosheim Grøstad wrote:I am speaking of what they are perceiving not what I think. They don't perceive D as a threat, why would they feel a need to smack talk D?I don't really want to talk with you.
Mar 09 2017
On Thursday, 9 March 2017 at 14:38:32 UTC, Guillaume Piolat wrote:On Thursday, 9 March 2017 at 14:08:00 UTC, Ola Fosheim Grøstad wrote: I don't really want to talk with you.Whatever suits you, but don't pretend that people that express views about D online are the competition. They are overwhelmingly people that have used it or are using it. So whatever they like or dislike about it is rooted in their experience. I.e. It is real.
Mar 09 2017
On Thursday, 9 March 2017 at 13:36:28 UTC, Ola Fosheim Grøstad wrote:On Thursday, 9 March 2017 at 12:27:30 UTC, Guillaume Piolat wrote:I don't think the community should think in terms of "threat" or "competition" I mean languages are basically tools to get a job done. Most developers are 9-5 types and wont leave their comfort zone anyways unless they have to. I agree that I rarely see other forums talking bad about D and if something is negative it's usually a persons opinion on x or y not really disparaging. Also, not everyone is anti-GC that might be interested in using D anyways. You pick the right tool for the job and if you look at the JVM lots of apps/libs have been written on it that run fast and are widely used. Don't worry bout the rest and focus on improving the D ecosystem. I like it but sometimes you hit that wall where something doesn't work or isnt implemented in the ecosystem (I know ppl can contribute and write it) but sometimes you want to just get something done and not have to worry about some lib is missing a needed feature or not even there. I've been messing with dotnet core lately and I know there is a much larger community but the libs are constantly getting released to support it and for web stuff it is pretty efficient. Bottomline is D with all the little issues here and there is doing fine. Dont worry about the others. Also how many times a week can the same questions be asked on this forum about the same topics? I feel I am re-reading the same stuff weeklyThe competition is clever enough to emphasize that D is 14 years old and has a GC, so they don't even try it.The competition doesn't smack talk D, I think. If they mention D they tend to do so in a friendly way. It's not like D is threat to them anyway. Past or current D users might complain though.
Mar 09 2017
On Thursday, 9 March 2017 at 15:54:04 UTC, dewitt wrote:Also how many times a week can the same questions be asked on this forum about the same topics? I feel I am re-reading the same stuff weeklyThat's a good sign. It comes with the territory when a language starts to see serious consideration for important projects. Eventually someone will put together a resource that answers these concerns.
Mar 09 2017
On Thursday, 9 March 2017 at 15:54:04 UTC, dewitt wrote:I don't think the community should think in terms of "threat" or "competition" I mean languages are basically tools to get a job done.Yeah, and that is a trend that is increasing as the cost of developing new languages are falling. No single tool for everything. However, the tendency in the smaller programming communities is to smack-talk the big leaders: Java, C++, JavaScript... If you go to a JavaScript forum they hardly talk about other languages at all. Now, I have seen some people on reddit saying things like "Forget about D, D is a dead language". However, that doesn't speak to age. C++ is 30 years old. It speaks to no perceiving a clear project vision: language X is _the_ language to do _Y_. As you said, languages are tools to get a task done. I'm currently looking for languages that don't require a runtime and can generate WebAssembly so that I can create WebWorkers that are efficient. Anyone language doing best in that category will be perceived as having a clear vision... I don't people will perceive a clear vision until you are seen as targeting something specific.
Mar 09 2017