March 11, 2018
On Sunday, 11 March 2018 at 01:10:28 UTC, psychoticRabbit wrote:
> On Sunday, 11 March 2018 at 00:36:19 UTC, Dylan Graham wrote:

> And personally, depending on the problem, C# is better to program in than D. I still don't know why C# programmers are willing to give up C# and prefer to use D.
> C# is vastly surperior for what it does.
>

Because, even the language creators seem to not recognize this, D looks like C# with *native compilation*, the syntax is 95% identical. Basically, if my source code doesn't use any .NET framework function, it will compile successfully with dmd without any (major) change.

I suppose that every C# programmer is enthusiastic on the first contact with the D language, but fails to keep his enthusiasm when he sees Phobos. C# programmer's mind is locked in the OOP world and Phobos looks like a mess from his point of view.

The problem is that D stagnates and in the same time C# evolves. Sometimes I feel like the C# language team is using D as inspiration for the new features, starting with C# 7.0, a lot of D concepts were introduced in the language: local functions, '_' as digit separator, binary literals, ref returns, tuples, templates, immutability. Guess what the next version of C# has on the table: slices.

In the same time, D delegates new features (and sometime existing ones) to library implementation, instead of assume them in the language syntax.

My opinion is that the day when C# will compile to native (on any platform), the C# developer interest in D will drop instantly.




March 11, 2018
On Sunday, 11 March 2018 at 07:59:53 UTC, rumbu wrote:
> My opinion is that the day when C# will compile to native (on any platform), the C# developer interest in D will drop instantly.

OT:

Interestingly, my uni is still stuck in the OOP paradigm, and is now teaching intro to OOP using .NET Core, cause it's now cross platform, and people can also used VS code, which also cross platform.

but running > dotnet myprogram (.dll)

is just an awful experience ;-)

although, that's how java works to.. and java is probably the most widely used language of all.

March 11, 2018
On Sunday, 11 March 2018 at 01:25:07 UTC, Dylan Graham wrote:
>> betterc is just another way of supporting that crowd..and it's a very big crowd.
>
> Yeah, 29% of the crowd.

29% of the existing D crowd who answered the survey, which means around 150 people, or about how many download one compiler, dmd, in an average hour of the day:

http://erdani.com/d/downloads.daily.png

Meanwhile, Walter wrote a blog post about his betterC efforts last year, and it was the third-most liked link from dlang.org on reddit over the last year, with 226 net likes:

https://www.reddit.com/domain/dlang.org/top/?sort=top&t=year

No. 2?  Another article about using D without the GC.

Now, as I've said on the forum several times, I personally don't care for @nogc or betterC: I don't use them.  I'm sure many existing D users don't either.  However, as those reddit stats show, there is interest from _outside_ the D community for them.

When it comes to strategic decisions like this to bring in new users from outside the community, you cannot depend on polling users within the community to figure it out.  Argue against betterC really bringing in new users if you want, but arguing that it doesn't help existing users is missing the point.

I'm not sure how successful betterC will be in pulling in those users, as I'm not a C/C++ programmer and don't know what they want, but the popularity of those links suggests the D foundation is on the right track.

>> Your problem is not betterc, but something else. So focus on that instead.
>
> You're right, my problem isn't BetterC, it's the fact that Foundation can't get its priorities right. BetterC is a symptom.

The Foundation's priorities are not simply serving the existing users but growing the userbase.
March 11, 2018
On Saturday, 10 March 2018 at 10:05:49 UTC, rumbu wrote:
> On Friday, 9 March 2018 at 21:43:53 UTC, Andrei Alexandrescu wrote:
>> Hello, the vision document of the Founation for the first six months of 2018 is here:
>>
>> https://wiki.dlang.org/Vision/2018H1
>>
>
> According to the State of D Survey, 71% of the respondents don't care about betterC. Why is betterC on the priority list?

BetterC is probably mostly useful for writing libraries (that can be used from D
or other languages). So these 29% of respondents are perhaps more important
than just their percentage suggests.
March 11, 2018
On Sunday, 11 March 2018 at 07:59:53 UTC, rumbu wrote:
> Because, even the language creators seem to not recognize this, D looks like C# with *native compilation*, the syntax is 95% identical. Basically, if my source code doesn't use any .NET framework function, it will compile successfully with dmd without any (major) change.

Most people do not have issues with the core language of D. You can come from any of the above mentioned languages ( like C, C++, Rust, PHP, Python, Nim, ... ) and get going with D. That is what attracted me in the first place. The language looks good but the moment you actually start using D its issue after issue.

With the usual response here: "Why do you not fix it yourself or pay for it". Maybe because most people who come want to use the tools and be productive and not spend their time fixing up those tools.

Its a mentality issue that some do not get here. In order to grow you need consumers for your product. If you force or whine to them to fix the issues, they leave. When they leave you lose potential growth. That loss in growth means losing potential members that can fix and want to fix the issues.

One can call it selfish but every language is based upon this principle. No growth and community of lots of selfish users means no other members to fix the issues. It is the 9 Circles of Hell.

> I suppose that every C# programmer is enthusiastic on the first contact with the D language, but fails to keep his enthusiasm when he sees Phobos. C# programmer's mind is locked in the OOP world and Phobos looks like a mess from his point of view.

+1!

It has the language mostly right but its everything around it that is simply a mess. When one compares that to Rust. They are not having constant discussion about replacing cargo ( as dub in D has issues ). They do not need to have multiple documentation generators. The cross platform is simple and fast. Same applies to Go. And C# ... Resources simple are more focused and enhance the whole platform as such. D is like a children sandbox where everybody is playing with their own toys. So when other complain about the mess of the playground, the responds by some is just as typical.

> The problem is that D stagnates and in the same time C# evolves.

I am sure that lots of D members will be quick to point out, that C# is run by a commercial company and D has only open source contributors. Now why did you not contribute! /sarcasm

> Sometimes I feel like the C# language team is using D as inspiration for the new features, starting with C# 7.0, a lot of D concepts were introduced in the language: local functions, '_' as digit separator, binary literals, ref returns, tuples, templates, immutability. Guess what the next version of C# has on the table: slices.

Yep ... Things are moving faster in the .net camp thanks to the focus on .net Core and the RyuJit.

Here is a fun one, with Blazer now being part of the official .net.

https://github.com/aspnet/blazor

Blazer = C# code runable in the browser using WebAssembly.

> In the same time, D delegates new features (and sometime existing ones) to library implementation, instead of assume them in the language syntax.
>
> My opinion is that the day when C# will compile to native (on any platform), the C# developer interest in D will drop instantly.

Personally i am waiting to see CoreRT finalized:

https://github.com/dotnet/corert

-> CppCodeGen/C++
-> RyuJIT codegen
-> Webasm

Its already working and getting better by the day.

Other languages are moving forwards at blazing speeds and D seems to put it priorities on adding new exiting features. Where as a large part of the outcry is the issues with the library, lacking editors support, cross platform issues, ...
March 11, 2018
On Sunday, 11 March 2018 at 13:36:27 UTC, R wrote:

> With the usual response here: "Why do you not fix it yourself or pay for it". Maybe because most people who come want to use the tools and be productive and not spend their time fixing up those tools.

I've never seen anyone write that. Most likely you saw someone post something that looks similar, but has a dramatically different meaning. The usual response is "If you want something done, you're going to have to do it yourself or pay someone to do it for you, or else it won't get done."

> Its a mentality issue that some do not get here. In order to grow you need consumers for your product. If you force or whine to them to fix the issues, they leave. When they leave you lose potential growth. That loss in growth means losing potential members that can fix and want to fix the issues.

And this clarifies the source of your confusion. The D programming language is an open source project, not a for-profit company. D is not the language you're looking for.
March 11, 2018
On Sunday, 11 March 2018 at 13:36:27 UTC, R wrote:
>
> I am sure that lots of D members will be quick to point out, that C# is run by a commercial company and D has only open source contributors. Now why did you not contribute! /sarcasm
>

I'd like to point out, that C# is run by a commercial company and D has only open source contributors.

For that matter, so is Rust (a 1/2 billion $ organisation, at least), run by sjw's who will 'attack' (as opposed to 'point out') anyone that speaks out against anything. As for cross platform, have you tried running Rust in Windows XP?

Anyway.. I'm going back to the sandbox, to play with my own toys.

March 11, 2018
On Sunday, 11 March 2018 at 14:37:28 UTC, bachmeier wrote:
> And this clarifies the source of your confusion. The D programming language is an open source project, not a for-profit company. D is not the language you're looking for.

There are 3 years since C# is also open source project. Last week 72 pull requests form 24 contributors were merged on ~master. And this is only for Roslyn (the C# compiler).

The difference (at least for me) is that contributing to C# is a no-brainer. Contributing to D needs an advanced degree in computer science. Using the information on the D wiki didn't helped me until now to successfully compile and test a fresh copy of dmd or phobos.


March 11, 2018
On Sunday, 11 March 2018 at 16:15:22 UTC, rumbu wrote:
> On Sunday, 11 March 2018 at 14:37:28 UTC, bachmeier wrote:
>> And this clarifies the source of your confusion. The D programming language is an open source project, not a for-profit company. D is not the language you're looking for.
>
> There are 3 years since C# is also open source project. Last week 72 pull requests form 24 contributors were merged on ~master. And this is only for Roslyn (the C# compiler).
>
> The difference (at least for me) is that contributing to C# is a no-brainer. Contributing to D needs an advanced degree in computer science. Using the information on the D wiki didn't helped me until now to successfully compile and test a fresh copy of dmd or phobos.

I contributed to phobos for the first time for the release 2.079.0. Experience was smooth and also I learnt many new things from the review comments. I was able to follow wiki page to compile phobos or compile one specific module. Please let us know the issue faced, so that wiki can be improved.
March 11, 2018
On Sunday, 11 March 2018 at 16:15:22 UTC, rumbu wrote:
> On Sunday, 11 March 2018 at 14:37:28 UTC, bachmeier wrote:
>> And this clarifies the source of your confusion. The D programming language is an open source project, not a for-profit company. D is not the language you're looking for.
>
> There are 3 years since C# is also open source project. Last week 72 pull requests form 24 contributors were merged on ~master. And this is only for Roslyn (the C# compiler).

Don't forget that "open source" != non-profit. For the C# compiler there's a dedicated team of full-time developers.

Also to be fair, the activity on dmd isn't that low either though the last week was a one with low-traffic:

https://github.com/dlang/dmd/pulse

Typically ~40 PRs get merged per PR for dmd alone:

https://auto-tester.puremagic.com/chart.ghtml?projectid=1

With druntime + phobos, it's a lot more.

> The difference (at least for me) is that contributing to C# is a no-brainer. Contributing to D needs an advanced degree in computer science. Using the information on the D wiki didn't helped me until now to successfully compile and test a fresh copy of dmd or phobos.

I assume you are using Windows?
Setup on Posix is really simple.
git clone all three repos + run make.

There's also a bash script to automate this:

https://github.com/dlang/tools/blob/master/setup.sh

From what I heard it's a bit tricky on Windows. I only tried with wine and that worked out-of-the-box for me. Execute the DMD installer, set PATH, DM_HOME and HOST_DC and then run the win32 makefiles work fine.

What could be done from your perspective to make the setup easier?