March 01, 2019
Am Fri, 01 Mar 2019 01:54:07 -0500 schrieb Nick Sabalausky (Abscissa):

> On 2/28/19 3:31 PM, Manu wrote:
>> 
>> I've raised a bunch of issues I've been facing from this angle recently; the `shared` stuff, dll stuff, inline stuff.
> 
> My sympathies, I feel your pain :/
> 
> But on a side note, this makes me think: We could *really* use a different format for all this argumentative stuff. Forums are too transient. What we need is something like a Wiki, but organized like this:
> 
> - Ideas
>     - Arguments For/Against, and/or possible Cautions
>        - Rebuttals
>           - Counter-Rebuttals
> 

Maybe some open source debate platform like pol.is: https://pol.is/demo/ 2demo . However, polis focuses more on opinions than presenting pro/con arguments and facts. I think I've seen software for that before, maybe something like kialo ( https://www.youtube.com/watch?v=MifNyU49_JA ) or one of the solutions here: https://www.quora.com/What-are-the-best-online- platforms-for-holding-logical-and-honest-debates


-- 
Johannes
March 03, 2019
On Wednesday, 27 February 2019 at 19:13:11 UTC, Nick Sabalausky (Abscissa) wrote:
> In the vein of keeping our eyes open to the world around us, I found this article fascinating:
>
> https://blogs.unity3d.com/2019/02/26/on-dots-c-c/
>
> Being a high-performance game engine, Unity3D is right smack in the middle of D's strengths and potential.
>
> Traditionally, Unity's core engine is written in C++ (just like pretty much every other high-performance game engine), whereas the game code is written in C# (which is first compiled down to CLIR and then, depending on the target platform, either run directly on Mono or further compiled down to C++/native.)
>
> They have the usual group of complaints about C++ (long compilation, headers, and concurrency difficulties like races, sharing etc). And they also add another C++ gripe we don't hear about quite as often: Lack of guarantees and control over the generated code. (VERY important for game engine developers, as I'm sure Manu can attest.)
>
> So they have a rather interesting solution: They're switching from C++ to a subset of C#, combined with some custom libs and IL-based tooling. Sounds slightly odd, but they make a very convincing case for it.
>
> I think it's very much in D's best interest to be aware of these problems/solutions/rationales Unity presents here, as they would easily apply to other C++ users and thus a key potential audience for D.

As a professional game developer, I use Unity at work on a daily basis, so I know quite well the C# subset you are talking about.

And I must tell you that the main interest of this technology for Unity users is that it allows to implement the highly-optimized data-oriented parallelized parts of our code using a C-like close-to-the-metal language.

But definitely not in a C#-like fashion...

For instance, in my company, despite we mostly develop mobile games, most of our gameplay code is STILL based on Monobehaviour entities, because this C#-subset brings performance at the unfortunate price of a much higher verbosity and very low expressiveness.

This means that a MonoBehaviour-based 10-liner function will require 5 to 10 times more code for the same result in a very cryptic data-oriented C-like code. And btw you can also say goodbye to physics, networking, etc.

For games involving hundreds of game entities, this may be worth the effort, but for most games this isn't worth the effort.

So IMHO, it's much more urgent for D to try to close its gap with Go and Crystal by adding a fiber-based http capabilities in the standard library, that once again trying to make D become the ultimate C++ replacement, because to reach that goal you will need to reimplement all the D standard library using C++-like reference-counted memory management, which you won't, or loose it's current expressiveness and ease of use, which means targeting an even smaller development niche...



March 03, 2019
On Sunday, 3 March 2019 at 09:50:17 UTC, Ecstatic Coder wrote:

> So IMHO, it's much more urgent for D to try to close its gap with Go and Crystal by adding a fiber-based http capabilities in the standard library

I would be happy to have at least a modern  IO subsystem in Phobos...

- P

March 03, 2019
On Sunday, 3 March 2019 at 10:50:44 UTC, Paolo Invernizzi wrote:
> I would be happy to have at least a modern  IO subsystem in Phobos...

Can you clarify exactly what you are looking for?

I think there might be quite a lot of us with a shared interest in having a really robust and well-designed system for handling asynchronous tasks in D.  It may be a good idea to examine all the different options (vibe-core, Sociomantic's ocean library, potential alternative approaches...) and see if we can come up with something that suits everyone.
March 31, 2019
On Friday, 1 March 2019 at 07:18:17 UTC, Paulo Pinto wrote:
> On Thursday, 28 February 2019 at 12:05:54 UTC, Dukc wrote:
>> On Wednesday, 27 February 2019 at 19:13:11 UTC, Nick Sabalausky (Abscissa) wrote:
>>> So they have a rather interesting solution: They're switching from C++ to a subset of C#, combined with some custom libs and IL-based tooling. Sounds slightly odd, but they make a very convincing case for it.
>>
>> This is exactly where D has the largest advantage over C#. I find that C# is generally good to code with, as long as you don't care about performance beyond avoiding big O crimes. But when you try to do stuff like using structs when you don't need polymorhism or trying to minimize allocation when working with an array, it gets inpractical. With D, of course you still need to put a bit more thought in, but it doesn't feel like the language is fighting your optimization efforts.
>
> Only if talking about C# up to version 6.
>
> Versions 7 and 8 incorporate many of the Midori lessons, some of which even landend on C++.

This is exactly where D has the largest advantage over C#. I find that C# is generally good to code with, as long as you don't care about performance beyond avoiding big O crimes. But when you try to do stuff like using structs when you don't need polymorhism or trying to minimize allocation when working with an array, it gets inpractical. With D, of course you still need to put a bit more thought in, but it doesn't feel like the language is fighting your optimization efforts.
May 15, 2019
On Friday, 1 March 2019 at 06:54:07 UTC, Nick Sabalausky (Abscissa) wrote:
> On 2/28/19 3:31 PM, Manu wrote:
>> 
>> I've raised a bunch of issues I've been facing from this angle
>> recently; the `shared` stuff, dll stuff, inline stuff.
>
> My sympathies, I feel your pain :/
>
> But on a side note, this makes me think: We could *really* use a different format for all this argumentative stuff. Forums are too transient. What we need is something like a Wiki, but organized like this:
> <snip>
> ...For everything, all in one canonical place. Wouldn't that be nice? I get so tired of everyone's arguments about everything having no viewable structure whatsoever...it's no wonder nobody's arguments ever get anywhere!!! This would be so much more practical as a standard base-of-operations for (hopefully) a meritocracy, don't you think?
>

What do you think of the format of Ward Cunningham's wiki: c2.com?
Or even www.tiddlywiki.com while at it.
May 15, 2019
On Sunday, 3 March 2019 at 09:50:17 UTC, Ecstatic Coder wrote:
> So IMHO, it's much more urgent for D to try to close its gap with Go and Crystal by adding a fiber-based http capabilities in the standard library, that once again trying to make D become the ultimate C++ replacement, because to reach that goal you will need to reimplement all the D standard library using C++-like reference-counted memory management, which you won't, or loose it's current expressiveness and ease of use, which means targeting an even smaller development niche...

Unlike D, you can simply install Crystal or Go and create a high performance website/microservice/... within minutes.

D does not work like this. There is literally no interest into a build-in fiber based  solution. Unless you consider vibe.d as "performant", when its performing at barely PHP levels. Can just as well use PHP at that point and get the benefit from 100.000 cheap already trained developers!

Talking about D for web development, simply does not work as there is no interest here. The focus is still trying to be a C++ replacement ( and now C replacement ), when that boat has sailed. Rust is simply a better C++ replacement then D at this point. D is simply carrying too much baggage from all the year and this is reflected in the compiler issues and community attitude. Even Zig is turning into a better C replacement compared to D.

Lots of opinions, lots of burned out people. On a lot of points, D is extreme stagnant and on a lot of points that people like me do not give a darn about, D is way too busy.

The reality is i can hire people to write in Crystal easier, then finding people who can figure out D. The same applies to Go, where its simply easier to train people because of the simple language structure and lack of major "gotchas" unlike D.

D as a language is ok but its all the issues left and right that simply eat time. Time is exactly what you do not have with most web development projects. So Ecstatic, i see very little support on this issue.

Tell us, what do you program in right now for anything HTTP related? I am betting Go, Crystal or PHP but not D, am i right?
May 15, 2019
On Wednesday, 15 May 2019 at 13:35:57 UTC, Margo wrote:

> Talking about D for web development, simply does not work as there is no interest here.

Trying to make a push into the web space as a way to increase D usage is a complete waste of time. That is extremely competitive, with language after language doing the same things, and no hope for a new language to gain interest.

Having said that, there is nothing stopping anyone that thinks D offers big advantages over the alternatives from creating something and making their billions. This has come up many times. I don't understand what the complaint is. Nobody's stopping anyone from working on it. You don't need permission.
May 15, 2019
On 5/15/19 11:15 AM, bachmeier wrote:
> Trying to make a push into the web space as a way to increase D usage is a complete waste of time. That is extremely competitive, with language after language doing the same things, and no hope for a new language to gain interest.

Interesting, I didn't think of it that way. Thanks!
May 15, 2019
On 5/15/19 9:35 AM, Margo wrote:
> On Sunday, 3 March 2019 at 09:50:17 UTC, Ecstatic Coder wrote:
>> So IMHO, it's much more urgent for D to try to close its gap with Go and Crystal by adding a fiber-based http capabilities in the standard library, that once again trying to make D become the ultimate C++ replacement, because to reach that goal you will need to reimplement all the D standard library using C++-like reference-counted memory management, which you won't, or loose it's current expressiveness and ease of use, which means targeting an even smaller development niche...
> 
> Unlike D, you can simply install Crystal or Go and create a high performance website/microservice/... within minutes.
> 
> D does not work like this. There is literally no interest into a build-in fiber based  solution. Unless you consider vibe.d as "performant", when its performing at barely PHP levels. Can just as well use PHP at that point and get the benefit from 100.000 cheap already trained developers!
> 
> Talking about D for web development, simply does not work as there is no interest here. The focus is still trying to be a C++ replacement ( and now C replacement ), when that boat has sailed. Rust is simply a better C++ replacement then D at this point. D is simply carrying too much baggage from all the year and this is reflected in the compiler issues and community attitude. Even Zig is turning into a better C replacement compared to D.
> 
> Lots of opinions, lots of burned out people. On a lot of points, D is extreme stagnant and on a lot of points that people like me do not give a darn about, D is way too busy.
> 
> The reality is i can hire people to write in Crystal easier, then finding people who can figure out D. The same applies to Go, where its simply easier to train people because of the simple language structure and lack of major "gotchas" unlike D.
> 
> D as a language is ok but its all the issues left and right that simply eat time. Time is exactly what you do not have with most web development projects. So Ecstatic, i see very little support on this issue.

Two important things here:

1. He who hires developers that cannot learn a new language, is incompetent at HR.

2. He who views languages as interchangeable commodities with the only differentiating factors being existing libs and pool of existing developers, is incompetent at software management.

> Tell us, what do you program in right now for anything HTTP related? I am betting Go, Crystal or PHP but not D, am i right?

Umm, no, you're not right. I use D for HTTP, and you'll find that many people here do. And I'd literally sooner kill myself than go back to suffering through the festering cr*pfest that is PHP. Switching to Go would be like fighting with one hand tied behind my back. And Crystal...I don't even know that one, but a quick search shows it's not even 1.0 yet, making it more than a little bizarre that someone making the arguments you're making would suggest it over D. You're not actually interested in making a real point, you're just here to argue, right?