Live data from Hacker News

Microsoft Open Sources C# Compiler

roslyn.codeplex.com

161–170 of 459 posts

Re: Microsoft Open Sources C# Compiler

#161

Earlier quoted context omitted.

I assume you mean the Mono C# compiler (the one that the Mono team develops). Interestingly, no -- but neither can the native C# compiler (that's what we call the old C# compiler that everyone's using in VS right now)! Why? The C# compiler is bootstrapped, so we actually compile the compiler with the compiler. It just so happens that a while ago we felt we needed a feature so badly for the C# compiler that we introdu…

Heh. A few years ago I was on a small team working on a .NET compiler and runtime -- it compiled MSIL into native code targeting x86 and PowerPC. I remember when working on the part of the compiler that built the exception handling routines running into exception filters and wondering what they were for. We were largely targeting C# as a development environment at the time but ended up implementing them in case anyon…

In certain cases, especially with async, using "throw;" can cause a loss of information in a dump. We want compiler bugs to fail fast -- to immediately crash the compiler for debugging and analysis. By using exception filters we can immediately crash the compiler in erroneous conditions, preserving stack, locals, etc.

This isn't just useful for the compiler, but we felt it was necessary for us to make the most reliable, agile product.

Re: Microsoft Open Sources C# Compiler

#162
post #83

They also announced as part of this that they are putting a large swatch of their .NET Source code under Apache 2 and accepting pull requests. Folks, this is a very big deal for Microsoft. Who would have imagined this 10 years ago? Here is an image that shows what they are putting into the community https://pbs.twimg.com/media/BkT9oBcCQAAHIAV.jpg:large

Once again the whole KILL MONO FUD was the actions of the Open Source Community in the last 5 years. I never understood how in the world they got this is a trap from everything that was happening. I don't agree with RMS many times but in this one way he was 100% wrong when he targeted mono.

Microsoft would never make the moves it does now if not for being scared of becoming less relevant.

Until they really make free enough licenses not only for the core stuff but for the crucial libraries nobody can expect to be off-the-hook of the traditional lock-in.

And even if they do all that, it doesn't mean anybody was "wrong" only that the conditions are changing and allow reconsideration.

Re: Microsoft Open Sources C# Compiler

#163
Note that the C# compiler being open-sourced now is not the one used in Visual Studio. The open sourced one is called currently the "Roslyn C# compiler."

See Locke1689's comments here, especially:

https://news.ycombinator.com/item?id=7524722

"the native C# compiler (that's what we call the old C# compiler that everyone's using in VS right now)"

Re: Microsoft Open Sources C# Compiler

#164

If Microsoft starts working on its own Unity-clone, with a functional language, advanced concurrency features, and good incremental GC, they could be sure to capture a big chunk of the mindshare of game developers. This could then be parlayed into mindshare of soft-realtime development, which will become ever more important.

Haskell has significant contributions by folks at Microsoft and is a beautiful functional language with state of the art concurrency, decent GC, and a hardcore fan base.

And here's some notes on bridging between Haskell and Unity http://lambdor.net/?p=321

Re: Microsoft Open Sources C# Compiler

#165
post #125

Earlier quoted context omitted.

You honestly don't get it? I really like microsoft products and I use them every day, however the business model is too lock people in to their ecosystem so that you have to purchase licenses for their products. Mono clearly undermines that b/c it allows you to "easily" jump ship to a free platform. Unless I'm somehow completely misunderstanding their business model - killing Mono just makes business sense.

Red Hat, for instance, makes a ton of money off the reverse model, where they let CentOS give away their core offering for free (heck, they're even paying people to work on CentOS now), and they make their money off clients who have money and are willing to exchange it for support and such for otherwise free offerings. There's really no reason Microsoft can't do something similar here (and they seem to be trending in…

You honestly think Microsoft it trying to shift to a RedHat-like business plan? That they'll switch to becoming a support provider?

I think what RedHat is doing is nice, but it's really not on the same scale to what Microsoft does; not to mention that they essentially have no monopoly/lockin - b/c anyone can start doing what they do (ie. start providing support for CentOS).

The synergy of microsoft services is closely tied to their ability to lock in developers and customers. Devs like C#, they write code to run on windows, windows gets more OS-exclusive software, more people buy Windows and Office, etc. etc.

Mono means people can run their C# work on free software, which mean they stop looking any better more appealing than the competition

Re: Microsoft Open Sources C# Compiler

#166

If Microsoft starts working on its own Unity-clone, with a functional language, advanced concurrency features, and good incremental GC, they could be sure to capture a big chunk of the mindshare of game developers. This could then be parlayed into mindshare of soft-realtime development, which will become ever more important.

Not a Unity clone, but a neat, related project is Casanova (https://casanova.codeplex.com/). It's an F# API (more like an EDSL) which allows you to program against Unity in a very functional style.

Re: Microsoft Open Sources C# Compiler

#167
post #163

Note that the C# compiler being open-sourced now is not the one used in Visual Studio. The open sourced one is called currently the "Roslyn C# compiler." See Locke1689's comments here, especially: https://news.ycombinator.com/item?id=7524722 "the native C# compiler (that's what we call the old C# compiler that everyone's using in VS right now)"

That's true, they open sourced the new-hotness compiler that they're moving to. The Roslyn compiler is still in preview, hence it hasn't had time to make it into Visual Studio. But I believe it'll be in the next version.

Really, this seems better than opening up the old compiler that they're moving away from.

Re: Microsoft Open Sources C# Compiler

#168
post #83

Earlier quoted context omitted.

Once again the whole KILL MONO FUD was the actions of the Open Source Community in the last 5 years. I never understood how in the world they got this is a trap from everything that was happening. I don't agree with RMS many times but in this one way he was 100% wrong when he targeted mono.

Are you referring to this? It doesn't sound like he was trying to kill Mono, he just didn't want to depend on it because of the patent issue. https://www.fsf.org/news/dont-depend-on-mono So, five years later Microsoft makes another step in the right direction, and you think he's wrong because he didn't want to risk building the open source environment around something that could go away with a simple threat. Btw, doe…

Not to mention that in 2009, when RMS wrote that, the TomTom lawsuit recently happened.

http://en.wikipedia.org/wiki/Microsoft_Corp._v._TomTom_Inc.

Re: Microsoft Open Sources C# Compiler

#170
post #83

They also announced as part of this that they are putting a large swatch of their .NET Source code under Apache 2 and accepting pull requests. Folks, this is a very big deal for Microsoft. Who would have imagined this 10 years ago? Here is an image that shows what they are putting into the community https://pbs.twimg.com/media/BkT9oBcCQAAHIAV.jpg:large

Once again the whole KILL MONO FUD was the actions of the Open Source Community in the last 5 years. I never understood how in the world they got this is a trap from everything that was happening. I don't agree with RMS many times but in this one way he was 100% wrong when he targeted mono.

Microsoft originally only released a specification for V.2 of C# and the Common Language Runtime (ECMA-334 and ECMA-335) - attached to it a promise that they would not sue, iff the framework was "implemented in whole" - which was very vague in that it didn't specify what could be included or omitted in order to make it compatible with other platforms. The clause was obviously added to prevent fragmentation of the platform though - ensuring that it stayed compatible with MS's product, and thus they'd continue to hold control over it.

C# 2.0 is nearly a decade old now - and mono certainly hasn't limited itself to it. Absolutely none of C# 3, 3.5, 4.0, 4.5 was ever released as an open specification or as open source software until now - yet these are the versions mono and everyone was using.

So the "MONO FUD" was never actually FUD, it was legitimate concerns about the lack of openness of the technology. Those are no longer concerns (about this release version) - and we can be glad that RMS et al were "wrong" about this one (When they were in fact, absolutely right at the time.)

Post reply on HN