Microsoft's Roslyn 'compiler as a service' inches forward

Microsoft's Roslyn 'compiler as a service' inches forward

Summary: Microsoft is now compiling internally its daily Visual Studio builds using its 'Roslyn' compiler technology. Could a new preview and/or final release be happening soon?


Microsoft is internally dogfooding its "Roslyn" compiler as a service technology, and is compiling internal daily builds of Visual Studio using "Roslyn."


That update, courtesy of a Microsoft December 16 blog post, is the first Microsoft has shared about its Roslyn technology in more than a year.

Microsoft's Roslyn effort is about re-architecting the C# and VB compilers to support "compiler as a service" (CaaS) scenarios. Currently, a compiler is a black box; with Roslyn, Microsoft is working on opening it up so that all of the information processed via a compiler is available in application programming interface (API) form.

Microsoft's most recent Roslyn description (according to a December 16 "C# Frequently Asked Questions" blog post) is "a replacement for our VB & C# compilers (and certain IDE pieces that leverage them)." The technology will allow developers "to reach inside the compiler iself," which according to Microsoft "will lead to far richer IDE (integrated development environment) and diagnostics being able to be developed at considerably reduced effort and cost."

Back in 2011, I noted that Roslyn would be a post-Visual Studio 2012 deliverable. It turned out it also is a post-Visual Studio 2013 one, as well.

Microsoft's last generally-available preview of Roslyn was out in September 2012.

"Yeah, we do feel a bit embarrassed about that," blogged Matt Gertz, VS Managed Languages Development Manager. "Yes, we’ve been a little quiet. No, there was nothing wrong going on here, things were actually going extremely well."

There's no word in today's post if there will be another Roslyn preview coming soon, or if the team will release the code as part of one of the expected Visual Studio 2013 updates in 2014. I've asked Microsoft execs; no word back so far.

Topics: Software Development, Microsoft


Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • MS going cloud

    Compiler in the cloud, office365 for web, online storage, ... are they releasing their chromebook anytime soon!? :-)
    • re:

      Where in this article does the word cloud appear? CaaS isn't about "cloud" computing.
      Sir Name
      • We could discuss semantics and theory

        Is that relevant? I don't think so.
        Actually I thought Roslyn was more about a set of APIs and IDE extending exposed in a could service - like azure and less about compiling as a service - those were the words of MS a few months ago.
        • re:

          Well, you're the one that brought it up in your original post. So either your original post was in error in equating Roslyn or CaaS with "compiler in the cloud", or it was a non sequitur to the original article.
          Sir Name
          • I see no indication that Roslyn will be cloud based

            The following quote from the article seems to suggest that Roslyn will be cloud based:

            'Microsoft is internally dogfooding its "Roslyn" compiler as a service technology, and is compiling internal daily builds of Visual Studio using "Roslyn."'

            However according to the following link, it will not be:


            The following is a an excerpt from the above referenced article:

            '1. What is Roslyn?
            Roslyn has been in development for several years at Microsoft. Roslyn is the project to fully rewrite the Visual Basic and C# compilers and language services (i.e. the language editing experiences) in their own respective managed code language; Visual Basic is being rewritten in Visual Basic and C# is being rewritten in C#.

            Roslyn exposes information regarding source code parsing (what elements are present in code), semantic analysis (what they mean), binding (how they relate to each other), and IL emitting (executable code). The Visual Studio templates available for both Visual Basic and C# installed with the CTP are Console Application, Code Issue, Code Refactoring, Completion Provider and Outliner.'

            There is no indication that Roslyn will be cloud based. It may be possible certain aspects will be cloud assisted, but I see nothing indicating Roslyn will be cloud based. In my experience, the best application experiences are rich client experiences augmented by the cloud. It is to MS' advantage that it architects its solutions this since way since this leads to the greatest level of user satisfaction, and it entrenches the relevance of Windows - something the company clearly needs. (It also minimizes privacy invasion.)
            P. Douglas
          • Where it will be based?

            In people personal computers that are using it?
            Call it all you want.
            And it seems intentions were for it to run in Azure.

            My point is, the world is going "cloud" - and by cloud I mean by something that is centralized and that can be accessed from heterogeneous systems.
          • This was in 2012

          • Well, I agree with you on cloud part

            feel it as a good question. Here is actual whitepaper on Rosyln.
            There it is never mentioned as a cloud service, but since the API of compiler is exposed, I think it is possible to offer Compiler as a Cloud Service. yes that whitepaper is old.
            Ram U
          • Do you know what hypothetical means?

            It means having a speculative view on something. The paper speculates about taking a cloud service approach to Roslyn. It does not mean this is the direction MS is heading.
            P. Douglas
          • @P. Douglas

            Yes, I know that. And thats why I said it is a question. It is possible for an organization to install Rosyln on a server and write services around the exposed API and make those available to developers within that organization.
            Ram U
          • In Visual Studio

            Roslyn is a rewrite of the C# and VB compilers. Where are the compilers now based? Aren't they now based in the Visual Studio IDE? So why do you think the Roslyn replacements will not be based in the Visual Studio IDE?

            Just because you are able to do something, that doesn't mean that you should. It also doesn't mean you should go around aping your competitors, particularly when your competitors use different business models to make money, which are at odds with your own. Quite frankly MS is now reaping the error of not reinventing the Windows user experience in the consumer market all these years, and providing so much support to the web platform. By doing the aforementioned, MS helped make its own Windows platform irrelevant. Also I'm very uneasy about how MS makes its services so wonderful on competing platforms, and how this might backfire against MS trying to recover Windows in the consumer market. Services are worthless and irrelevant without a platform to make them available, and MS' Windows platforms are just as important as they were before the arrival of services. Windows is MS' sun, which its services and everything else revolves around it. If all of Windows goes, then everything will come crashing down.

            MS' development tools effort should not do things to make the Windows platform irrelevant. Rather it should enhance it. Moving huge chunks of functionality to the cloud, reducing the value of the Windows platform is not the way to go.

            While Google is trying to get 1980s era game type functionality from the web


            MS should be producing jaw dropping user experiences on its Windows platform, to make users chuckle at Google's efforts. MS should be innovating electronic document technology to produce consumption and production experiences in Windows and Office, to make the prospect of using Google docs seem like a joke. I'm talking about document consumption experiences on touch screens that are highly immersive, and interactive in ways, that vastly exceed HTML, etc.

            Who knows what is going to happen at MS? There are those at MS who seem to want the company to do as its competitors do, rather than lead the way by a large margin, which the company did in the past.
            P. Douglas
          • The reasons for MS's and Google's moves

            Computing is cheap and commoditized and plentiful.

            There's little demand for apps that needs 16gb of ram, for example. Even gaming doesn't need that, yet I can order boxes with 64gbs of ram. While there's always been a bleeding and trailing edge in tech, nowadays, the trailing edge stuff goes in your pocket and you still use it more than the bleeding edge stuff on your desktop.

            MS should improve Windows, but make no mistake, that doesn't make them relevant in the new markets.

            Google's efforts make sense because they are simple to distribute and manage. It's not about performance, because for 95% of what we do, even the browser is a bit overkill. People are using 3 year old tablets for their daily life. People are using $100 tablets! Not that all businesses will migrate, that's silly, but they used to be Windows customers. Those people need simple apps, web apps, not the 'legacy' Windows and Office.
          • Well, it will be in developer system or as a standalone server

            but that's not the big thing. The allows developers to write tools that generate the code on the fly and compile it. This adds additional benefits and opens up innovation in code generation. Right now we have brute force, reflection etc. based code generation. This allows developers to build metacode that would emit actual code based on dynamic business rules and logic, and deliver the product.
            Ram U
          • Roslyn is as close as you are going to get to the compiler source

            Roslyn is nothing more than the regular Microsoft compiler except they made some of the private classes, public so that the linker can bind those classes to your code. Microsoft calling Roslyn a compiler as a service is no different than X-Windows calling their libraries, Windowing as a Service.

            Microsoft is doing this so that developers can build tools which support C# and VB compilation and debugging tools but not having to release their source code for the compilers.

            None of this is new technology, they are just making methods available for outside linking. The deeper story here is what is with Microsoft source code. No body wants to copy Microsoft code so why are they hiding it? It can only be that they made some huge mistakes with the core design of Windows like making the Windowing system an integral part of the OS or something like that. I don't know what it is but Linux has no embarrassments about showing their wears.
            Tim Jordan
          • Heh, very interested in spinning

            Spin as much as you want.

            This has nothing related to whatever you are talking about. Probably you need your mommy to change your diapers:

            " The deeper story here is what is with Microsoft source code. No body wants to copy Microsoft code so why are they hiding it? It can only be that they made some huge mistakes with the core design of Windows like making the Windowing system an integral part of the OS or something like that. I don't know what it is but Linux has no embarrassments about showing their wears."
            Ram U
    • Chromebook?

      I'm waiting for my $300 Surface Pro including i7, backlit keyboard, 16 Gb of main memory, 512 SSD and 24 hour continuous use.
    • Lol. MS has bet a lot on the cloud.

      I think there are people in Microsoft that saw the death Wintel/Office cash cow a while back. They've been investing heavily in the cloud since then.
  • They already have

    It's called Surface 2 (not the pro version).
  • Just another way for Microsoft to know what your applications are.

    Any good ideas will just show Microsoft "innovation" in action.
    • Compiler as a Service

      It doesn't mean cloud based nor that MS can see any of what you're doing