Friday | 5 September, 2008
Computerworld
Microsoft accommodates dynamic languages
Computerworld Buyer's Guide - Vendors Matched to this Article
Related Features
  • +

    Ticked Off at Tick the Box Mentality 04/02/2008 13:01:15

    Does your executive search firm know the difference between an MIS manager and a CIO, and if it does, can it explain that difference to its corporate clients?
    Does your executive search firm know its MIS managers from its elbow? Does it even know the difference between an MIS manager and a CIO, and if it does, can it explain that difference to its corporate clients?
  • +

    Strategies for Dealing With IT Complexity 24/12/2007 10:30:47

    Every innovation, every business process improvement, comes with an IT complexity tax that must be paid by CIOs in time, money and sweat. Here are strategies to mitigate the increasing complexity of IT as it enables new business.
    Every innovation, every business process improvement, comes with an IT complexity tax that must be paid by CIOs in time, money and sweat. Here are strategies to mitigate the increasing complexity of IT as it enables new business.
  • +

    9 Paths to Higher Performance 10/12/2007 14:09:23

    When an organization brings together talented people in a creative, collaborative environment it fosters a culture of high performance, which in turn leads to superior business results
    Like high-achieving individuals, some organizations seem to have the Midas touch. Virtually every initiative they touch earns them gold and even those that fail never seem to cost them much of anything at all
  • +

    What Price Innovation? 05/11/2007 13:44:31

    CIOs say they want more than the traditional “your mess for less” relationship with their outsourcing providers. And the providers want to market themselves as partners in innovation. So why isn’t it happening?
    CIOs say they want more than the traditional "your mess for less" relationship with their outsourcing providers. And the providers want to market themselves as partners in innovation. So why isn't it happening?
  • +

    Doing Your Sums on . . . Build, Buy or Rent 05/11/2007 13:32:30

    You’re trying to build a world-class IT team, but everyone’s going after the same talent pool. What mix works best? Should you grow your own, draft your players or barter your way to the line-up you want to field?
    CIOs should never forget that while new technologies have a maturity cycle, the maturity cycle for human beings in IT is even longer
Additional Resources
Executive Guides
Whitepapers
Zones
Zone logoZones provide focussed content from Computerworld and leading technology partners.

Newsletter Subscription

Sign up for our Computerworld newsletters!
Computerworld's twice-daily news service keeps you in touch with the latest, most important headlines from Australia and around the world.
Keep up with the latest virtualisation technologies, products, news and features.
RSS Feeds

The growing popularity of dynamic languages, such as Perl, Python, and Ruby -- which are popular for building Web applications -- has caused companies such as Microsoft, IBM, Oracle, and Sun Microsystems to stand up and take a look. Although Microsoft has championed development using traditional Windows development languages such as Visual Basic and C#, the company has recently made accommodations for dynamic languages, with projects such as IronPython and Phalanger hosted on Microsoft's CodePlex site for community development. Still, Microsoft is largely leaving it to the community at large to provide the dynamic-language capabilities on the .Net Framework. Jason McConnell, the Visual Studio product manager responsible for all languages at Microsoft, talks about the state of dynamic languages on .Net.

What is Microsoft's official stance on enabling dynamic languages such as PHP, Perl, Python, Ruby and JavaScript to run on .NET and the CLR, the Common Language Runtime?

Jason McConnell: We always want to enable as many languages as possible for the .Net Framework, especially the ones that our customers are demanding. Dynamic languages like those you mentioned have gained popularity of late, and so officially, there's no official stance except to say that we're looking into how we can enable languages like that to be a great programming experience on the .Net Framework.

So when you say you're looking into it, what steps do you think Microsoft might take? Obviously you're getting some feedback from customers and developers that they want this sort of functionality?

JM: Right. We're looking at those new languages that people are using now. For example, we have a project called the IronPython project that recently went to Release Candidate status. It's kind of like a community project, but it shows early efforts to enable a dynamic language on the .Net Framework. So we've used that as kind of our poster child, if you like, for our strategy or our work into that space.

Do you believe the traditional Microsoft-friendly languages such as Visual Basic or C# offer advantages over these dynamic languages?

JM: Well, they're kind of different beasts. C# is a strongly [typed] static language if you like. VB could be considered a dynamic language; it's always had dynamic aspects to it. [Dynamic languages are] most suited for quick, rapid application development, whereas the statically [typed] languages are for building larger systems with well-defined interfaces. So it really depends on using the right tool for the right job. I think it's unfair to compare a statically [typed] language to a dynamic language.

I'm looking at a definition of dynamic programming languages on Wikipedia here. What would be your definition?

JM: A dynamic language is one that can resolve types and kind of compiles on the fly; in that way it's very dynamic. So, at runtime, the compiler does type-checking and syntax-checking as opposed to a static language, which is done at compile time, which is not at runtime.

To what do you attribute the popularity of these new languages? Their advantages in Web development, perhaps?

JM: Definitely the Web has made an explosion of these things possible. I think Web services as well, not just Web sites and scripting engines like JScript and the engines that are embodied inside of browsers, but also the ability now to stitch together components on the Web, like Web services. If you look back in the mid- to late-90s, scripting was really popular as a macro language behind Office. And we were sewing together, from the COM (Component Object Model) days, we were sewing together components that were just Windows-based and stitching them in together to make applications for Office and end users. And we see the same trend happening now for the Web. So I think it's about sewing together almost like Web mash-ups, you know? Sewing together services and making composite applications, which has really started to reignite this area.

How does Microsoft feel about some of the third-party efforts going on for dynamic language supports on .Net, such as Ruby in Steel or the Phalanger project for PHP?

JM: We're very supportive, as always, of encouraging a third-party ecosystem of languages. This has been true since 2001 when we first envisioned this CLR. So we're very supportive of that and in fact our Lang.Net symposium that was run a couple of weeks ago was kind of like a first try at trying to corral some of the ideas that are out there and foster the idea of a community to build languages around .Net.

What would you say was the major feedback from that event?

JM: Oh, it was overwhelmingly positive, from what I can tell. We actually had industry spokespeople, we also had people that do this for a hobby. [There was] lots of just sort of intellectual discussion. And it was a great forum for early thinking about emerging technologies. So I think it went over very well.

Was there any major concrete policy stance that Microsoft has made based on that event?

JM: No. It was really just to bring the industry together and have a chat, if you like. It was kind of elbow patch-wearing academics as well as some of the industry people. So it's kind of seeing where the trends are emerging. So obviously we'll take some of that back in-house and think about it, but we haven't actually made any stance as a result.

Are the days numbered for Microsoft traditional languages and the rival Java language, with the growing popularity of these dynamic languages?

JM: I think I'd term Java and C# and C++ as system programming languages, and there will always be a place for system programming languages because they're well suited for rigid, well-defined, industrial-strength programming stuff. Downstream from that, the good system programming languages will be used to bubble up and surface macro functionality. So [there will be a] larger logical box of units of work, if you like, and they'll be stitched together using scripting. And that's where these dynamic languages are really going to play strongly.

Is the CLR unfriendly to dynamic languages?

JM: We made improvements in the .Net Framework 2.0 to be able to do dynamic calls. We're looking at ways that we can make dynamic languages friendlier, but it's certainly not unfriendly to dynamic languages right now. If you look a Jim Hugunin's work in IronPython, you'll see that there's some really good things. In fact, that's why he came to join Microsoft.... He turned around IronPython in a pretty short time frame, so it shows you that it's not unfriendly.

With these projects Phalanger and IronPython, does Microsoft actively support those with developer resources?

JM: No, we don't. They're very much driven by the community.

(Editor's note: IronPython started as a community project but has since been brought into the Microsoft fold).

Is there a short list of specific dynamic languages that you guys are working to extend support for or to make easier to run on .Net?

JM: Not at this stage. We're kind of looking at how dynamic languages in general can run better. So it's really done in exactly the same way as CLR is common across languages. But that's same sort of work we're doing, or thinking of doing, for the runtime.

So whatever improvements or tweaks you make to the CLR for dynamic languages should extend to any dynamic language?

JM: Yes.

So you don't envision a Microsoft version of PHP or Perl or any of these? You're going to let pretty much the outside developers take care of that?

JM: We haven't made any firm plans in that direction right now.... The .Net Framework should really be seen as an industry leader in enabling these sorts of languages. We're constantly evolving it. It's at Net Framework 2.0 right now, 3.0 will be out with Vista. [Version] 3.5 or something like 3.5 will be out with the next set of tools that we release. So we're constantly improving, always looking for what's important in the industry and from our customers. And you'll always see us evolve this and do some innovative work.

Computerworld Buyer's Guide - Vendors Matched to this Article
Market Place

Computerworld Member Login


 

Prioritizing Services with IT Service Management (ITSM)

Computerworld Live Webinar
Wednesday 20th, August 2008
11:00am EST (Sydney, Australia)

To be repeated on:

Thursday 4th, September 2008
11:00am EST (Sydney Australia)

Sign up and receive a free copy of The Forrester WaveTM Service Desk Management Tools, Q2 2008 at the conclusion of the Webinar.

Attend and discover:

  • How to deliver value to your business through ITSM
  • Best practice ITSM implementation
  • Why emphasis is changing from optimizing IT management processes to better servicing customers and demonstrating real dollar value
  • If service-oriented ITSM is best for your business
Whitepaper

Web Security SaaS: The Next Generation of Web Security

Discover the latest web security SaaS solutions. Learn how to increase overall security effectiveness and reduce the burden on your IT department. Uncover the security challenges facing SMB environments today and identify the critical elements that can provide you with lower-cost and easier-to-manage web security solutions.

Enterprise IT Buyer's Guide
Find Technology Vendors Fast
 
Find vendors by name | Find by category
Sponsored Links