Martin Heller
Contributing Writer

Volta: How it Works

analysis
Dec 6, 20072 mins

I downloaded the Microsoft Volta preview bits yesterday after writing up my initial take on the announcement, only to discover that my Visual Studio 2008 Beta 2 Virtual PC had expired, meaning that I couldn't actually try Volta out myself. Meanwhile, I looked into how Volta works. As documented here, Volta basically works as a recompiler for .NET 3.5 applications. As a developer, you build the whole application

Meanwhile, I looked into how Volta works. As documented here, Volta basically works as a recompiler for .NET 3.5 applications. As a developer, you build the whole application as though it will run entirely on the client, and then you mark parts of it to belong to the server tier. Compile it. Volta then looks at the generated MSIL in your assemblies, and rewrites it “into any number of target languages, including, today JavaScript and MSIL itself.”

According to Microsoft, the three techniques used are “refactoring, retargeting, and remodulating. Refactoring converts single-tier code into distributed, concurrent code as directed by user-supplied annotations. Retargeting converts MSIL code into code for other virtual machines. Remodulating tailors a single piece of code for multiple browsers.”

The fact that Volta can retarget .NET applications for JavaScript means that you can write plain old .NET code to generate Ajax applications, much in the same way as GWT lets you write plain old Java code to generate Ajax applications. That opens up a number of interesting scenarios.

It also opens up a number of interesting questions. How well will all of this work? Will it make developers’ lives easier, or add yet another layer of junk between us and our goals, and introduce hard-to-debug, hard-to-profile black boxes into our applications? Will it turn out to be the powerful, liberating tool that Microsoft’s write-up suggests, or will it turn out to primarily be a way to lock developers into writing for the .NET Framework?

What do you think? Have you been able to try Volta yourself?

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

More from this author