Re: Clarification on D.

2017-03-09 Thread Paulo Pinto via Digitalmars-d

On Thursday, 9 March 2017 at 16:12:46 UTC, bachmeier wrote:

On Thursday, 9 March 2017 at 11:52:42 UTC, thedeemon wrote:

On Wednesday, 8 March 2017 at 20:00:54 UTC, aberba wrote:

[...]


This is mostly a psychological effect of C++ folks having 
aversion to any GC.


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."


C++11 also defined a GC ABI for those "commercial and 
public-domain garbage collectors".


Section 20.7.4, Pointer safety.


Re: Clarification on D.

2017-03-09 Thread Ola Fosheim Grøstad via Digitalmars-d

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.


Re: Clarification on D.

2017-03-09 Thread bachmeier via Digitalmars-d

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 weekly


That'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.


Re: Clarification on D.

2017-03-09 Thread bachmeier via Digitalmars-d

On Thursday, 9 March 2017 at 11:52:42 UTC, thedeemon wrote:

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.


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."


Re: Clarification on D.

2017-03-09 Thread dewitt via Digitalmars-d
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:
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.


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 weekly


Re: Clarification on D.

2017-03-09 Thread Ola Fosheim Grostad via Digitalmars-d

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.





Re: Clarification on D.

2017-03-09 Thread Guillaume Piolat via Digitalmars-d
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.



Re: Clarification on D.

2017-03-09 Thread Ola Fosheim Grøstad via Digitalmars-d

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:


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.


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?




Re: Clarification on D.

2017-03-09 Thread Guillaume Piolat via Digitalmars-d
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.




Re: Clarification on D.

2017-03-09 Thread Ola Fosheim Grøstad via Digitalmars-d

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.




Re: Clarification on D.

2017-03-09 Thread Guillaume Piolat via Digitalmars-d

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.




Re: Clarification on D.

2017-03-09 Thread Paulo Pinto via Digitalmars-d

On Thursday, 9 March 2017 at 11:52:42 UTC, thedeemon wrote:

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.




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.





Re: Clarification on D.

2017-03-09 Thread thedeemon via Digitalmars-d

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)


Re: Clarification on D.

2017-03-09 Thread Arun Chandrasekaran via Digitalmars-d

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/


Re: Clarification on D.

2017-03-09 Thread XavierAP via Digitalmars-d

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().


Even in C# for example one's able to make things like this,[1] 
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


Re: Clarification on D.

2017-03-08 Thread aberba via Digitalmars-d

On Wednesday, 8 March 2017 at 22:13:26 UTC, XavierAP wrote:

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


So technically and from experience, the current state of D is not 
the primary issue?


Re: Clarification on D.

2017-03-08 Thread XavierAP via Digitalmars-d

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


Re: Clarification on D.

2017-03-08 Thread deadalnix via Digitalmars-d

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.




Clarification on D.

2017-03-08 Thread aberba via Digitalmars-d
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.