In-Depth

Looking Ahead to Orcas and Beyond

Visual Studio''s future is one of the key topics being covered at PDC 2005 this week. Expect to see improvements in C#, Visual Basic, ASP.NET, Indigo support, and data handling. Plus, get hints about Hawaii.

There are many directions that Microsoft could conceivably take with future versions of Visual Studio. Support for new operating system features is almost a given. And based on some presentations being given at the 2005 PDC this week, it appears that the company has chosen working with data as the next mountain to climb.

Orcas—the code name for the next version of Visual Studio—will have pretty quick cycle as far as enterprise development tool sets go. In order to take advantage of some of the new features available in Windows Vista, Orcas has to come out at around the same time, now projected for the second half of next year. This means that there is perhaps as little as a 12-month turnaround time for Orcas (although there is no doubt that it is already under development), so don't expect too much.

Windows Vista (or Longhorn, for those of us who identify more readily with its sobriquet), will introduce a declarative programming model called XAML (for XML Markup language) that will complement existing programming languages and Windows Forms by enabling developers to use the Avalon presentation layer to build the sophisticated mix of Web-like rich-client user interfaces available with the new operating system. Avalon user interfaces written with XAML employ some stunning visual effects, including three-dimensional objects, subtle shading, and transparent and overlapping objects.

Orcas will also deliver more support for Indigo, Microsoft's new programming model for building Web services. Indigo introduces a unified model for developing connected applications on the Windows platform that makes it easier to build service components employing remote procedure calls, messaging, and remote object invocation. While there is little new from the standpoint of features in Indigo, Orcas will provide a far easier way to implement some capabilities, such as security and reliable transactions. Demonstrations of Indigo technology indicate that using Orcas with Indigo can reduce the required code for complex tasks from tens of thousands of lines to just a few.

From the standpoint of language, the use of data in applications also appears to be some low-hanging fruit for Microsoft to exploit in that limited amount of time. Many developers write data-driven applications, yet beyond ADO.NET there is little in Visual Studio to make such development easy. In particular, while it is possible to build a state-of-the-art graphical user interface visually by selecting from a vast set of user interface components, and write processing logic in VB.NET or C# using conventional programming skills supplemented by a comprehensive help system, database access requires intimate knowledge of the database structure, plus the ability to work in SQL.

Orcas seeks to improve on that experience by adding language features to C# that make data handling more seamless. If C# were a data-aware language, for example, you could easily and seamlessly transfer data between the user interface and the database entirely in C#, without necessarily knowing the details of the database tables and fields you are accessing. Consider the improvement in developer productivity and application reliability if you can take a data item directly from a screen object and write it to the database without any intermediary structures.

This goal, in fact, may have been one of the fundamental reasons that Visual Studio and SQL Server have been joined together for the purposes of making them available at the same time. The first step in achieving such transparency is to provide the same managed execution environment for both the database and the language.

Other projected features for C# include extension methods, lambda expressions, type inference, as well as anonymous type for expressing queries and interacting with objects, XML, and databases in a strongly typed, natural way. For example, the next version of the C# language ties in with the .NET Language Integrated Query Framework, which will allow you to build queryable APIs.

Much of this is speculation at this time, although C# architect Anders Hejlsberg and others at Microsoft have done some speaking on the subject. At the same time, it is likely that Visual Basic will continue to return to its roots as a rapid application development language for business-oriented developers. And because software development as a whole is moving in this direction, expect a greater ability to build application models graphically in both languages.

Despite the focus of Windows Vista on rich-client, user interface facilities, pure Web applications are not forgotten. Future directions for ASP.NET include the Atlas technology, which will make it easier to build Web applications that deliver rich, interactive experiences in a browser. Atlas features a JScript cross-browser client script framework for building browser-based applications with a rich user interface and straightforward connectivity to Web services.

Of course, Orcas is not the end of the road as far as Visual Studio goes. The release after Orcas is code-named Hawaii. The name of an island in the middle of the Pacific, far from the usual code names of islands in the Pacific Northwest, suggests to some that compared to its predecessors, it is quite far out (and out where the weather is much nicer). Early word claims that Hawaii will offer radical improvements in its ability to work with data in all its forms as objects, as XML, and as relational data. It will feature query comprehensions, object initializers, and anonymous types for querying data in a more flexible way, the abstract states.

When is Hawaii due? That's a good question, but don't expect it soon after Orcas. Microsoft has said that it wants to release two additional versions of Visual Studio by 2010. Given a late 2006 or early 2007 release of Orcas, that could leave Hawaii an additional two years or more before it becomes available.

Both Orcas and Hawaii will bring forth the Microsoft vision for modeling in the design phase, not with UML but rather with so-called Domain-Specific Languages, or DSLs. DSLs are languages, both textual and visual, that are built on the foundation of Visual Studio languages and tools for a specific industry or purpose. The financial services industry, for example, might have a DSL especially focused on computations of risk and return. Think of the concept as a more modern 4GL that makes developers of applications in those domains highly productive.

About the Author

Peter Varhol is the executive editor, reviews of Redmond magazine and has more than 20 years of experience as a software developer, software product manager and technology writer. He has graduate degrees in computer science and mathematics, and has taught both subjects at the university level.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube