Linked by twitterfire on Mon 24th Oct 2011 22:52 UTC
General Development "Looking past the Metro hype, the Build conference also revealed promising road maps for C#, Visual Studio, and the .Net platform as a whole. Perhaps the most exciting demo of the conference for .Net developers, however, was Project Roslyn, a new technology that Microsoft made available yesterday as a Community Technology Preview. Roslyn aims to bring powerful new features to C#, Visual Basic, and Visual Studio, but it's really much more than that. If it succeeds, it will reinvent how we view compilers and compiled languages altogether."
Thread beginning with comment 494162
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: I'm sorry, but how is this new?
by tomcat on Tue 25th Oct 2011 01:56 UTC in reply to "I'm sorry, but how is this new?"
tomcat
Member since:
2006-01-06

Reinventing? More like catching up.
Considering that Java is very slow at adopting new features, it already has had compiler API since 2006. (Excluding JDT and other tools.)


RTFA. This isn't about exposing Compiler.AddFiles|.Run. It's about exposing each of the internal stages of the compiler so that you can essentially plug in your own lexical analyzer (for examnple) or your own code analysis tool (for example) fed by a tokenizer. This is fairly damned cool.

Edited 2011-10-25 02:04 UTC

Reply Parent Score: 3

roverrobot Member since:
2006-07-23

RTFA. This isn't about exposing Compiler.AddFiles|.Run. It's about exposing each of the internal stages of the compiler so that you can essentially plug in your own lexical analyzer (for examnple) or your own code analysis tool (for example) fed by a tokenizer. This is fairly damned cool.


Hmm? you mean like llvm does?

Reply Parent Score: 1

Nelson Member since:
2005-11-29

LLVM does no such thing on its own. Now if you take the LLVM backend, add in the Clang front end, then maybe you get something comparable to Roslyn.

Not that its a bad thing, Roslyn is just ridiculously extensive. Its huge.

Reply Parent Score: 2

JAlexoid Member since:
2009-05-19

I did. I meant JavaC Compiler Tree API, not Compiler API.

Reply Parent Score: 2

tomcat Member since:
2006-01-06

I did. I meant JavaC Compiler Tree API, not Compiler API.


That isn't the same. This goes beyond creating syntax trees. The compiler plug-ins can manipulate the parse tree during compilation and completely alter the flow of the code through the compiler.

Reply Parent Score: 2

sreque Member since:
2010-09-10

It is very cool and I am excited for it, but it has also been done already, making it less "revolutionary" than Microsoft's marketing would have you believe. Someone has already mentioned Clang, but another example of excellent compiler engineering is Scala's compiler. http://groups.google.com/group/scala-tools/browse_thread/thread/68e... is a mailing list post discussing and comparing Roslyn with Scala's compiler framework.

Even if it isn't that revolutionary, Roslyn represents the future of compiler architecture in general, and Microsoft's efforts in this direction should be applauded.

Reply Parent Score: 1