C# and VB Compilers Being Rewritten in Themselves; "Immutable" attribute coming?

Darryl Taft interviews Luca Bolognese, Group Program Manager for languages at MS, and comes up with some interesting hints.

The lede revolves around MS' plans to make the compilers more "open" (as in an open can of beer) by providing a "compiler-as-a-service" facility. On face value, "compiler-as-a-service" doesn't make much …

more ...

LINQ for Datacenters: Microsoft does MapReduce

Correcting myself re. concurrency at Lang.NET, there was one "sit up and take notice" discussion. Erik Meijer briefly discussed that he and his team have implemented (or at least prototyped) MapReduce for LINQ. "We call it MapReduce for Datacenters or somesuch..."

I asked him to clarify if this a …

more ...

Concurrency Not Emphasized at Lang:NET

Although concurrency was laid out by Jason Zander as one of the overarching themes of language work moving forward, it was not at all emphasized as a primary concern in any of the talks I saw. There was some talk about language features that a "sufficiently smart compiler" could handle …

more ...

Why The Mainstream Concurrency Model is Broken

Raymond Chen's psychic debugging of a deadlock is everything you need to know about why the mainstream model of concurrency (in which programmer's manually manage locks and can start their own threads) is fundamentally broken.

If you're a C# or Java programmer looking at this code, you might be tempted …

more ...

Software Transactional Memory C++ Compiler from Intel

Intel's announced the availability of a prototype C++ compiler implementing Software Transactional Memory, one of the central topics of this brilliant \<a href="http://www.knowing.net/ct.ashx%3fid%3df405eb51-5e89-4e9d-864f-529914e78017%26url%3dhttp%253a%252f%252fwww.dotnetrocks.com%252f"" target="_blank" rel="noopener noreferrer">.NET Rocks show.

That's exciting, although …

more ...

Writing A Technical Article, Pt. 3: Research Begins...

I'm not one of those people for whom the task of composition is a somewhat mechanical extension of increasingly detailed outlines. Nonetheless, research consumes between 80-90% of the time I spend on a technical article (note I said time and not effort -- subjectively, writing text is two or three times …

more ...

Writing A Technical Article, Part 2: Gathering Tools

Probably the biggest difference between academic and commercial writing is this: academic writing is almost always concerned with algorithms and process, commercial writing is almost always driven by a specific set of technologies. In this case, I'm being paid by AMD to explain integration of CodeAnalyst and Eclipse CDT. So …

more ...

Good Post on the Byzantine Generals Problem

If you are interested in concurrent programming, you'll eventually come across the Byzantine Generals problem. Mark Nelson has a good post explaining it.

more ...

Seam Generation Using A*

The key to content-aware image resizing (and other recent image algorithms) is the discovery of "seams" -- paths of pixels that don't differ much from each other. Such seams are   places where the picture can be "pulled apart" gracefully. In image resizing, the seam is discarded and the two remaining pieces …

more ...

C++0x to Incorporate Standard Threading Model

The working groups of the C++0x committee are working hard to complete a major new standard for C++ (there's a big meeting here in Kona in October). If you're not intimate with C++, you may be surprised that such an important language has not had a standard threading model …

more ...