<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Angry at GWT</title>
	<atom:link href="http://www.pathf.com/blogs/2007/05/angry_at_gwt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pathf.com/blogs/2007/05/angry_at_gwt/</link>
	<description>Running commentary about agile development, user experience design and Ajax.</description>
	<pubDate>Fri, 05 Dec 2008 09:44:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Dobes Vandermeer</title>
		<link>http://www.pathf.com/blogs/2007/05/angry_at_gwt/#comment-445</link>
		<dc:creator>Dobes Vandermeer</dc:creator>
		<pubDate>Sun, 02 Mar 2008 17:39:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=332#comment-445</guid>
		<description>&lt;p&gt;Re: "... but JavaScript is actually considerably more powerful..."&lt;/p&gt;

&lt;p&gt;Let's say that power means "the amount of work done per unit of time."&lt;/p&gt;

&lt;p&gt;It could be said that development is made up of these types of work:&lt;/p&gt;

&lt;p&gt;- Design&lt;br /&gt;
- Prototyping&lt;br /&gt;
- Learning the Language&lt;br /&gt;
- Writing New Code&lt;br /&gt;
- Understanding Old Code&lt;br /&gt;
- Refactoring&lt;br /&gt;
- Debugging New Code&lt;br /&gt;
- Debugging Old Code&lt;br /&gt;
- Reading Other People's Code&lt;br /&gt;
- Debugging Other People's Code&lt;br /&gt;
- Making Use of Libraries&lt;br /&gt;
- Making Libraries&lt;br /&gt;
- Refactoring Libraries&lt;br /&gt;
- Updating to Refactored Libraries&lt;/p&gt;

&lt;p&gt;JavaScript and dynamic languages in general do well in some of these areas but not others&lt;/p&gt;

&lt;p&gt;For example, "Writing New Code" seems to be the area of focus for advocates of dynamic languages, who see a big power gain there, and possibly in "Learning the Language".&lt;/p&gt;

&lt;p&gt;It seems to me, however, that Java is just as powerful as Javascript in the other categories, and much more powerful if you use an IDE with support for completion and refactoring.&lt;br /&gt;
&lt;/p&gt;

</description>
		<content:encoded><![CDATA[<p>Re: &#8220;&#8230; but JavaScript is actually considerably more powerful&#8230;&#8221;</p>
<p>Let&#8217;s say that power means &#8220;the amount of work done per unit of time.&#8221;</p>
<p>It could be said that development is made up of these types of work:</p>
<p>- Design<br />
- Prototyping<br />
- Learning the Language<br />
- Writing New Code<br />
- Understanding Old Code<br />
- Refactoring<br />
- Debugging New Code<br />
- Debugging Old Code<br />
- Reading Other People&#8217;s Code<br />
- Debugging Other People&#8217;s Code<br />
- Making Use of Libraries<br />
- Making Libraries<br />
- Refactoring Libraries<br />
- Updating to Refactored Libraries</p>
<p>JavaScript and dynamic languages in general do well in some of these areas but not others</p>
<p>For example, &#8220;Writing New Code&#8221; seems to be the area of focus for advocates of dynamic languages, who see a big power gain there, and possibly in &#8220;Learning the Language&#8221;.</p>
<p>It seems to me, however, that Java is just as powerful as Javascript in the other categories, and much more powerful if you use an IDE with support for completion and refactoring.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vaskas</title>
		<link>http://www.pathf.com/blogs/2007/05/angry_at_gwt/#comment-444</link>
		<dc:creator>vaskas</dc:creator>
		<pubDate>Sat, 09 Jun 2007 07:00:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=332#comment-444</guid>
		<description>&lt;p&gt;"GWT completely ignores the fact you are creating a website, NOT an application"&lt;/p&gt;

&lt;p&gt;GWT is intended for web applications development, not web sites. It's fundamentally different from web frameworks such as Struts, Spring MVC, RoR etc. GWT is about developing web apps like desktop apps - and it benefits from it.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8220;GWT completely ignores the fact you are creating a website, NOT an application&#8221;</p>
<p>GWT is intended for web applications development, not web sites. It&#8217;s fundamentally different from web frameworks such as Struts, Spring MVC, RoR etc. GWT is about developing web apps like desktop apps - and it benefits from it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Paine</title>
		<link>http://www.pathf.com/blogs/2007/05/angry_at_gwt/#comment-443</link>
		<dc:creator>Joshua Paine</dc:creator>
		<pubDate>Wed, 30 May 2007 15:18:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=332#comment-443</guid>
		<description>&lt;p&gt;Java -&gt; Javascript is hardly at all like C++ -&gt; Assembler: C[++] is an abstraction on top of Assembler and designed to be automatically reduced to it. Neither Java nor JavaScript, however, is meant as an abstraction on the other--instead they're largely incompatible abstractions. E.g.,&lt;/p&gt;

&lt;p&gt;* Java uses class-based objects, JavaScript uses prototype-based objects.&lt;br /&gt;
* Java has static typing, JavaScript has dynamic.&lt;br /&gt;
* JavaScript has closures.&lt;br /&gt;
* JavaScript has first-class functions.&lt;/p&gt;

&lt;p&gt;So not only are they different, but JavaScript is actually considerably more powerful. JavaScript can emulate most of the features of a class-based object system, but Java cannot emulate a prototype-based system. 'Advice' requires only a handful of lines to implement in JavaScript but requires language extensions in Java. Java can't emulate closures or first-class functions (though of course you can write an interpreter in Java for a language with these features, like Rhino). Etc., etc..&lt;/p&gt;

&lt;p&gt;So if anything, using Java to generate JavaScript is more like writing Assembler to generate C++. Which, to put it mildly, is a technique with few reasonable applications.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Java -> Javascript is hardly at all like C++ -> Assembler: C[++] is an abstraction on top of Assembler and designed to be automatically reduced to it. Neither Java nor JavaScript, however, is meant as an abstraction on the other&#8211;instead they&#8217;re largely incompatible abstractions. E.g.,</p>
<p>* Java uses class-based objects, JavaScript uses prototype-based objects.<br />
* Java has static typing, JavaScript has dynamic.<br />
* JavaScript has closures.<br />
* JavaScript has first-class functions.</p>
<p>So not only are they different, but JavaScript is actually considerably more powerful. JavaScript can emulate most of the features of a class-based object system, but Java cannot emulate a prototype-based system. &#8216;Advice&#8217; requires only a handful of lines to implement in JavaScript but requires language extensions in Java. Java can&#8217;t emulate closures or first-class functions (though of course you can write an interpreter in Java for a language with these features, like Rhino). Etc., etc..</p>
<p>So if anything, using Java to generate JavaScript is more like writing Assembler to generate C++. Which, to put it mildly, is a technique with few reasonable applications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Doherty</title>
		<link>http://www.pathf.com/blogs/2007/05/angry_at_gwt/#comment-442</link>
		<dc:creator>Ryan Doherty</dc:creator>
		<pubDate>Wed, 30 May 2007 06:48:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=332#comment-442</guid>
		<description>&lt;p&gt;Wow, I honestly never thought that my post would generate so much interest. &lt;/p&gt;

&lt;p&gt;Yep, I was wrong about a few things with GWT. The Hello World example was a bad way to try to show GWT is bloated. I'm know thinking it's not as bloated as I thought it was.&lt;/p&gt;

&lt;p&gt;I still think GWT creates poor quality code (JS, HTML &#038; CSS) and that you can create clean, semantic HTML, CSS and JS while creating the same exact applications/tools/widgets that GWT does. &lt;/p&gt;

&lt;p&gt;And I'm not angry that GWT allows developers to create cool apps. I use jQuery, YUI and extJS and I'm happy we have these toolkits. &lt;/p&gt;

&lt;p&gt;I don't think the argument that Java creating Javascript is akin to C++ compiling to Assembler. Java and Javascript are both modern languages. The difference is more syntactical than abstraction.&lt;/p&gt;

&lt;p&gt;I think you can write good or bad code in any language. Why should Java inherently create better code? Lots of arguments either way and I'm not convinced. &lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Wow, I honestly never thought that my post would generate so much interest. </p>
<p>Yep, I was wrong about a few things with GWT. The Hello World example was a bad way to try to show GWT is bloated. I&#8217;m know thinking it&#8217;s not as bloated as I thought it was.</p>
<p>I still think GWT creates poor quality code (JS, HTML &#038; CSS) and that you can create clean, semantic HTML, CSS and JS while creating the same exact applications/tools/widgets that GWT does. </p>
<p>And I&#8217;m not angry that GWT allows developers to create cool apps. I use jQuery, YUI and extJS and I&#8217;m happy we have these toolkits. </p>
<p>I don&#8217;t think the argument that Java creating Javascript is akin to C++ compiling to Assembler. Java and Javascript are both modern languages. The difference is more syntactical than abstraction.</p>
<p>I think you can write good or bad code in any language. Why should Java inherently create better code? Lots of arguments either way and I&#8217;m not convinced. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Grossberg</title>
		<link>http://www.pathf.com/blogs/2007/05/angry_at_gwt/#comment-441</link>
		<dc:creator>Joe Grossberg</dc:creator>
		<pubDate>Thu, 24 May 2007 16:09:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=332#comment-441</guid>
		<description>&lt;p&gt;"Now, is GWT bloated? Ryan's example is "Hello, World!" Not exactly a fair test, since most of the code there is setup and Java lib code; it would be better to look at a larger example."&lt;/p&gt;

&lt;p&gt;That's the same excuse Sun used for the overly verbose "Hello World" in Java itself.&lt;/p&gt;

&lt;p&gt;I don't think it holds water, to say that is an unfair test.&lt;/p&gt;

&lt;p&gt;Perhaps it would be accurate to say that GWT is indeed less suitable for small, simple, compact scripts -- but -- it is very well-suited to meeting the needs large, complex applications.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8220;Now, is GWT bloated? Ryan&#8217;s example is &#8220;Hello, World!&#8221; Not exactly a fair test, since most of the code there is setup and Java lib code; it would be better to look at a larger example.&#8221;</p>
<p>That&#8217;s the same excuse Sun used for the overly verbose &#8220;Hello World&#8221; in Java itself.</p>
<p>I don&#8217;t think it holds water, to say that is an unfair test.</p>
<p>Perhaps it would be accurate to say that GWT is indeed less suitable for small, simple, compact scripts &#8212; but &#8212; it is very well-suited to meeting the needs large, complex applications.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
