Live data from Hacker News

Microsoft donates the Mono Project to the Wine team

mono-project.com

411–420 of 509 posts

Re: Microsoft donates the Mono Project to the Wine team

#411

Earlier quoted context omitted.

Mono was, but newer versions of .NET run on Linux and Mac. You can install at the link below, and then making a project is just `dotnet new console` and run with `dotnet run` https://learn.microsoft.com/en-us/dotnet/core/install/linux

Is there a way to build a GUI app with .NET on Linux? Will it be cross-platform?

There is also Uno

https://platform.uno/

Re: Microsoft donates the Mono Project to the Wine team

#412

Earlier quoted context omitted.

No, Microsoft's .NET only supports WinForms on Windows. They do have an official cross platform GUI toolkit in MAUI, but it strangely does not support Linux.

>but it strangely does not support Linux. Support reasons. Still isn't the year of Linux Desktop.

Open Source Support reasons. If Linux developers want better MAUI support there is a "Community Repo" to contribute to and help move things further along. The impression is that if things were further along it might get formally "adopted" (by the Dotnet Foundation) for "official" out-of-the-box "support", but it isn't far enough along and doesn't seem to have enough contributors with enough momentum. It currently seems that the Venn Diagram of "Developers that say they want MAUI support for Linux" and "Developers that would contribute to Linux support for MAUI" has too small of an intersection.

Sure, Microsoft could pay more employees to work on it faster, but Linux loves and prefers open source from Linux devs "untainted by Microsoft", right?

Re: Microsoft donates the Mono Project to the Wine team

#413

Earlier quoted context omitted.

I last touched LINQ in college in 2016 - isn't it basically an ORM for C#? Not super unique but I assume very relevant to use when working with C#.

LINQ is just the way .NET calls iterator expressions that are a staple in any language that claims to be good and modern. There are two main interfaces in .NET that have different behavior: IEnumerable which a sequence monad, much like Seq types in FP languages or IntoIterator and Iter (IEnumerator ) in Rust. This is what you use with whenever you 'var odd = nums.Where(n => n % 2 is 0);`. IQueryable which is what EF…

Just realized it should have been

    var even = nums.Where(n => n % 2 is 0);
I'm so sorry

Re: Microsoft donates the Mono Project to the Wine team

#415

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 .

No and it's not even close. Kotlin only has a single Jetbrains Compose (I presume Kotlin Multiplatform is the same thing). It is also subject to the quirks and specifics of JVM implementations, build-systems and package management. Kotlin native partially bypasses this, but its performance is a factor of 0.1-0.01x vs OpenJDK (if there is new data - please let me know). This is very unlike NativeAOT which is on average within 90% of CoreCLR JIT but is also a performance improvement in variety of scenarios.

C# and F# get to enjoy the integration that is "much closer to the metal" as well as much richer cross-platform GUI frameworks ecosystem with longer history.

Re: Microsoft donates the Mono Project to the Wine team

#416
post #108

I always assumed Microsoft did not condone Wine or other re-implementations of their APIs (like ReactOS), but that they were protected by DMCA reverse engineering provisions and anyway too insignificant to send the legal team after. Wikipedia says, > Until 2020, Microsoft had not made any public statements about Wine. ... On 16 February 2005, Ivan Leo Puoti discovered that Microsoft had started checking the Windows R…

I think Microsoft has finally realized that its animus toward projects like Wine and pre-acquisition Mono was ultimately unproductive, and a net negative for Microsoft itself. I still don't trust MS's motives in general, but I think they at least recognize that Wine/Proton helps make the Win32 and DirectX APIs a sort of de-facto cross-platform standard when it comes to things like desktop gaming, and that this is a g…

Maybe they feel the same about Wine as I do about WSL.

You can argue that the my-thing-wrapped-inside-your-thing increases exposure to my-thing and that's a net good outweighing any other factors, but you can just as validly argue it helps divert from actual adoption of my-thing and facilitates never moving from your-thing, since no one has any actual empirical study, it's all just feelings and beliefs.

Maybe one logical argument that might have some meat is maybe WSL/Wine just means that the exposure vs crutch aspects cancel each other out (for every user who is exposed to foreign-thing and maybe decides to adopt it, there is another user who thanks to the swallowed version does not ever have to to move), and if that's true, then any imbalance in effects comes down to the the innate virtues of the two things. Both groups of people are equally exposed to both platforms and have equally good-enough use of both platforms, and neither has to actually change to get the benefits of the other, and so the user will choose whichever actually seems to serve their needs the best as their native platform.

I wonder if it's possible to make a desktop backed by WSL that would be a better experience than the current ad/spying-riddled Windows native desktop? Then MS would be forced to try to enshittify WSL so that it doesn't provide an escape and superior experience from the current Windows experience. Is WSL a good thing THEN?

At least for now, WSL has absolute crap access to hardware, not even just like gpus for gaming but even simple things like access to a usb-serial adapter. So, it's probably not possible to make a functional WSL desktop yet. Maybe such things will intentionally never be fixed in WSL just for this reason, so you can only ever use it for pure web app development no different from a cloud instance.

Re: Microsoft donates the Mono Project to the Wine team

#417

What does 'donate' mean? Does it essentially mean that they're abandoning it and pull all resources, while the Wine team is welcome to continue maintaining it if they want to? Also, I'm not sure how relevant Mono is in the context of Wine. .NET Core is no longer an OS component, but just a runtime that ships with software. Imo their focus should be on getting said runtime working, rather than maintaining a .NET fork.

The .NET Core Runtime works great on Linux, but it can't run .NET Framework apps, hence wine-mono.

Re: Microsoft donates the Mono Project to the Wine team

#418
post #266

Earlier quoted context omitted.

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.

I don't think that supports Linux tho

I had to check; you're right, no official support for Linux. Windows, macOS, iOS, Android. You can kludge Linux in with hacks.

Re: Microsoft donates the Mono Project to the Wine team

#419

Earlier quoted context omitted.

Jetbrains is a third party vendor here, too.

A third party vendor for the Kotlin language? Kotlin has replaced Java as C#'s largest competitor, so that's what we should be comparing against.

> Kotlin has replaced Java as C#'s largest competitor

Er, I don't think this assertion is backed by data. See for example https://pypl.github.io/PYPL.html

Is Kotlin the most "active", "hot", or "up-and-coming" competitor? Possibly. But the "largest"? Its deployed footprint and popularity are nowhere close to Java's at this point in time.

Re: Microsoft donates the Mono Project to the Wine team

#420
post #300

Earlier quoted context omitted.

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…

For modern .NET, you don't need to know anything about the legacy terms of Mono, .NET Core, .NET Framework, .NET Standard, etc. All you need is .NET 8 SDK. It's fully-cross platform and installs support for both C# and F#. For example, just download .NET 8 SDK on whatever platform, which is usually very easy on most platforms, and then run `dotnet fsi` to get into an F# REPL.

Oh my god I forgot about .NET Standard. What were they thinking…
Post reply on HN