Live data from Hacker News

Mono 4.0.0 Release Notes

mono-project.com

31–40 of 63 posts

Re: Mono 4.0.0 Release Notes

#31

And with this release we see the beginning of the convergence of the Mono and Microsoft codebases. I'm glad Mono will be more reliable as a result, there have always been persistent reliability and compatibility issues that the Mono team hasn't been able to really fix. It's also a little sad, in a way. It relegates Xamarin to maintainers of a distribution for another operating system. At the end of the day, C# and .N…

It will be interesting to see if anyone releases an open-source port of the MS runtime to ARM... Xamarin could wind up left with only their proprietary cross-platform UI toolkit!

Re: Mono 4.0.0 Release Notes

#32

Earlier quoted context omitted.

Wait...mono doesn't do tail call optimization with f#???

It is (or was) complicated, you could stack overflow on two mutually recursive functions or tail calling inside continuations.

I'm getting constant memory on this (mono v3.12.1)

    let rec beep x =
        if x = 0 then x else boop (x - 1)
    and boop y =
        if y = 0 then y else beep (y - 1)
    
    let main argv =
        printfn "%A" (beep 999999999)
        0

Re: Mono 4.0.0 Release Notes

#33

Earlier quoted context omitted.

Maybe not first class, but I think Microsoft's eaten a bit of humble pie (ala IBM ~15-20 years ago when they started ramping up Linux efforts) and generally playing nice. Who ten years ago would have imagined so much of .NET would wind up MIT licensed, not just some 'shared source' malarky, on Sourceforge's ~2015 successor? This isn't the Microsoft of the Halloween memos anymore.

No, we are making them first class. When we have a bug that breaks one of our three build queues (Windows, Linux, Mac), it will not be acceptable to break any of the platforms.

Sweet :)

Re: Mono 4.0.0 Release Notes

#34

Earlier quoted context omitted.

It is (or was) complicated, you could stack overflow on two mutually recursive functions or tail calling inside continuations.

I'm getting constant memory on this (mono v3.12.1) let rec beep x = if x = 0 then x else boop (x - 1) and boop y = if y = 0 then y else beep (y - 1) let main argv = printfn "%A" (beep 999999999) 0

Those are mutually recursive functions, but they're not using continuations.

Re: Mono 4.0.0 Release Notes

#35
post #31

And with this release we see the beginning of the convergence of the Mono and Microsoft codebases. I'm glad Mono will be more reliable as a result, there have always been persistent reliability and compatibility issues that the Mono team hasn't been able to really fix. It's also a little sad, in a way. It relegates Xamarin to maintainers of a distribution for another operating system. At the end of the day, C# and .N…

It will be interesting to see if anyone releases an open-source port of the MS runtime to ARM... Xamarin could wind up left with only their proprietary cross-platform UI toolkit!

Runtime is already open and runs on Linux, one just has to cross compile it, optimize for mobile and do the bindings and such that Xamarin already does. That's still quite a bit of legwork since Xamarin has been doing it for some years now. Not saying someone couldn't do it, but it would take a good amount of time to be on the level Xamarin is in stability and performance.

I pay for Xamarin personally and think it's well worth it if doing cross-platform compared to the alternatives out there. I'd continue to do so until there's a very stable open sourced alternative. However, I think Xamarin knows such a possibility could happen and that's why they primarily target enterprise and not individual developers.

https://github.com/dotnet/coreclr

Re: Mono 4.0.0 Release Notes

#36

Earlier quoted context omitted.

> At the end of the day, C# and .NET are now officially first class citizens on Linux. C# and .NET will never be first class citizens on unix. This is by design. http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish

You're aware the past can only inform the future, not predict it?

Some people are never going to get over the past...guessing if the poster is American, they must not trust the British either for burning down the White House 200 years ago. I lived through the late 90s and 00s Microsoft era and know as well any developer the shenanigans that went on for better or worse. I always had a fondness for C# over Java for its willingness to innovate while Java stagnated, but never wanted to commit myself to being stuck only in the Windows ecosystem.

That said, I am excited to see the direction Microsoft is heading. It enthused me enough to start using Xamarin when I want to build cross platform for personal projects and to recently switch my day job to a company that uses .net for most of the their software. Not overly fond of cmd.exe and powershell on Windows still, but for most things, there's always Cygwin and it too has come a long way. Main issue is Powershell inherited all of cmd.exe's bad user interaction design (tab completion, select/copy/paste, buffer, history up/down scrolling) when compared to a typical *nix terminal.

Re: Mono 4.0.0 Release Notes

#37
post #31

And with this release we see the beginning of the convergence of the Mono and Microsoft codebases. I'm glad Mono will be more reliable as a result, there have always been persistent reliability and compatibility issues that the Mono team hasn't been able to really fix. It's also a little sad, in a way. It relegates Xamarin to maintainers of a distribution for another operating system. At the end of the day, C# and .N…

It will be interesting to see if anyone releases an open-source port of the MS runtime to ARM... Xamarin could wind up left with only their proprietary cross-platform UI toolkit!

For Android this could be possible.

For iOS I think you would have to figure out how to hook up MS runtime to a LLVM AOT compiler and then do all the work Mono team did to make sure libraries compile/work without JIT.

I really hope Xamarin guys follow Microsoft lead and make entry level version of their product free. It's not just about the ~25$ per month, it's about community as well - say some guy X is maintaining .NET library Y. I write up a port/pull for Xamarin - X goes "sweet but I can't test that since I don't own Xamarin and I can't even include it in my test suite to not break it further". Now I have to maintain a branch of Y for Xamarin and most other people are likely not going to find it or willing to use it.

I don't know which % of their profit comes from the indie licensing but if it's not significant as I suspect I would hope that they see this - it will help both their adoption and the OSS community build tools for their product.

Re: Mono 4.0.0 Release Notes

#38
post #31

Earlier quoted context omitted.

It will be interesting to see if anyone releases an open-source port of the MS runtime to ARM... Xamarin could wind up left with only their proprietary cross-platform UI toolkit!

For Android this could be possible. For iOS I think you would have to figure out how to hook up MS runtime to a LLVM AOT compiler and then do all the work Mono team did to make sure libraries compile/work without JIT. I really hope Xamarin guys follow Microsoft lead and make entry level version of their product free. It's not just about the ~25$ per month, it's about community as well - say some guy X is maintaining…

That depends on what Microsoft plans to do with the upcoming .NET Native compiler, but I guess that would be kept closed.

Re: Mono 4.0.0 Release Notes

#39
post #6

This is a draft. Mono 4.0 hasn't been released yet. Who keeps publishing mono's release-notes drafts as HN news?

This is on HN homepage now, so the question you should ask is not who published it, but who upvoted it. And the answer is, at least 158 different people who found it useful.

Re: Mono 4.0.0 Release Notes

#40
post #29
post #7

I look forward to being able to use this all in Unity3D in 7 years.

Unity is moving away from Mono anyhow, http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-... so updates in Mono are irrelevant to Unity.

What? That's what this post says:

> we will also be upgrading to recent versions of the Mono C# compiler, base class libraries, and runtime for use in the editor

> We will continue to use the Mono C# compiler (and perhaps later, Roslyn). We will continue to use the Mono class libraries. All currently supported features and 3rd party libraries which work with Mono AOT should continue to work with IL2CPP. We are only seeking to provide a replacement for the Mono VM and AOT compiler, and will keep on leveraging the wonderful Mono Project.

Post reply on HN