Live data from Hacker News

Microsoft donates the Mono Project to the Wine team

mono-project.com

451–460 of 509 posts

Re: Microsoft donates the Mono Project to the Wine team

#451

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…

Minor nit: from what I understand dot net (core) is not a fork but rather a reimplementation / rewrite as far as I understand > It was forked out of .NET 4.x and dropped support for a lot of things in the first versions.

It's a fork with a lot of modifications (mostly removing deprecated stuff and making it cross-platform). You can still see a lot of ancient stuff in the sources such as referring to the base Object class as "COM+ object" (.NET was originally envisioned as a successor to COM).

>An early name for the .NET platform, back when it was envisioned as a successor to the COM platform (hence, "COM+"). Used in various places in the CLR infrastructure, most prominently as a common prefix for the names of internal configuration settings. Note that this is different from the product that eventually ended up being named COM+.

For example, see the top comment in https://github.com/dotnet/runtime/blob/main/src/coreclr/vm/o...

Re: Microsoft donates the Mono Project to the Wine team

#452

Earlier quoted context omitted.

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 averag…

Which rich cross-platform GUI frameworks are you talking about? Win32? Silverlight/Blend? XAML? MAUI? They're all windows only. Gtk? Qt? Sure, they exist, but they're ancient and limited to long outdated paradigms. I don't know if you can get QtQuick with KDE Kirigami to work on .NET, otherwise that might be one option. Kotlin Multiplatform is btw a solution for building the same code for kotlin native, JVM and web t…

> Which rich cross-platform GUI frameworks are you talking about? > Win32? Silverlight/Blend? XAML? MAUI? They're all windows only.

MAUI is not windows only. I have a MAUI app on my android phone. Cross-platform? yes. Rich? Now, I wouldn't call it that.

Re: Microsoft donates the Mono Project to the Wine team

#453
post #300

Earlier quoted context omitted.

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.

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.

What's unfriendly about just clicking through the options? Anytime I want to install .NET, I just go to that exact documentation, click on the distribution I want (usually Ubuntu), and then just click on the version (https://learn.microsoft.com/en-us/dotnet/core/install/linux-...). I almost always use Microsoft's feeds though, so as to not rely on the middleman of the Ubuntu package manager feeds.

Re: Microsoft donates the Mono Project to the Wine team

#454

Earlier quoted context omitted.

> Wine/Proton helps make the Win32 and DirectX APIs a sort of de-facto cross-platform standar There are perfectly fine _actual_ cross-platform standards like Vulcan and OpenGL. If your goal is cross-platform, making a Windows app that you hope will be converted well enough is a strange way to approach it.

And yet, Linux gaming is largely dxvk and proton.

Game studios get a lot more mileage out of testing their games on Linux+Wine than bothering to build a Linux native version that will stop working within two years.

Steam has incentivized this with their Steam Deck Verified program. The Steam Deck being so popular means a lot of studios want their games to be verified on Deck, and if they're verified on Deck then they work in the Linux desktop version of Steam out of the box.

Re: Microsoft donates the Mono Project to the Wine team

#455

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…

Microsoft in 2024 feels like a different beast. All the MS devs I know seem fully on board with totally cross-platform support. Half of them are coding on MacBooks and I would hazard a guess that a good proportion of .NET web sites being built are being deployed onto Linux boxen.

I'm sure the vast majority of individuals, especially those doing the technical work, are normal people wanting good things and pushing to do good work. It's the organisation as a whole that turns into a different beast making business decisions

Re: Microsoft donates the Mono Project to the Wine team

#456
post #356

Earlier quoted context omitted.

> Strangely enough, I think the LaTex distribution qualifies, too. I tried to install it recently, and it wanted 1 GB of disk space! That's multiple times the size of the entire system disk when LaTeX was created... There is the TinyTeX distribution, which is smaller. (Despite its name, it isn't tiny, or small, or medium in size, but it is also large. But smaller than the default LaTeX distribution with all the possi…

My impression is that TinyTeX downloads required packages on the fly and can be quite tiny if you don’t use many packages.

Well here in the project readme there is a table with the sizes: https://github.com/rstudio/tinytex-releases (a bit outdated, they didn't refresh it). I downloaded TinyTex-1 for Windows, it's 338 MB uncompressed. It is _huge_ in my book.

Re: Microsoft donates the Mono Project to the Wine team

#459

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…

It never had any sense, and it never had any future. We told Miguel he would be playing the chase game with Microsoft and he will always be behind and never being sure if MS won't use the patent card if Mono actually becomes dangerous (and they can get quite nasty when pissed off - see the accusations against ReactOS).

But he was in love with COM/DCOM, registry, and many other things that MS shipped. Some of these things made Gnome much slower than it could be.

Re: Microsoft donates the Mono Project to the Wine team

#460

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.

back when .NET was first launched it was advertised as the new way of making desktop applications on Windows. Visual C# made it very easy to design GUI interfaces. So this "it's all for backend now" notion is surprising.

.Net is "Microsoft Java". Like Java it was designed to do everything, but as desktop development died (and mobile development was locked down by Apple and Google, limiting it to their corporate languages), it pivoted towards networked applications.
Post reply on HN