July 28, 2018
https://sqlite.org/whyc.html

Personally I think D team should try to convince some well known project to switch from C to D. Not many projects are written in C these days though ... but SQLite is amongst the few.

July 28, 2018
On 7/25/2018 4:27 PM, Laeeth Isharc wrote:
> I think it's more interesting to be the change you wish to see in the world.

Haha, the whole point of me starting D. I was tired of trying to convince entrenched interests (and I wasn't very good at that).


July 28, 2018
On 7/28/2018 7:09 AM, Laeeth Isharc wrote:
> Opportunities are abundant where people aren't looking because they don't want to.

My father told me I wasn't at all afraid of hard work. I could lie down right next to it and go to sleep.
July 28, 2018
On 07/28/2018 05:43 AM, Laeeth Isharc wrote:

> It's not that bad calling D from Java.

Running D's GC in a thread that is started by an external runtime (like Java's) can be problematic. If a D function on another D-runtime thread needs to run a collection, then it will not know about this Java thread and won't stop it. One outcome is a crash if this thread continues to allocate while the other one is collecting.

The solution is having to call thread_attachThis() upon entry to the D function and thread_detachThis() upon exit. However, there are bugs with these function, which I posted a pull request (and abandoned it because of 32-bit OS X test failures.)

I think a better option would be to forget about all that and not do any GC in the D function that is called from Java. This simple function should just send a message to a D-runtime thread and return back to Java.

Ali

July 29, 2018
On Saturday, 28 July 2018 at 14:45:19 UTC, Paolo Invernizzi wrote:
>
> I forgot the link... here it is:
> https://www.quantamagazine.org/to-make-sense-of-the-present-brains-may-predict-the-future-20180710
>

An interesting article. I found that Dennet's Consciousness Explained, which is presumably debunked old hat by now, is full of interesting experiments and speculation about how we model things in our mind and how our perceptions feed into that. It's a long time since I read it but if I remember correctly he shows how we seem to have a kind of mental theatre which has an expectation of what will come next from the senses, leading to interesting mistakes in perception. It's a useful model of how the mind works.

That website often carries good articles about new maths as well.

>
> Me and my colleague are pretty different, in the approach to that kind of stuff...
>
> Maybe I'll post on the Forum a 'Request for D Advocacy', a-la PostgreSQL, so the community can try to address some of his concerns about modern D, and lower his discomfort!
>
> :-P

If you can explain to me what is the _direction_ of D in terms of interfacing with large C++ libraries it would be very much appreciated! I'd love to be using D for some of my projects but I have a perception that using e.g. VTK is still a difficult thing to do from D. Is that still true? What is the long term plan for D, is it extern(C++), a binding technology? Is there any interest in Calypso from the upper echelons? I want to know where D is trying to go, not just where it is now. I want to know if anyone has got their heart in it.

My CV says my main languages are Java, Python and D. That last one is mainly wishful thinking at the moment. I wish it wasn't! Make me believe, Paulo!


July 30, 2018
On Saturday, 28 July 2018 at 21:44:10 UTC, Abdulhaq wrote:
> On Saturday, 28 July 2018 at 21:27:12 UTC, bpr wrote:
>>
>> I hear you. You're looking (roughly) for a better Java/Go/Scala, and I'm looking for a better C/C++/Rust, at least for what I work on now. I don't think D can be both right now, and that the language which can satisfy both of us doesn't exist yet, though D is close.
>
> Yes, this. In the light of D's experience, is it even possible to have a language that satisfies both?

I believe that the tension between low and high level features makes it nearly impossible, that tracing GC is one of those difficult problems that rulses out satisfying both sets of users optimally, and that the best D (and C++ and Nim) can do is to be "mediocre to good, but not great" at both the low level (C/Rust) domain and high level domains simultaneously. There are far fewer players in the low level space, which is why I see D more as a competitor there, and welcome DasBetterC and the noGC initiatives so that D can be a great low level and maybe just a good high level language.


July 31, 2018
On Saturday, 28 July 2018 at 19:55:56 UTC, bpr wrote:
> Are the Mozilla engineers behind it deluded in that they eschew GC and exceptions? I doubt it.

They are trying to outcompete Chrome in bugs too. You're not Mozilla. And why you mention exceptions, but not bounds checking?

> Here we kind of agree. If D is going to support a GC, I want a state of the art precise GC like Go has.

Go GC is far from being a state of the art, it trades everything for low latency and ease of configuration.
July 31, 2018
On Saturday, 28 July 2018 at 21:49:12 UTC, Dibyendu Majumdar wrote:
> https://sqlite.org/whyc.html
>
> Personally I think D team should try to convince some well known project to switch from C to D. Not many projects are written in C these days though ... but SQLite is amongst the few.

>The C language is old and boring. It is a well-known and well-understood language.

If C is so well-understood, why we have all these buffer overflows?
July 31, 2018
On Tuesday, 31 July 2018 at 12:02:55 UTC, Kagamin wrote:
> On Saturday, 28 July 2018 at 19:55:56 UTC, bpr wrote:
>> Are the Mozilla engineers behind it deluded in that they eschew GC and exceptions? I doubt it.
>
> They are trying to outcompete Chrome in bugs too. You're not Mozilla. And why you mention exceptions, but not bounds checking?

Firefox has been complete garbage on my work computer ever since the Quantum update. Works fine at home though.
July 31, 2018
On Sunday, 29 July 2018 at 09:35:06 UTC, Abdulhaq wrote:
> On Saturday, 28 July 2018 at 14:45:19 UTC, Paolo Invernizzi wrote:
>>
>> I forgot the link... here it is:
>> https://www.quantamagazine.org/to-make-sense-of-the-present-brains-may-predict-the-future-20180710
>>
>
> An interesting article. I found that Dennet's Consciousness Explained, which is presumably debunked old hat by now, is full of interesting experiments and speculation about how we model things in our mind and how our perceptions feed into that. It's a long time since I read it but if I remember correctly he shows how we seem to have a kind of mental theatre which has an expectation of what will come next from the senses, leading to interesting mistakes in perception. It's a useful model of how the mind works.
>
> That website often carries good articles about new maths as well.
>
>>
>> Me and my colleague are pretty different, in the approach to that kind of stuff...
>>
>> Maybe I'll post on the Forum a 'Request for D Advocacy', a-la PostgreSQL, so the community can try to address some of his concerns about modern D, and lower his discomfort!
>>
>> :-P
>
> If you can explain to me what is the _direction_ of D in terms of interfacing with large C++ libraries it would be very much appreciated! I'd love to be using D for some of my projects but I have a perception that using e.g. VTK is still a difficult thing to do from D. Is that still true? What is the long term plan for D, is it extern(C++), a binding technology? Is there any interest in Calypso from the upper echelons? I want to know where D is trying to go, not just where it is now. I want to know if anyone has got their heart in it.
>
> My CV says my main languages are Java, Python and D. That last one is mainly wishful thinking at the moment. I wish it wasn't! Make me believe, Paulo!

Well we are hiring D programmers in London and HK in case it's interesting.

Dpp doesn't work with STL yet.  I asked Atila how long to #include vector and he thought maybe two months of full-time work.  That's not out of the question in time, but we have too much else to do right now.  I'm not sure if recent mangling improvements help and how much that changes things.  But DPP keeps improving as does extern (C++) and probably one way and another it will work for quite a lot.  Calypso makes cpp classes work as both value and reference types.  I don't know the limit of what's possible without such changes - seems like C++ mangling is improving by leaps and bounds but I don't know when it will be dependable for templates.

It's not that relevant what Andrei or Walter might think because it's a community-led project and we will make progress if somebody decides to spend their time working on it, or a company lends a resource for the same purpose.  I'm sure they are all in favour of greater cpp interoperability, but I don't think the binding constraint is will from the top, but rather people willing and able to do the work.

And if one wants to see it go faster then one can logically find a way to help with the work or contribute financially.  I don't think anything else will make a difference.

Same thing with Calypso.  It's not ready yet to be integrated in a production compiler so it's an academic question as to the leadership's view about it.