Live data from Hacker News

Microsoft donates the Mono Project to the Wine team

mono-project.com

341–350 of 509 posts

Re: Microsoft donates the Mono Project to the Wine team

#341

Earlier quoted context omitted.

Mono implemented the GUI stuff like Windows Forms, do the latest windows cross platform stuff support that? Can you run .Net GUI windows program on linux without Mono but using the latest .Net thing ? I know it was not possible in the past.

I think this is what you need now... https://dotnet.microsoft.com/en-us/apps/maui "Build native, cross-platform desktop and mobile apps all in one framework." I know my buddy uses it to write Android apps on his Mac that interface to an ASP.NET Core web site.

Isn't it just another Xamarin rebrand?

Re: Microsoft donates the Mono Project to the Wine team

#342

Earlier quoted context omitted.

.NET Core is available for Debian, you just have to add Microsoft's APT source [1]. Fedora [2], Ubuntu [3], and FreeBSD [4] build .NET from source themselves. A lot of work has been done to make it possible to build .NET from source [5] without closed source components, so it might just be a matter of someone being motivated to create the package for Debian. [1]: https://learn.microsoft.com/en-us/dotnet/core/install/…

When using Microsoft repositories you need to explicitly opt out on telemetry collection. I think telemetry collection alone should be a good reason for Debian to consider repackaging it. I don’t want telemetry to be collected on my GNU/Linux machine, thanks Microsoft, but you already have so much telemetry from my Windows machine, please leave my other machines alone.

I hate to defend telemetry of all things but in this particular case the criticism is unfounded and lacks context:

https://dotnet.microsoft.com/en-us/platform/telemetry

https://learn.microsoft.com/en-us/dotnet/core/tools/telemetr...

https://github.com/dotnet/sdk/tree/main/src/Cli/dotnet/Telem...

In any case, Debian would use https://github.com/dotnet/source-build and dotnet/dotnet, and could easily include the argument or a patch for this. It’s unlikely to be an issue. My bet it was not in Debian because there was no one to take initiative yet or there was but that person has faced a backlash by people in Debian who are similar to vocal minority here that posts FUD because of their little personal crusade.

Re: Microsoft donates the Mono Project to the Wine team

#343

I'm genuinely curious, for someone who develops web application backends and larger distributed systems & infrastructure, predominantly using Go and Python, exclusively targeting Linux, is there anything in the .NET ecosystem that anyone would recommend I take a look at? Many thanks.

It’s great for web application backends. Switched to it after 10+ years of Python. Couldn’t be happier. Binaries will be huge tho compared to Go. I’ve a few CLIs that I that I my customers need to use, I’m planning to rewrite them in Go for this reason.

Is AOT compiling your binaries [1] an option for you? The starting size of AOT compiled C# can beat Go in size [2] and from there it really depends on what you do and how you do it. Some simple ASP.NET server with https and routing can comfortably fit under 10 MB and there are compilation options that can help optimize further [3].

[1] https://learn.microsoft.com/dotnet/core/deploying/native-aot... [2] https://github.com/MichalStrehovsky/sizegame?tab=readme-ov-f... [3] https://learn.microsoft.com/dotnet/core/deploying/native-aot...

Re: Microsoft donates the Mono Project to the Wine team

#344

I worked on Mono a lot back in the early 2000s (back in the SVN days before it moved to Git, even). This move makes a lot of sense. Things evolved a lot over the years. Mono's legacy goals, which are to be a portable CLR (.NET) runtime for platforms that Microsoft didn't care about, don't make much sense today. Mono made a lot of sense for running places where full .NET didn't, like in full AOT environments like on t…

Is there somewhere where someone new to the ecosystem can get a simple introduction to all of these different terms and which ones are still relevant today? I looked into .NET somewhat recently and came away with the apparently mistaken impression that Mono was how .NET did cross-platform. I guess I must have been reading old docs, but I'm pretty sure they were at least semi-official. Is there good documentation some…

Aside from following the default 'start here' documentation, there are various timelines made for fun and profit that visualize the full history, for example:

https://time.graphics/line/291016

This is quite overwhelming, but it can still be useful when reading an article about .NET that is either older or refers to history as you can quickly see where in time it is located.

Re: Microsoft donates the Mono Project to the Wine team

#345

I'm genuinely curious, for someone who develops web application backends and larger distributed systems & infrastructure, predominantly using Go and Python, exclusively targeting Linux, is there anything in the .NET ecosystem that anyone would recommend I take a look at? Many thanks.

It’s great for web application backends. Switched to it after 10+ years of Python. Couldn’t be happier. Binaries will be huge tho compared to Go. I’ve a few CLIs that I that I my customers need to use, I’m planning to rewrite them in Go for this reason.

[deleted]

Re: Microsoft donates the Mono Project to the Wine team

#346

Earlier quoted context omitted.

That is like saying C is not cross platform because there is not a library for making desktop apps that use native components on all those platforms.

.NET/C#'s competitor JVM/Kotlin does provide a UI framework (Jetbrains Compose) that runs on iOS, Android, Windows, Mac, Linux, and the web. That's what you have to compare against, and .NET/C# falls flat .

That's also not part of the JVM or the Java language.

Re: Microsoft donates the Mono Project to the Wine team

#347

Earlier quoted context omitted.

This is wild, apparently this stuff is in the Debian repos now? https://learn.microsoft.com/en-us/dotnet/core/install/linux-... So you can just apt install dotnet-sdk-8.0. This must be the most unfriendly Linux install documentation I've ever seen though, it was not easy to find the names of those packages.

> This is wild, apparently this stuff is in the Debian repos now? It's not. Microsoft provides its own apt repository you need to add first.

It's in a bunch of other distros, though: https://repology.org/project/dotnet/badges

Re: Microsoft donates the Mono Project to the Wine team

#348

Earlier quoted context omitted.

That is like saying C is not cross platform because there is not a library for making desktop apps that use native components on all those platforms.

.NET/C#'s competitor JVM/Kotlin does provide a UI framework (Jetbrains Compose) that runs on iOS, Android, Windows, Mac, Linux, and the web. That's what you have to compare against, and .NET/C# falls flat .

Jetbrains is a third party vendor here, too.

Re: Microsoft donates the Mono Project to the Wine team

#349

Earlier quoted context omitted.

> Nowadays it sounds like .NET Core + third-party GUI libraries is the way to go. For reference for those unfamiliar with the terms: .NET Core was the name given to the cross-platform fork of the .NET runtime. It was forked out of .NET 4.x and dropped support for a lot of things in the first versions. It ran on various distributions of Linux and MacOS. At the same time there were forks of other libraries/frameworks i…

Okay, this helps a lot! So .NET Core is now out of date, and any version of .NET >= 5 is cross-platform and has no Core variant?

More or less. any version of .NET >= 5 is cross-platform and is a direct descendant of the "Core" side of the fork, and so has no "full framework, windows only" variant.

It is "Core" in a lineage sense, but there's no need to make that distinction any more. The term "Core" is out of date, because the experimental "Core" fork succeeded, and became the mainstream.

Re: Microsoft donates the Mono Project to the Wine team

#350

I'm genuinely curious, for someone who develops web application backends and larger distributed systems & infrastructure, predominantly using Go and Python, exclusively targeting Linux, is there anything in the .NET ecosystem that anyone would recommend I take a look at? Many thanks.

The feature I always suggest as uniquely C# flavoured is LINQ.

https://learn.microsoft.com/en-us/dotnet/csharp/linq/get-sta...

Although the SQL-like form isn't always favoured, and quite a lot of the time I use the plain OO one.

Oh yes, extension methods: do you want object X to support method Y, but can't change object X? Well, provided you don't need access to anything private, you can just add a method and do X.Y()

Post reply on HN