May 31, 2022
On Tuesday, 31 May 2022 at 08:27:17 UTC, forkit wrote:
>

Also, I've used C# for 22 years now.

The primary reason I like using it, is because I only ever have to work with one compiler. I'm not against multiple compilers, as I've already stated. But I like the assurance of only ever needing to use one compiler (particulary in a business environment where business like expectations exist around support, maintenance etc).

Now if I'm the only one in the world who feels that way, I'd be suprised.

When I see a language the explicately sprouts how many compilers it has, I get a little concerned, due to my experience with C.

Just 'the perception' (the reality might be different) that I might have to deal with 'implementation defined' behaviour in D's various compilers, is enough to trigger PTSD.

May 31, 2022
On Tuesday, 31 May 2022 at 08:45:31 UTC, forkit wrote:
> On Tuesday, 31 May 2022 at 08:27:17 UTC, forkit wrote:
>>
>
> Also, I've used C# for 22 years now.
>
> The primary reason I like using it, is because I only ever have to work with one compiler.
>


C# doesn't have a single compiler, that was especially true before dotnet core, where you absolutely had to use other compilers if you wanted to write code for any other platforms than Windows.
May 31, 2022
On Tuesday, 31 May 2022 at 08:45:31 UTC, forkit wrote:
> On Tuesday, 31 May 2022 at 08:27:17 UTC, forkit wrote:
>>
>
> Also, I've used C# for 22 years now.
>
> The primary reason I like using it, is because I only ever have to work with one compiler. I'm not against multiple compilers, as I've already stated. But I like the assurance of only ever needing to use one compiler (particulary in a business environment where business like expectations exist around support, maintenance etc).
>
> Now if I'm the only one in the world who feels that way, I'd be suprised.
>
> When I see a language the explicately sprouts how many compilers it has, I get a little concerned, due to my experience with C.
>
> Just 'the perception' (the reality might be different) that I might have to deal with 'implementation defined' behaviour in D's various compilers, is enough to trigger PTSD.

Unless you happened to have been like myself, working for a Microsoft certified partner with access to pre-release builds of .NET 1.0, those MSDN CDs with red documentation, I doubt the 22 years, but who's couting just a couple of months until October 2023.

https://news.microsoft.com/2001/10/22/massive-industry-and-developer-support-for-microsoft-net-on-display-at-professional-developers-conference-2001


Multiple implementations allow for validation that the compilers actually work as per language standard, and do not have tainted behaviours.

And to come back to the previous post, while staying only in C#, not even considering MSIL difference between languages targeting .NET, the way AOT compilers have worked across the ecosystem it means that not all of them can fully compile the whole language, for example.

Thus you cannot just pick a random NuGET package drop it into a Xamarin build and hop you go into the next iOS app, if it happens to use reflection, or generics in a way that Mono AOT cannot handle it.

Also people that have learned C# via Unity, quickly learn that some of their quirks like reflection based access to magic MonoBehaviours, isn't something that will find out in Microsoft runtimes.

Moving Unity to .NET Core, while being able to target all their hardware is going to be a multi-year project.

https://blog.unity.com/technology/unity-and-net-whats-next

May 31, 2022

On Tuesday, 31 May 2022 at 08:27:17 UTC, forkit wrote:

>

It IS a problem - that has to be explicately managed by the developer (I'm referring specifically to C/C++ here of course, as I regularly have to switch compilers).

The main problem, I guess, is that most codebases don't stick to the standard, but use extensions.

If you stay within the standard you can just check the feature matrix:
https://en.cppreference.com/w/cpp/compiler_support/20

And test new features using the provided feature testing macros:
https://en.cppreference.com/w/cpp/feature_test

Most of the time the docs provide a reference implementation that can be used if a library feature is missing.

A reasonable solution, IMO.

May 31, 2022
On Tuesday, 31 May 2022 at 09:19:46 UTC, Paulo Pinto wrote:
>
> Unless you happened to have been like myself, working for a Microsoft certified partner with access to pre-release builds of .NET 1.0, those MSDN CDs with red documentation, I doubt the 22 years, but who's couting just a couple of months until October 2023.

Yes, indeed, the company I worked for back then were an MCP, and they (the company) provided me with an *full* MSDN subscription (which was very expensive back then). This is precisely why I got on board with C# (or specifically, .NET) so early. I was already developing when it was in beta (and still use it today).

Before that, it was... grr... grrr.. grrrrrr.... C!

> Multiple implementations allow for validation that the compilers actually work as per language standard, and do not have tainted behaviours.

That is a valid (but different) argument.

The more a language design leaves open the option for 'implementation defined' behaviour, the more it falls onto developers to mangage this - this is why I don't like 'implementation defined' behaviour.
May 31, 2022
On Tuesday, 31 May 2022 at 08:48:54 UTC, bauss wrote:
>
>
> C# doesn't have a single compiler, that was especially true before dotnet core, where you absolutely had to use other compilers if you wanted to write code for any other platforms than Windows.

In the world I live in (which maybe different to yours), there is only one compiler for C# ;-)

I'd argue the same is true for the majority of C# developers (not every single one, but a majority) - since the majority would have been developing on Windows anyway.

When I goto the D download page, I have to immediately make a choice from one of three compilers, even for the same platform.

May 31, 2022

On Monday, 30 May 2022 at 13:00:36 UTC, Ola Fosheim Grøstad wrote:

>

On Monday, 30 May 2022 at 12:38:31 UTC, Chris wrote:

>

[...]

More importantly, it is necessary to create a shared vision, and the ebb and flow of what people want and don't want will hopefully give some guidance of where the gravity is.

[...]

I should probably have closed my comment with /sarc or prefixed it with "⸮" [1] ;)

[1] https://en.wikipedia.org/wiki/Irony_punctuation

May 31, 2022
On Tuesday, 31 May 2022 at 10:27:11 UTC, forkit wrote:
> On Tuesday, 31 May 2022 at 08:48:54 UTC, bauss wrote:
>>
>>
>> C# doesn't have a single compiler, that was especially true before dotnet core, where you absolutely had to use other compilers if you wanted to write code for any other platforms than Windows.
>
> In the world I live in (which maybe different to yours), there is only one compiler for C# ;-)
>
> I'd argue the same is true for the majority of C# developers (not every single one, but a majority) - since the majority would have been developing on Windows anyway.
>
> When I goto the D download page, I have to immediately make a choice from one of three compilers, even for the same platform.

That's just ignorance at play.

Anyone who uses .NET Framework isn't using the same compiler as anyone who uses dotnet core or .NET 6 for that matter.

The only difference between C# and D, is that for D you can be selective, for C# you get all the compilers shipped with you, D let's you pick and choose.

You have a really bad take on this, I'm not even trying to bad mouth C#, as I use it every day, alongside D.

But it's sheer ignorance from your side if you believe that C# is as simplified as you make it.

The reason why you don't see it is because you probably use Visual Studio, which is a massive bundle of compilers and tools.
May 31, 2022

On Tuesday, 31 May 2022 at 10:47:08 UTC, Chris wrote:

>

I should probably have closed my comment with /sarc or prefixed it with "⸮" [1] ;)

Yeah, I took it as irony, but just in case others didn't…

Anyway, let us hope there is a subset of people in the forum who, through dialogue, can evolve a compatible vision. Then maybe we will see something great come out of it. A compiler base that also can provide competitive IDE tooling.

May 31, 2022
On Tuesday, 31 May 2022 at 10:47:13 UTC, bauss wrote:
>
> That's just ignorance at play.
>

Well you're sure being picky in what you respond to.

But on *my* computer, I have only one compiler for C#. That's not ignorance, that's fact!

Of course, I (still) program against .NET Framework, not .NET Core.

I use VS if I need a gui in my app, but for console programs, I program in my own IDE which i developed myself (in C#!).

But even if I programmed against .NET Core, instead of .NET Framework, I'd still only have one C# compiler on my computer (regardless of the platform i'm using).

I'm not even aware of another compiler available to me, or why I'd even consider it.

Now if I install .NET Core on my computer, then sure, I'd have 2 compilers for C# - but each targeting their own framework.

But in my world, as it is, there is only one C# compiler I ever use.

On the otherhand, even on the same platform (whether it's Windows or Linux - both of which i use extensively), I constantly switch between dmd and ldc, to help verify the behaviour of my program (cause I don't fully trust either compiler to do what it says its going to do). I also do it because I do not know enough about the possible 'implementation defined' behaviours in the D programming language.