ie8 fix

Microsoft architect compares Volta and Google's GWT

By | December 7, 2007, 6:47am PST

Summary: Is Microsoft’s “cloud programming” toolset Volta — which Microsoft released in early preview form this week — a “me-too” response to Google’s Google Web Toolkit (GWT)? Here’s Volta Architect Erik Meijer’s response.

Is Microsoft’s “cloud programming” toolset Volta — which Microsoft released in early preview form this week — a “me-too” response to Google’s Google Web Toolkit (GWT)? I’ve seen that argument from fellow ZDNet blogger Ed Burnette and others around the Web. Microsoft architect compares Volta and Google’s GWT

I asked Microsoft Volta Architect Erik Meijer to explain, from his perspective, the similarities and differences between the two rivals’ offerings. Here’s Meijer’s take (which I edited by cutting out the code samples which Meijer provided):

Leveraging the Potential of a Common Intermediate Language

Since Volta’s release, there have been a number of questions about how Volta compares to other tools like GWT. Both Volta and the GWT aim to make Web programming easy for developers that are comfortable in contemporary object-oriented languages such as Java, or C#, VB, etc. However, comparing Volta and GWT is a little bit like comparing apples and oranges, both are a kind of fruit, yet at the same time they are completely different. For instance, the GWT is an official product that came out of beta in August this year and has been available since May 2006. Volta is an experiment that is still in its early stages. We are releasing it early so we can gather feedback from developers on the architectural directions. The focus of this release is not application performance, size, or compatibility robustness. There are also a number of significant technical differences between GWT and Volta as explained below.

Universal

From an architectural point of view, Volta facilitates a many-to-many mapping between programming languages and execution environments by leveraging the Common Intermediate Language as defined by ISO/IEC 23271:2006. The idea of using a common intermediate language to translate M source languages into N target languages dates back as far as 1958 with UNCOL (see also this). You can use any .NET language to write your application and compile it to a .NET assembly using an unmodified compiler. Volta then post-processes the generated MSIL inside the assembly based on declarative annotations in the code by automatically inserting all the boilerplate code necessary for running the application across multiple tiers and making asynchronous invocations. Finally, you deploy the modified assembly on any target execution environment that is capable of executing MSIL.

Microsoft Volta architect compares Volta and Google’s GWTBecause Volta works on the MSIL level, it is completely language and target execution environment agnostic. In particular this implies that further translation of MSIL to JavaScript is a completely orthogonal decision with respect to declarative tier-splitting and asynchronous method definitions. You can use Volta to create distributed applications where the client runs on say the regular desktop CLR as easily as ones that run inside the browser.

Another benefit of working on the MSIL level is that the Volta tools have a holistic view of the complete application. For instance, this enables end-to-end profiling by injecting instrumentation hooks into the MSIL as part of the tier-splitting rewriting process, but also seamless cross-tier debugging. Again, these benefits are agnostic of both the source language (such as VB, C#, F#, Eiffel, …) and the target execution environment.

The GWT takes source code written in Java only and directly compiles it into JavaScript.

Microsoft Volta architect compares Volta and Google’s GWTAs a result, you can not directly use the GWT to write AJAX applications in other languages that target the JVM such as JRuby, and it does not directly support writing distributed applications with a regular rich Java client.

Declarative

Volta tries to minimize the number of steps it takes for developers to refactor a client-only application into a multi-tier application. To make instances of a class run on the server in Volta , you express your intent declaratively by placing the custom attribute [RunAtOrigin] on the class declaration.

To create an asynchronous version of a method, you similarly declaratively mark an extern signature declaration using the [Async] custom attribute. There is no special interface that the MyService class needs to implement.

In the GWT achieving the same goal requires the programmer to define two interfaces and one class and extend/implement two required base types RemoteService and RemoteServiceServlet.

Independently extensible

The GWT uses Java native methods to interface to JavaScript where the JavaScript implementation of that native method is defined in a special pragma comment.

Microsoft architect compares Volta and Google’s GWTIn many situations, the compiler can automatically infer the JavaScript implementation from the metadata for the corresponding function declaration in C# (or VB). The Volta toolkit therefore implements a sophisticated convention over configuration heuristic to simplify writing foreign function interfaces. As a result this typically enables programmers to import JavaScript functionality by just writing a single [Import] attribute on an extern method signature.

When occasionally the programmer needs to explicitly provide the JavaScript for a given method, the JavaScript code is passed as an argument to the Import attribute and checked by the Volta post-compiler for syntactic correctness.

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

Mary Jo has covered the tech industry for more than 25 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).

Disclosure

Mary-Jo Foley

Freelance journalist/blogger Mary Jo Foley has nothing to disclose. WYSIWYG (what you see is what you get). I do not own Microsoft stock or stock in any of its partners or competitors. I have no business ventures that are sponsored by/funded by Microsoft or any of its partners or competitors.

Biography

Mary-Jo Foley

Mary Jo Foley has covered the tech industry for 25 years for a variety of publications, including ZDNet, eWeek and Baseline. She has kept close tabs on Microsoft strategy, products and technologies for the past 10 years. In the late 1990s, she penned the award-winning "At The Evil Empire" column for ZDNet, and more recently the Microsoft Watch blog for Ziff Davis.

Got a tip? Send her an email with your rants, rumors, tips and tattles. Confidentiality guaranteed.

27
Comments

Join the conversation!

Just In

RE: Microsoft architect compares Volta and Google's GWT
dsfwrryd60-24353624617528430046974837851474 Updated - 12th Nov
his is my personal in actual fact point Website were excited byblack ugg your amazing web pages. I personally chocolate ugg over heard plenty pertaining chestnut ugg to pleasant facts relating to the website web site.
0 Votes
+ -
Wow!
skillaid 7th Dec 2007
Thanks so much for taking the time to post this. What a great description and comparison of Volta to GWT!

I am so excited about Volta and it's possibilities!

-Brandon
http://dynamics-ax.blogspot.com
0 Votes
+ -
lol
Linux Geek 7th Dec 2007
another NBMer is wettung the pants when hot air is comming from M$.
0 Votes
+ -
Man
skillaid 7th Dec 2007
What a very thought out comment, from a what? Linux person??? Welcome to the MS world my friend. What kills me is people get mad at Microsoft for going the distance and coming out with great products, and tools for Real business to run.

It's sad, but I guess when your on top that's what happens. happy Sorry my Linux Friend, that Microsoft ruins your day... it makes my day bighter! happy
0 Votes
+ -
lol
xuniL_z 7th Dec 2007
Another ABM post completely void of anything remotely intelligent.


The lol part is knowing you think there was some "wit" involved in your post.
0 Votes
+ -
who cares
thastark@... 11th Dec 2007
How does it go ... "Just the fact that people seem to be getting dumber and dumber. You know, I mean we have all this amazing technology and yet computers have turned into basically four figure wank machines. The internet was supposed to set us free, democratize us, but all it's really given us is Howard Dean's aborted candidacy and 24 hour a day access to kiddie porn. People...they don't write anymore - they blog. Instead of talking, they text, no punctuation, no grammar: LOL this and LMFAO that. You know, it just seems to me it's just a bunch of stupid people pseudo-communicating with a bunch of other stupid people at a proto-language that resembles more what cavemen used to speak than the King's English."

Who cares if it's MS of Linux, this is a cool platform!
Nice idea, but slow as hell. Try the demos at the Volta and you will understand that something is fundamentally wrong with Volta.
0 Votes
+ -
Please
skillaid 7th Dec 2007
Volta is not a Production Release... it has not been optimized... it was released as a Labs Project, for getting feedback on functionality and Architecture path. Did you not read the "Apples to Oranges" comparison???

If all you have to say is it's slow? Well Duh!

Sorry for the harsh response, but I get tired of hearing half baked comments, on something that is well thought out like 'it's slow' on a lab release package.... What do you expect?
0 Votes
+ -
I heard the same with Vista
stevey_d 7th Dec 2007
the slow beta was going to be faster with RC1, it wasn't. The gold code would be faster. Vista Home Premium was if anything slower.
Perhaps this guy has a point.
0 Votes
+ -
and Vista? I didn't notice any mention of vista in the article.

Your logic suffers from total lack of relationship. It's like saying Leopard suffers from a major data loss flaw (besides being a dog), memory randomization is useless and easily defeated, time machine is not nearly ready and the fell short of getting the Vista look on their screens, And therefore, all future Apple projects that have any beta flaws, will have them in the released version.


Good thinking.
0 Votes
+ -
So here it is...
Cardinal_Bill 7th Dec 2007
the reason that Microsoft employee John Carroll pushed out his blog two days ago. See: http://blogs.zdnet.com/carroll/?p=1736

Microsoft has to publish it's "Me Too".

I figured there was either a product just released or one in the wings that Microsoft had to create a cloud over by saying they also were going to provide that capability...it's the "U" part of FUD.
0 Votes
+ -
I remember many e-mail services before Google came in quite late, so I guess Google also makes "Me Too" features as well.

And I remember how Live Maps had traffic integration before Google Maps. So another "Me Too" from Google.

Guess Microsoft's not the only one.
0 Votes
+ -
Just a long...
Cardinal_Bill 7th Dec 2007
history of it. Somewhere in the neighborhood of...just when did Bill Gates "buy" a product that he'd already contracted to supply IBM with?
0 Votes
+ -
I believe that came after
xuniL_z 7th Dec 2007
Apple licensed code and used existing hardware technology designed in the 60s and 70s for Darpa as it's platform.

So what are you saying? If you are suggesting Microsoft is somehow "more" guilty of this than Apple or Google or the Linux Community at large, you are just lying to yourself.



along the way Microsoft began writing the majority of Windows code. Apple can never lay claim to that. They'v never written more than when "Woz" created the Apple I/II with great ideas but was overruled by Jobs. 35 years later Apple is still at less than 10% of the market.



what is the purpose of making such biased suggestions and attempting to mislead with them? When was the last "virgin" technological innovation in IT?
0 Votes
+ -
Message has been deleted.
xuniL_z Updated - 9th Dec 2007
0 Votes
+ -
Message has been deleted.
Cardinal_Bill Updated - 9th Dec 2007
  • Flagged
0 Votes
+ -
Message has been deleted.
Joeman57 Updated - 9th Dec 2007
0 Votes
+ -
Message has been deleted.
Cardinal_Bill Updated - 9th Dec 2007
0 Votes
+ -
Where to start....
B.O.F.H. 8th Dec 2007
Apple made the first mp3 player?
If you are referring to the Ipod, it is a MP4 player (MPEG 4 Audio Layer) while MP3 is MPEG 2 Audio Layer 3. These are ISO standards, look them up.

Google made the first search engine?
Google developed a search and ranking algorithm, apparently it is very popular. There are many search engines out there (and many actually use Google Search Appliances, also). There are also directories like Yahoo (which was around several years before). Since your job at CompUSA is about to go away, I would expect that you have other things to think about now, though.

Apple created the desktop GUI?
This was never claimed, they lifted ideas from a tour at Xerox PARC. They did not claim to have created the desktop GUI.

Mozilla created the first browser?
Mozilla was the name of the browser created by Marc Andreesen, the first browser was created at CERN (on NeXTStep) in Switzerland. Mozilla references the school mascot where Andreesen got his degree. No one has ever claimed that Mozilla was the first browser but it was the first graphical browser (prior web browsers only handles text, as per HTML 2.0 and prior).

Are you still in pain?
0 Votes
+ -
The MSIL Angle is Huge
HankFay 8th Dec 2007
Volta is huge for the non-orthodox MS software development community: it opens a significant feature set within .Net to dynamic languages, ranging from Python and Ruby to F# and VFP. If it signals a shift within MS to recognition of the importance of non-MS languages within .Net, then Volta's importance is even greater.
0 Votes
+ -
No
KTLA 9th Dec 2007
No, that's not true. I read it on a post above your's, cardinal Bill said:

"...recreate what Google is doing, except adding hooks to all the stuff that will only run on their OS."

I assume that must be true, and MS is doing nothing but recreating what Google already has."

I mean, if that ABM crowd says it, it's true.
0 Votes
+ -
Well let's see...
Cardinal_Bill 9th Dec 2007
From this article (http://blogs.zdnet.com/microsoft/?p=1023) we see references to: Java, C#, VB, .NET, F#, Eiffel.

From this article (http://blogs.zdnet.com/carroll/?p=1736) we see references to: .NET, C#, Silverlight.

It said Java -> Javascript. The first one said no JRuby.
0 Votes
+ -
You CAN ALREADY run .Net on LAMP
thastark@... 11th Dec 2007
Just a reminder, .Net Assemblies may be compiled to Java Byte code using a plug-in called Mono. Hence you may run alls thems fancy codes on Linux, BSD, UNIX, Mac OS X, Solaris.

We will see if the Mono guys see value in supporting this lab'ish release.

To be frank, I've never seen a better full circle IDE than the new line of Microsoft Products. Even supports drag and drop for that Linux guy that doesn't understand architecture or architectural decisions. So, the question you should be asking yourself is what will keep Novel/Mono & MSFT away from your "open" servers?
GWT can do [Import] too.

GWT JSIO allows automatic JSNI glue binding via
convention over configuration as well. GWT's Deferred
Binding mechanism and Generators are easily powerful
enough to provide this feature.
0 Votes
+ -
GWT's powerful deferred binding generator mechanism makes this feature a piece of cake, as well providing the ease to drop in new interop features that surpass Volta.

For a description of how to do this, see: http://www.dzone.com/links/is_voltas_javascript_interop_better_than_gwt.html
0 Votes
+ -
who cares
0 Votes
+ -
Scale down that image!
RestonTechAlec 29th Jan 2008
You might want to resample that huge image... meijer1.jpg is 1879x2592 and you are using HTML to scale it down. I could write a whole article with all of the reasons that is a bad idea. I'm sure most of the readers could, as well.
0 Votes
+ -
RE: Microsoft architect compares Volta and Google's GWT
dsfwrryd60-24353624617528430046974837851474 Updated - 12th Nov
his is my personal in actual fact point Website were excited byblack ugg your amazing web pages. I personally chocolate ugg over heard plenty pertaining chestnut ugg to pleasant facts relating to the website web site.

Join the conversation!

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]
ie8 fix

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox

Facebook Activity

White Papers, Webcasts, & Resources
ie8 fix