Will service-oriented compilers and domain-savvy, general-purpose programming languages jive with the dangers posed by over-iterating a language like C#?
##CONTINUE##
To hear Anders Hejlsberg tell it, managing the lifecycle of a programming language can be a lot like walking a balance beam: You need to possess a great deal of focus, skill and patience to avoid ending up on the floor.
Hejlsberg, of course, is a technical fellow at Microsoft and the leading mind behind the C# programming language. Since C# development first got underway back in December 1998 Hejlsberg has been leading ongoing development of the language, which is currently in version 3.0. C# today is Microsoft's flagship programming language, playing a central role in the company's strategy around .NET Framework.
As noted in this issue, Microsoft is driving C# in some new and rather exciting directions. C# 3.0 gains functional programming characteristics found in languages like F#, while C# 4.0 will add dynamic typing.
Hejlsberg says developers will have to rethink the traditional compartments used to categorize languages. "It's certainly my guess that over the next 10 years we're going to see languages much more blurred together," he explains. "These taxonomies that we've traditionally had may not be entirely correct in five or six years."
In fact, as Microsoft moves past C# 4.0, we can expect to see an increasingly meta-oriented programming language, tailored for domain-specific work and tuned for embedded scenarios. Ultimately, the idea of a compiler as a service or a compiler as an API will make it possible to process, manipulate and compile snippets of code on the fly.
"There are other meta-programming scenarios where you want programs to generate themselves or generate parts of themselves as they run, and adapt themselves. For that we've traditionally used source-code generation and we've fired off the command-line compiler, and then once it produces an assembly we suck that up and dynamically load it. It's sort of a very clunky way of doing dynamic code generation," Hejlsberg says. "We'd very much like to modernize that. That's also part of the work we're doing with compilers as a service."
The question is, how does Hejlsberg's vision of service-oriented compilers and domain-savvy, general-purpose programming languages jive with the dangers posed by over-iterating a language like C#? It's a question some developers are starting to ask as C# continues to roll up new functionality.
"I think you could view them as all being part of a bigger trend toward being more declarative in your programming style and making people being able to do more with less," Hejlsberg suggests. "But then again, that's what it's all been about for the last 30 years."
-----------------------------
BY Michael Desmond
Source:RedmondDeveloper
Michael Desmond, former editor at large of Redmond magazine, is the editor in chief of Redmond Developer News magazine. He has served as senior editor of news at PC World and executive editor at Multimedia World magazine, and has written for dozens of publications and Web sites. Desmond has also written four computing books, including Microsoft Office 2003 in 10 Simple Steps or Less.
Copyright © 1105 Media, Inc. See our Privacy Policy.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment