Microsoft Big Brains: Anders Hejlsberg

Just before retiring from day-to-day responsibilities at Microsoft, Chairman Bill Gates said that he expected Microsoft's 22 Technical Fellows to get a lot more publicly visible -- now that they wouldn't be living in his shadow. While some of the Microsoft fellows already have been active on the public-speaking circuit, many of them are not widely known outside the company.
I've launched this series -- "Microsoft Big Brains" -- to help remedy that shortcoming. In the coming weeks, I am hoping to profile as many of the company's tech fellows as to whom I can get access.
Microsoft's Technical Fellows came to the company via a variety of different routes. Some of them run divisions inside the company; some focus on particularly thorny technical issues that may span a variety of product units. Regardless of where they sit in the organization, the fellows all have been charged with helping Microsoft craft its next-gen products and strategies, much the way that Gates used his regular "Think Weeks" to prioritize what Microsoft needed to do next.
Technical Fellow Anders Hejlsberg is a guy who likes to see his projects through.
Currently, Hejlsberg is very focused at the moment on the next version of C#, known as C# 4.0. He is still the Chief Architect in charge of the product.
Microsoft shared a first tech preview build of C# 4.0 in late October. On the C# 4.0 new features list: Dynamic look-up; better COM interoperability; and more. And because language taxonomies are dying out, Hejlsberg said it's not strange that C# 4.0 will borrow from and be heavily influenced by dynamic languages. (C# 3.0 was more influenced by functional programming languages.)
His C# focus aside, Hejlsberg also is thinking ahead about bigger programming trends and technologies beyond his beloved C#. One of these is the concept of "metaprogramming."
"Metaprograms are programs that manipulate themselves or other programs as data," Hejlsberg explained. "They automate the act of programming and are closely aligned with DSLs (Domain-Specific Languages). Code generation is the poor man's term for this, but it really doesn't do it justice."
Everything from Ruby on Rails, to Microsoft's Oslo with its M language, to some of the code generators in LINQ to SQL, are examples of metaprograms, Hejlsberg said.
Another of Hejlsberg's hot buttons: The idea of a "compiler as a service."
In spite of the "as a service" tag, compiler as a service doesn't mean turning a compiler into a hosted service. Hejlsberg explained the concept further:
"We need to open up the black box that is a compiler today. What if you could put APIs (appliction programming interfaces) on it and ask it to compile code for you."
Unlike some of Microsoft Technical Fellows, Hejlsberg isn't in charge of managing a team.
"I have no people reporting to me and don't expect to. My competency is in the tech realm. I work day-to-day on C# and .Net, and work at home two days a week so I can do deep thinking, writing and reflecting," Hejlsberg said.
The broader programming-language trend, of which Hejlsberg's projects and interests are all part, is making programming and programmers more productive, he said.
"This tends to be the undercurrent of all my work: How to do more with less," Hejlsberg said.
For all of the “Microsoft Big Brains” profiles, check out the Big Brains page.