After more than a year of silence on the subject, Microsoft's Managed Languages team is once again talking about Roslyn, the radically redesigned version of its C# and Visual Basic compilers.
We first heard about Roslyn – described as Redmond's "compiler as a service" project – way back at the Build developer conference in …

re: Several minus points to MS for the term "dogfooding".

Gertz wrote. "In fact, the daily builds of VS are now compiled using Roslyn, all as part of a process that we refer to in the biz as 'dogfooding.'"

My immediate reaction was to search the web to discover if humans can actually eat dog food. Probably not the kind of interest the comment was meant to inspire. Oh yes, I'll also throw him some demerits for verbing an arbitrary noun.

Re: re: Several minus points to MS for the term "dogfooding".

Re: re: Several minus points to MS for the term "dogfooding".

Fortunately it seems to have passed me by until now. "Eating your own dogfood" is fine and has been around for some time, but converting nouns to verbs I find irritating. The language may evolve, but I'm going to sit here and be a Neanderthal.

Re: re: Several minus points to MS for the term "dogfooding".

This is amazing. The C# compiler is written in C#! Amazing. And you can create a "read-evaluate-print-loop" (REPL)? I'll have to reearch REPL more, as I have never heard of it before. And syntax highlighting of C# can now be done with the C# compiler, rather than emulated via C++? Staggering. Microsoft has rocked the computer language world to the core today.

RE: Microsoft has rocked the computer language world to the core today.

I can't tell if you are being serious or sarcastic. The icon suggests you are serious, but I do hope not. Hardly rocked anyone's cores, simply caught up with the rest of the world a little, still a long way to go.

RE: I just did a test with a "Hello, World" executable, and it was 5K in size

in a console window, not a full exe with dialog and a error prompt message, and default resource files, which then includes all the junk needed to load the program instead of having it all in the .NET framework that makes your windows install all crunchy and slow, like all programs written in .NET themselves

Of course it did, things like that end up being awfully bloated and slow with pretty much any kind of framework - because it isn't the kind of thing the framework is built to support. For more realistic apps, the difference drops significantly.

But since Rosyln can compile C# right down to native code (even as far as stripping out dependencies on the .NET framework libraries) and does things like whole program optimization (something the existing JIT compilers don't), you may well find it reduces your "Hello World" to something surprisingly small.

".NET framework that makes your windows install all crunchy and slow, like all programs written in .NET themselves"

.Net doesn't effect Windows performance itself at all once installed - and .Net itself is faster than pretty much any similar solution. 17 x faster than Java on this mathematical function for instance:

Re: RE: I just did a test with a "Hello, World" executable, and it was 5K in size

Back in the days of Visual Studio '97, I tried to see how small I could get an executable. My target execuable needed to create a window, initialise a fullscreen DirectX (DirectDraw back then) application, and sit clearing the screen to a random colour until the user hit escape, at which point it was to clean up and exit. The code had to be standard C or C++, and compile with Visual Studio.

If I remember correctly, the smallest I could get it was 729 bytes, and 512 bytes of that was the PE header. Visual Studio 6 added another kilobyte of header, and sizes have just ballooned since then. I wouldn't dare try and do the same these days.

.NET might be good for code faster then java and quick console applications, but its a complete waste of time for proper applications with GUI frontends, like 3d model editing, or webcam programs, notepads, etc etc

every application sound like your drive is just about to die when a .NET application starts to load, and then takes another 30-40seconds to actually load

stick to making visual c++ better, you can just use pure c++ when you want

About as stupid as ...

Re: About as stupid as ...

You do realise all those programming 'paradigms' that go in and out of fashion every ten minutes are just some random tosser's opinion, right? There's no law engraved in stone that requires all programming languages to support every damned fashion under the sun.

That's the mistake C++ made: it's trying to be all things to all programmers, and fails quite spectacularly at doing the one thing that is required of all programming languages: to be human-readable.

No CPU I've ever used gives a flying toss about templates, classes, lambdas, etc.; OOP, Functional Programming, and so on, are all just so much structural scaffolding that is frequently so poorly designed that it gets in the way of the code itself. Such scaffolding has no place in the programming language itself and should have been shifted into the IDE UIs, where it belongs, a long time ago.

Re: About as stupid as ... @ Sean Timarco Baggaley

"Rekursiv was a computer processor designed by David M. Harland in the mid-1980s for Linn Smart Computing in Glasgow, Scotland. It was one of the few computer architectures intended to implement object-oriented concepts directly in hardware. The Rekursiv operated directly on objects rather than bits, nibbles, bytes and words. Virtual memory was used as a persistent object store and unusually, the processor instruction set supported recursion (hence the name)."

<https://en.wikipedia.org/wiki/Rekursiv>

I'd not be surprised if there existed chips that did functional stuff at a level that looked like it was on hardware at the machine code level.

As for

> Such scaffolding has no place in the programming language itself

I'm not sure exactly what you're suggesting but I think you're wrong. Be careful what you wish for at any rate.

--- yay for edits! ---

forgot this one too <http://en.wikipedia.org/wiki/Intel_iAPX_432>. Which was apparently designed by idiots BTW.