LOS ANGELES-What are some of the most pressing issues facing developers today, and what can be done with programming languages to help with them?
Those were among the questions posed to a group of language and programming experts at the Microsoft PDC (Professional Developers Conference) here.
Gilad Bracha, Anders Hejlsberg, Douglas Crockford, Wolfram Schulte and Jeremy Siek made up the distinguished panel of computer language designers and researchers addressing “The Future of Programming Languages.” And the moderator was no slouch either. Erik Meijer, a Microsoft software architect and language expert in his own right, moderated the panel. Meijer was influential in the evolution of the Haskell language and is the leader of Microsoft’s “Volta” project to simplify Web and cloud development.
The panel touched on a wide variety of issues, not only including identifying the most pressing issues facing developers, but also such topics as whether IDEs (integrated development environments) matter more than languages, whether modeling is important, the degree to which programmers should be allowed freedom with the language and the inevitable dynamic language versus static language debate.
Regarding IDEs, Bracha said, “I come from a world where IDEs matter a lot. They are enormously important, but the language is also enormously important.”
Hejlsberg said IDEs certainly do matter, “but a lot less than they did 25 years ago.” He said frameworks and IDEs have dwarfed languages, but languages remain important. However, Hejlsberg lamented the fact that languages evolve so slowly as compared with other areas of computing.
Schulte said he believes, “languages and libraries don’t matter so much. You have to look at what problem you want to solve and then pick the language.” Indeed, Crockford said he encourages developers to learn as many languages as possible.
Yet, when asked whether languages should be designed by committee or by a benevolent dictator, all five panelists, in unison, replied: “Dictator!”
Dynamic vs. Static
“But there are many interesting things out there that you might want to talk to … that inherently [are] not statically typed,” Hejlsberg said. “And we can build a common solution for talking to these environments. I think that’s super-useful.”
On the question of what the most pressing issues facing developers are, Siek said he believes a key problem is, “How do we get frameworks to work with each other and how do we keep them in sync?”
Schulte said he believes the biggest problem is complexity in programming and languages. Crockford’s addition to the list was “insecurity” and he said, “We need more programming languages that deal with that … so our operating systems are designed with secure languages.” Bracha said we need languages that are built for the networked world, such as the Web or the cloud, but that also are well suited to “local” work in a client or local server environment.
And, unwavering in his focus in recent years, Hejlsberg said: “Concurrency is one of the biggest problems facing us right now. The core problems of concurrency are still there.”
That they are. And there were several sessions and announcements at the PDC that attempted give developers help in this area. However, the “Future of Programming Languages” panel was pure pleasure for any programming enthusiast or developer. I only scratched the surface here. But I’ll be putting more of the points the panelists made into other articles. You have to save some for later.