Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Microsoft Programming

Microsoft Previews Compiler-as-a-Service Software 171

angry tapir writes "Microsoft will release a Community Technology Preview of a new type of compiler its researchers have been building — code-named Project Roslyn — a company executive announced Thursday. Roslyn is a compiler for C# and Visual Basic with a set of APIs that developers can use to fine-tune their code. It resembles a model developed by the Mono Project, in which the information the compiler generates about a program can be reused as a library."
This discussion has been archived. No new comments can be posted.

Microsoft Previews Compiler-as-a-Service Software

Comments Filter:
  • by aztracker1 ( 702135 ) on Friday September 16, 2011 @04:07AM (#37417716) Homepage
    I don't think you even really read the summary... it essentially comes down to offering more compile abilities into an application. This can work for extensible plugins, and scripting. It is not the compiler offered via a SaaS (Software as a Service) model.
  • Bad Title (Score:2, Insightful)

    by improfane ( 855034 ) on Friday September 16, 2011 @04:49AM (#37417860) Journal

    I'm sorry. The title of this article is bad. SaaS has an established meaning and it does not necessary mean the services running in the background (as a service) on your PC, it means using remote services.

    The article makes no mention where the actual compiler runs. If it runs remotely, are our fears are not unqualified.

  • by maxwell demon ( 590494 ) on Friday September 16, 2011 @09:45AM (#37419502) Journal

    You're assuming that two different compilers would output identical binary images, but why would they?

    No, I'm not. I only assumed that two correctly working compilers would output functionally equivalent code (what I tacitly did assume was that the source-provided compiler doesn't invoke undefined behaviour, though). Note that I did not propose to compare the output of the two different compilers, but to compare the output of the one source provided compiler compiled with two different binary-provided compilers.

    So say you have the source of gcc, and binary versions of Microsoft C and Borland C.

    Step 1: You compile the gcc source code with Microsoft C (let's call the resulting binary vgcc).
    Step 2: You compile the gcc source code with vgcc (let's call the resulting binaty gvgcc).
    Step 3: You compile the gcc source code with Borland C (resulting in bgcc).
    Step 4: You compile the gcc source code with bgcc (resulting in gbgcc).
    Step 5: You compare gvgcc with gbgcc.

    If both Microsoft C and Borland C correctly translate the gcc source code (and the gcc source code contains no undefined behaviour), then vgcc and bgcc, while not the same, have equivalent behaviour. Especially they both translate the gcc source code into the same executable. In other words, gvgcc and gbgcc must be binary identical.

As of next Tuesday, C will be flushed in favor of COBOL. Please update your programs.