Thanks Shriram for the answers - please see inline.&nbsp; <br><br><div><span class="q"><span class="gmail_quote">On 5/2/07, <b class="gmail_sendername">Shriram Krishnamurthi</b> &lt;<a href="mailto:sk@cs.brown.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

sk@cs.brown.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>&gt; Why would you expect PLT to use CPS?&nbsp;&nbsp;Virtually no modern compiler
<br>&gt; does.</blockquote></span><div><br>It&#39;s just me being ignorant of compilers internals in general - thanks for the tip. <br></div><span class="q"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

&gt; Understood.&nbsp;&nbsp;I would say that the ilities are probably neither better<br>&gt; nor worse than you would expect, but just different.&nbsp;&nbsp;We have, in<br>&gt; effect, run a many-year experiment using Continue, a semi-commercial
<br>&gt; Web application for conference paper management written entirely in<br>&gt; PLT Scheme (<a href="http://continue.cs.brown.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">continue.cs.brown.edu
</a>).&nbsp;&nbsp;Over the years we have gradually<br>&gt; refined our understanding of its performance, and some of Jay&#39;s work
<br>&gt; on continuation replacement strategies (not written up anywhere, but<br>&gt; I&#39;m sure he can say more here if he feels inclined) stems from our<br>&gt; observations of this system (and of its sibling, Resume, which handles
<br>&gt; the faculty job ads for Brown CS and was also used at Northeastern CCS<br>&gt; this past year).</blockquote></span><div><br>Thanks - hopefully Jay would be feeling inclined to share ;)&nbsp;&nbsp;&nbsp;</div><span class="q"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; Yes.&nbsp;&nbsp;For now I&#39;m focusing on client-side computation.<br><br>&gt; Our view of the server has evolved. Initially we thought of it as just<br>&gt; a dumb repository of data.&nbsp;&nbsp;But then when we saw that we had built a
<br>&gt; fairly nice API for connecting to Web services, we realized that was<br>&gt; our way out of the &quot;how rich a server?&quot; conundrum.&nbsp;&nbsp;I have written<br>&gt; this up on the Flapjax blog, where this post also takes some cracks at
<br>&gt; the so-called &quot;tierless&quot; languages:<br><br>&gt; <a href="http://flapjax.blogspot.com/2007/02/tierless-tieranny.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://flapjax.blogspot.com/2007/02/tierless-tieranny.html
</a><br><br>&gt; By the way, until now I knew of only one other person who understood
<br>&gt; that the so-called three-tiered architecture is actually a two-tiered<br>&gt; *architecture*.&nbsp;&nbsp;I was pleased to see from a throw-away aside earlier<br>&gt; in this thread that Matthias is the second such person.
</blockquote>
</span><div><br>Thanks for the link - I didn&#39;t know the term is tierless - not sure if I like the name...&nbsp; ;)</div><span class="q"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

&gt; No, it&#39;s also a research question, but not one I care about.&nbsp;&nbsp;The<br>&gt; tierless guys are interested in this.&nbsp;&nbsp;I think this is fundamentally a<br>&gt; confused question, though.&nbsp;&nbsp;Putting things in different places
<br>&gt; involves introducing a new (and significant!) locus of failure; you<br>&gt; need to worry about communication, synchronization, policies, etc.&nbsp;&nbsp;I<br>&gt; don&#39;t think we&#39;re anywhere near being able to do such things
<br>&gt; seamlessly.&nbsp;&nbsp;*Furthermore*, whether you run on the client or on the<br>&gt; server has a huge impact on the kind of UI you write (imagine a<br>&gt; word-processor that ran purely on the server, and sent every keystroke
<br>&gt; as a synchronous communication...).&nbsp;&nbsp;So I focus on assuming that<br>&gt; people know what they want running where and will program to that.</blockquote></span><div><br>In a way I thought this is what your research topic #3 would be, given your interest in &quot;competing&quot; with RoR so to speak.&nbsp; Perhaps we are not thinking the same thing? 
<br><br>Your description of tierless is basically a higher level compiler/translator that compiles code into the multiple tiers, and RoR or any other framework all do that to various extent (I wouldn&#39;t really classify any of these as languages though... maybe you are talking about other languages instead of RoR/equivalents) - or am I missing something? 
<br><br>Agreed on whether the code runs on client or server makes a big difference, and to me that&#39;s part of the challenge in spec&#39;ing design/tradeoffs.&nbsp; Definitely makes no sense to build a word processor running on a server, but on the other hand, building a word processor with both client &amp; server components (without having to write the same logic more than once) to allow for better collaboration than wiki sure does.&nbsp; But this is just an observation cuz you know that more than I do already ;) 
<br><br>Thanks for your time, Shriram! ;)<br><br>yinso <br><br></div></div>