What are hot buttons for Microsoft on the programming-language futures front?

What are hot buttons for Microsoft on the programming-language futures front?

Summary: What are hot buttons for Microsoft on the programming-language futures front? Several well-known Microsoft engineers, plus programming-language gurus from other companies, are convening on the company's Redmond campus this week for its second Lang.Net symposium


What are hot buttons for Microsoft on the programming-language futures front?

Several well-known Microsoft engineers, plus programming-language gurus from other companies, are convening on the company's Redmond campus this week for its second Lang.Net symposium. The three-day conference is all about the future of "programming languages, managed execution environments, compilers, multi-language libraries, and integrated development environments."

I'm sitting in on a number of the sessions here. So far, the Softies who've presented are focusing on what's currently available far more than on what's coming. Alas, no Visual Studio 10 mentions; no .Net Framework 4.0 mentions.... Just lots of coding demos and Q&A about programming techniques.

There were a few hints regarding into which baskets Microsoft is putting its programming eggs. Jason Zander, general manager of Microsoft's Visual Studio team, listed a few trends that the Softies are monitoring -- and participating in. Among them:

  • Making web programming easier. Microsoft is incubating a couple of different projects here, including its Script#, Microsoft's environment for bringing C# programming into the JavaScript/Ajax world, and its "Volta," its cloud-computing toolkit.
  • Integrating query logic with existing tools, like what Microsoft is doing with Language Integrated Query (LINQ), a feature of Visual Studio 2008.
  • Integrating markup and imperative logic.
  • Taking advantage of parallel-computing advances, via new programming computing tools like PLINQ/ parallel extensions to the .Net Framework.

Anders Hejlsberg, a Microsoft technical fellow who is the father of the Microsoft C# language, emphasized during his talk that the existing taxonomies of programming languages are starting to break down. Static languages are starting to include more and more dynamic-language features -- and vice versa, Hejlsberg said.

Hejlsberg said he is "very keen to exploit the dynamic features that are missing in C#." He also hinted that Microsoft will be doing more to help programmers automate concurrent programming. As he described it: We "need more solutions to capture the concurrency white-elephant in the room."

Microsoft isn't calling for -- or expecting -- the influence of dynamic languages and static languages on one another resulting in fewer, more homogeneous languages, said another Lang.Net presenter, Jim Hugunin.

Hugunin, the Microsoft developer of the Iron Python programming language, emphasized that the Microsoft Dynamic Language Runtime (DLR), a set of services running on top of the .Net Framework's Common Language Runtime (CLR), which are optimized for dynamic programming languages, is not designed to reduce the number of languages. Instead, Microsoft is aiming to make the DLR (due to move from alpha to beta in the next couple of months) a set of shared services of which any dynamic language creator could take advantage.

Hugunin emphasized the fact that developers will be able to write Silverlight code and applications with IronPython and other dynamic languages. Silverlight, which is Microsoft's browser plug-in for delivering rich media that competes with Adobe's Flash, allows developers to run "my language in the browser," Hugunin said.

"You can edit your XAML, execute and run Python code," he said. "You don't need to worry about your engine being secure because you can take advantage of the (existing) security sandbox."

What kinds of things are you watching for from Microsoft on the Web-dev tool, parallel-programming tool and dynamic-language fronts in 2008?

Topics: Microsoft, Software Development


Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • The area I see the most room fpr improvment

    is not in new laguages or even expanding current laguages. It is the ability to marry them together easily. This has been a major problem for Microsoft in the past, even with their own products.

    As an example, use MS Expression to build a GUI for an app. You'll spend hours getting it imported to Visual Studio and working properly for web use.

    Have an existing VBA add-in to Office and want to change/upgrade it to .NET in Visual Studio? Don't waste your time, throw it out and start from scratch.
    • Fertile grounds.

      Microsoft are working hard to make the .Net platform viable well beyond C# and VB.Net, that currently surely account for > 99% of .Net devlopment.

      On the dynamic side, there is the whole DLR thing with IronPython, IronRuby, VBScript and JavaScript all running on the same common DLR. This DLR will allow us to very easily host scripting engines in our apps, or indeed build our own dynamic langauges, or domain specific "little langauges".

      F# is an extremely good language for writing compilers. Couple this with the DLR, and you got a great language toolkit.

      On every larger project I've ever worked on, custom tooling has been very significant, and I've contructed many "little languges" other the years to vastly speed up the development process, and improve overall code quality.

      .Net already is a fairly good platform for doing this kind of thing, with CodeDom and Reflection.Emit etc, but the addition things like F# and DLR will unquestionably move this to a whole new level.

      You only have to look at the number of DAL generators out there to know that a lot of people want the ability to work in domain specific ways.

      Even if you are happy to stick with C#, there are plently of developers whose facility and preference is elsewhere (Python and Ruby are huge, of course).

      The fact that Microsoft are embrassing this diversity is very pleasing. The way they are embrassing this diversity, with the open source, Mono-Compatible, development of IronPython, DLR and IronRuby is something a lot more people should be acknowledging as desirable conduct.

      Now that the .Net framework source is available for reference, I can only hope that Microsoft will at somepoint commit to making .Net seamlessly cross-platform, (even placing resource with the Mono project).
  • Visual C++

    Microsoft failed to deliver a compelling update to Visual C++ since VC6, and VC6 was released in 1998.

    There is a lot of buzz in DevDiv around things like PopFly, Silverlight and Volta nowadays while no one seems to care about the backbone of programming anymore.

    The inmates are really running the asylum.
    Andre B
    • What are you looking for?

      What would qualify as a compelling update to you?
      • VC++ wishes

        Working intellisense, code metrics, useful code analysis, unit tests for unmanaged code, runtime error detection (like BoundsChecker or Purify), XML documentation, etc...

        And a modern C++ application framework would be nice too. I like the MFC, but it's a relict from the early '90s.

        C++/CLI also lacks so many features.
        Andre B
        • Good points

          Intellisense works ok, but definitely can be improved. I agree on all your points, and especially on the lack of designer support.
      • And of course...

        Refactoring and finally C99 features like stdint.h (cstdint). But I guess Microsoft doesn't want us to write portable code and use BOOL and UINT instead...
        Andre B
        • Intellisense works in VS2005 and you do not need BOOL

          Just try VS2005 it is so much better than anything before that. If you have ever debugged STL in Visual studio before try that in VS2005 and see the difference.
          • Intellisense, C++/CLI

            I have VS2005 as well VS2008 Team System and Intellisense doesn't even come close to Visual Assist X. And on larger code bases Intellisense just stops working, it just don't scale well. The VC team also admitted that.

            And why have they added weird data types like DWORD32 and DWORD64 but not stdint.h?

            But we don't have to argue about whether a feature is usable or not, the list of missing features is long enough.

            C++/CLI also lacks so many features, all designers etc. are C# / VB.NET exclusive.

            I VP of DevDiv who blogs more about PopFly than C++ needs to be fired.
            Andre B
    • Please do not break C++ :)

      The most compelling update for me was VS 2005 when intellisense and code navigation finally started working. Debug visualizers for STL alone are worth to upgrade from any earlier VS version.
      The microsoft's experiments with C++ and .NET on the other hand are not impressive. I really hate proprietary extensions. Proprietary MS extensions tend to disappear or change after version 1. Some quite significant changes were introduced in VS 2005 that requires rewrite of older managed C++ code. Lesson learned: managed code and C++ should be kept separate.
      I would hate to see C++ contraptions for silverlight, volta, or any other technology that was not designed with C++ in mind. COM was designed for VB and what a mess it was in C++. I do not want to see that ever again :)
    • What?? ANSI compliance? Full Template support?

      You've gotta be kidding, right?

      VC++ is now 98% compliant to the ANSI C++ standard with full template support.

      VC++ ver 6 couldn't even compile BOOST without special coding on their part.

      Now BOOST and other Template based libraries compile without any modifications.

      Wadda you want?
  • "Microsoft's hot buttons for rogramming languages"

    I didn't know Scooby-Doo was writing your headlines these days....

  • Two Words

    Platform independence
  • M$ language

    it's only one: 'gimme your money!'
    Linux Geek
    • Shut up, fool.

      Hallowed are the Ori
    • As if you had a clue about coding.

      Pffftt.... Go back to your basement. Adults are talking.
      • "Go back to your basement." sounds very childish.

        I'm sorry, and you're an adult by saying "Go back to your basement?"
    • Was this article about Linux?

      I think not ... please leave and take your open farce with you
      • did I mentioned Linux?

        Linux Geek
  • How about an explanation of how to tie . . .

    How about an explanation of how to tie C# to XAML? I tried it, I could make a pretty interface, but the interface didn't connect with my program, making it useless :(.