Live data from Hacker News

Microsoft donates the Mono Project to the Wine team

mono-project.com

381–390 of 509 posts

Re: Microsoft donates the Mono Project to the Wine team

#381
post #108

Earlier quoted context omitted.

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…

I disagree. MS was completely succesfull in their goals. They kept a ton of developers busy learing useless Xamarin, thus keeping them from developing products that can actually compete with Microsoft products. Next they killed of an open source competitor (Mono) of their product, stole the usefull bits to put it in .Net, and now they dump the leftover project (that's not competing with them anymore) back into the OS…

> stole the usefull bits to put it in .Net

a nitpick, they acquired Xamarin for half a billion dollars, that's not really stealing is it.

Re: Microsoft donates the Mono Project to the Wine team

#382
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.

If only. Class libraries still have to worry about this.

Re: Microsoft donates the Mono Project to the Wine team

#383
post #375
post #358

Earlier quoted context omitted.

I'd argue that the dominance of Linux on cloud and Azure growing business is what's causing Microsoft to have an ongoing interest in linux support. A factoid that's shared sometimes (no idea if true) is that Microsoft now employs more Linux kernel engineers than Windows kernel engineers due to Azure.

That came after. Linux wasn't even on 2.6 with its famous stability yet when this kicked off. What you see now is a result . They softened on open source as they realized it actually has some benefits for a company like Microsoft. The Microsoft of the Halloween Documents[0] is a different Microsoft from the one we see today that understands open source as something good rather than as a threat, and it started with Mi…

After having gouged Red Hat and Suse for years with their bogus Linux patent racket and bankrolling the infamous SCO Unix lawsuit. Make no mistake M$ coming over all We Love Linux was like Donald Trump turning up at the DNC.

Re: Microsoft donates the Mono Project to the Wine team

#384
post #350

Earlier quoted context omitted.

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

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 Core uses for SQL query compilations looks the same as the first one, and has the same methods, but is based on something called "Expression Trees" that allow runtime introspection, modification and compilation of the AST of the expressions passed to Select, Where, etc. This existed in .NET for ages and really was ahead of the time when it was introduced. You can write a handler for such expression trees to use LINQ as sorts of DSL for an arbitrary back-end, which is how EF and now EF Core work. You can also compile expression trees back to IL which is what historically some of the libraries that offer fast reflection relied on. Of course this needs JIT capabilities and runtime reflection, which makes it AOT-incompatible - calling .Compile() on such query in a JIT-less application will be a no-op and it will be executed in an interpreter mode. It is also difficult for the linker to see the exact types that are reflected on which means you have to annotate the types you want to keep and AOT compile code for. Which is why this mechanism is largely replaced by source-generation instead, closer to how it happens in C++, Rust, etc. An example of this is Dapper AOT.

Re: Microsoft donates the Mono Project to the Wine team

#385
post #244

Earlier quoted context omitted.

I found someone requesting that it be added to Debian: https://bugs.debian.org/cgi-bin/%3Ca%20href=%22bugreport.cgi... So far no one has mentioned licensing being an issue.

that's great! possibly the link you meant was https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1078132 that seems to be from only a few weeks ago though it doesn't seem to have come up on debian-legal in the last year or so https://lists.debian.org/debian-legal/ but debian-legal is also kind of a shadow of its former self

Notably in that bug report the reporter says they cannot maintain it (not that I blame them, not a small work)

Re: Microsoft donates the Mono Project to the Wine team

#387
post #367

Earlier quoted context omitted.

Sure, nobody wants to write Winforms new applications today My point is about running existing applications on Linux, there are still issues with running .Net GUI stuff under wine and Mono was not a perfect implementation. I read in other comments that the newer .Net cross platform stuff is not a replacement for Mono for running this old applications. (nobody will rewrite them to use the current GUI stuff from MS sin…

I've had pretty good success running WinForms apps in wine, and just straight up installing latest version of dotnet in wine. Works better in proton from my experience though, but I think that is due to making unity games run better

It is not perfect, there are issue depending if you need 32 or64 bits or if you need .net4 or greater. Games work but I have issues running tools like mod managers, game save cleners that are made with .net . In my case Sims3 works fine but not the Sims3 Launcher(this tools has more features then just launching the game like importing custom content/mods )

Sadly some Java tools stopped working if you run latest Java runtime because for some reason some crap was removed from Java and nobody made some easy way to add them back with soem package install.

Re: Microsoft donates the Mono Project to the Wine team

#388
post #372

Earlier quoted context omitted.

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.

I've been a long way from Windows development for a while, so missed that shift. I knew it was coming since moving functionality to the open source thing seemed to be Microsoft's target (with some skeptics doubting it, understandably). I didn't know it already happened.

The shift is slow, but it has been ongoing for years, and is pretty much wrapping up now. .NET 5 was released in November, 2020 and that was the "beginning of the end" of the shift over.

For what I do, it's not really "Windows development" in any meaningful way. It is business functionality with HTTP, message queues etc, developed on mostly Windows laptops, and deployed to mostly Linux instances on the cloud. Not that the host OS is something that we have to think about often.

For this, .NET 3.x "the full framework windows only version" services are regarded as very much legacy, and I wouldn't go near one without a plan to migrate to a modern .NET version.

However, YMMV and people are also making windows desktop apps and everything else.

Re: Microsoft donates the Mono Project to the Wine team

#389
post #383
post #375

Earlier quoted context omitted.

That came after. Linux wasn't even on 2.6 with its famous stability yet when this kicked off. What you see now is a result . They softened on open source as they realized it actually has some benefits for a company like Microsoft. The Microsoft of the Halloween Documents[0] is a different Microsoft from the one we see today that understands open source as something good rather than as a threat, and it started with Mi…

After having gouged Red Hat and Suse for years with their bogus Linux patent racket and bankrolling the infamous SCO Unix lawsuit. Make no mistake M$ coming over all We Love Linux was like Donald Trump turning up at the DNC.

I do remain skeptical that the node on the Microsoft org chart that usually strangles anything good the companies does is waiting to strike. It used to be Windows node, but now it seems like the ad node comes in for the kill most of the time. The company is slowly morphing into Google as Google morphs into Amazon, while Amazon is morphing into UPS.

Strange times.

Re: Microsoft donates the Mono Project to the Wine team

#390

Earlier quoted context omitted.

You’re not alone. I would say I’m not ‘new’ and even developed .net 4.5 for a number of years. I’m just as stumped by the naming mess that Microsoft made across the board in that space. Edit: I say 4.5 because I mean the original thick .net which is not dotnet core, which I think is the way to differentiate between versions, but also all the sub libraries like the orm were iirc named the same but did different things…

I think Microsoft is completely allergic to naming anything with a unique name or term; in fact, it's almost like they pick names that will be hardest to find with a google search.

This is compounded by their propensity to rename everything at periodic intervals.
Post reply on HN