Home About Eric Topics SourceGear

2021-02-09 12:00:00

Llofty Ambitions

My recent blog entries about Llama (my project to allow languages like Rust to be used for .NET development) have generated a lot of interest and feedback, which I appreciate very much.

One common question I see is (concisely paraphrased): Why?!?

Before I take this very legitimate question seriously, would you mind if I pause and laugh at it?

I mean, it's kinda funny, right?

People nowadays think it's perfectly normal to compile every language to JavaScript, but they seem shocked at the notion of compiling any language without "sharp" in the name for the COMMON LANGUAGE RUNTIME.

I don't think this is the branch reality I was supposed to live in.

Increasing adoption for .NET

For the .NET ecosystem, the last five-ish years have been amazing. .NET has become cross-platform, open source, and fast. These are big moves, and they open the door for wider adoption of .NET.

But what's next? How could .NET get even more adoption?

Now that the door is open, how could we encourage more people to actually walk through it?

The Big Idea of This Blog Entry

People would be more willing to adopt .NET if they could bring their favorite language with them.

Despite all the terrific progress that has come with .NET Core through .NET 5, adopting .NET still mostly means switching to C# or F#. That is an obstacle.

What's wrong with C# ?

Nothing.

The point here is not to criticize C#. The point is that people like their languages.

Actually, let's maybe criticize C# just a little: As much as I like C#, it is showing its age just a bit. Many developers today are interested in more modern languages like Rust or Swift, and it's not clear that C# 10, 11, and 12 are the answer for everybody.

But the strengths or weaknesses of C# are not the issue here. My opinions about the need for broader language diversity in the .NET ecosystem would not change (much) if some other language occupied the place where C# currently sits.

But .NET will be spread too thin!

We don't need all languages on .NET to have equal status. C# is the "primary" language for .NET, and I think it always will be, and I think that's okay.

Most platforms have one language that occupies the special seat. C was the primary language for Unix.

Why I'm working on Llama

Well, I like .NET, I like Rust, and I like compilers. What else would you expect me to be doing?

But if I set practicality and realism aside, and if I think big...

It would be awesome to see .NET become a great platform for languages like Rust and Swift, and I would love for Llama to be a part of that story.