<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The Rhino Is Coming &#8230; to fix CFML</title>
	<atom:link href="http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/</link>
	<description>Thoughts, rants, and even some code from the mind of Barney Boisvert.</description>
	<lastBuildDate>Thu, 11 Sep 2014 09:58:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: CF Groovy at BarneyBlog</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-94631</link>
		<dc:creator>CF Groovy at BarneyBlog</dc:creator>
		<pubDate>Fri, 06 Jun 2008 07:18:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-94631</guid>
		<description>[...] of you who remember CF Rhino will recognize the name for my latest little project. I whipped up a small proof-of-concept [...]</description>
		<content:encoded><![CDATA[<p>[...] of you who remember CF Rhino will recognize the name for my latest little project. I whipped up a small proof-of-concept [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-67737</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Fri, 28 Mar 2008 20:07:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-67737</guid>
		<description>Danny,

I haven&#039;t really tried much.  I never had any real expectation that CFRhino would be a viable platform.  I don&#039;t have the resources to dedicate, and it&#039;s predicated on a number of rather tenuous constructs.  With CF being closed source, there&#039;s not really a way to hook into it in a good way, I don&#039;t think.  I.e., you really need to get down into the CF internals a bit to end up with something that&#039;s actually useful in the real world.

Interestingly, this same model would worth with any Java scripting language, and since CF&#039;s interface is really just shelling out the script as part of a JEE request, it&#039;s quite possible that projects centering around other language (Groovy, JRuby, etc.) would provide infrastructure for this model.  They wouldn&#039;t be wedded to the CF platform, of course.</description>
		<content:encoded><![CDATA[<p>Danny,</p>
<p>I haven't really tried much.  I never had any real expectation that CFRhino would be a viable platform.  I don't have the resources to dedicate, and it's predicated on a number of rather tenuous constructs.  With CF being closed source, there's not really a way to hook into it in a good way, I don't think.  I.e., you really need to get down into the CF internals a bit to end up with something that's actually useful in the real world.</p>
<p>Interestingly, this same model would worth with any Java scripting language, and since CF's interface is really just shelling out the script as part of a JEE request, it's quite possible that projects centering around other language (Groovy, JRuby, etc.) would provide infrastructure for this model.  They wouldn't be wedded to the CF platform, of course.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Danny Armstrong</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-67704</link>
		<dc:creator>Danny Armstrong</dc:creator>
		<pubDate>Fri, 28 Mar 2008 18:11:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-67704</guid>
		<description>I just ran into this thread while researching a curious limitation in cfml (the fact that getMetaData will return &quot;runtime expression&quot; for dynamic defaults in cfargument). 
Have you had any luck in working out the performance issues associated with disk reads? Any further developments in creating a reliable reusable pattern for implementing apps on the cf platform in this way?
I&#039;m glad you started a discussion about this. It is troubling to me, however, that many people have a very hard time admitting the deficiencies in cfml. Worse yet are the misunderstandings of JS(ECMAScript), clearly evidenced in Joel Cass&#039; statement &quot;Javascript is a ... cumbersome language when compared to the likes of java...&quot; A terrifying statement indeed because it reflects such ignorance on the part of Joel. I&#039;d venture to say that out of everyone who has ever written JS he is the only one who has ever made this observation. Java is easy to use in CF for small things but be able to use JS in CF you will have a much more scalable solution.
Challenging a convention and finding the convention to be either predicated on outmoded thinking or simply not beneficial enough to warrant harping on is liberation in my opinion.</description>
		<content:encoded><![CDATA[<p>I just ran into this thread while researching a curious limitation in cfml (the fact that getMetaData will return "runtime expression" for dynamic defaults in cfargument).<br />
Have you had any luck in working out the performance issues associated with disk reads? Any further developments in creating a reliable reusable pattern for implementing apps on the cf platform in this way?<br />
I'm glad you started a discussion about this. It is troubling to me, however, that many people have a very hard time admitting the deficiencies in cfml. Worse yet are the misunderstandings of JS(ECMAScript), clearly evidenced in Joel Cass' statement "Javascript is a &#8230; cumbersome language when compared to the likes of java&#8230;" A terrifying statement indeed because it reflects such ignorance on the part of Joel. I'd venture to say that out of everyone who has ever written JS he is the only one who has ever made this observation. Java is easy to use in CF for small things but be able to use JS in CF you will have a much more scalable solution.<br />
Challenging a convention and finding the convention to be either predicated on outmoded thinking or simply not beneficial enough to warrant harping on is liberation in my opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joel Cass</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-46635</link>
		<dc:creator>Joel Cass</dc:creator>
		<pubDate>Wed, 07 Nov 2007 00:01:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-46635</guid>
		<description>Hey Barney, 

I don&#039;t get it either.

1) Javascript is a badly planned and cumbersome language when compared to the likes of java which can be used directly in coldfusion by using the cfimport tag or creating objects.

2) You can write flow control statements, function declarations, private / public variables in CFScript. There is no advantage to using JS/AS to cfscript as you will *still* have to write wrappers for cfquery, cfhttp, etc etc.

3) Although it is getting better, ECMAScript has some conventions that even the creators admit was a mistake (such as colon type declarations). Javascript takes the cake for RLOF (remarkable lack of foresight) when it comes to creating objects -  who came up with the crazy idea of creating an object and then injecting properties and methods? Why not follow convention? These guys say &quot;HELL NO&quot; to convention.</description>
		<content:encoded><![CDATA[<p>Hey Barney, </p>
<p>I don't get it either.</p>
<p>1) Javascript is a badly planned and cumbersome language when compared to the likes of java which can be used directly in coldfusion by using the cfimport tag or creating objects.</p>
<p>2) You can write flow control statements, function declarations, private / public variables in CFScript. There is no advantage to using JS/AS to cfscript as you will *still* have to write wrappers for cfquery, cfhttp, etc etc.</p>
<p>3) Although it is getting better, ECMAScript has some conventions that even the creators admit was a mistake (such as colon type declarations). Javascript takes the cake for RLOF (remarkable lack of foresight) when it comes to creating objects &#8211;  who came up with the crazy idea of creating an object and then injecting properties and methods? Why not follow convention? These guys say "HELL NO" to convention.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andre Charland</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-44152</link>
		<dc:creator>Andre Charland</dc:creator>
		<pubDate>Mon, 22 Oct 2007 05:03:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-44152</guid>
		<description>Hey Barney,

This sounds really cool and would certainly make CF more appealing to a wider class of developer.  And for existing CF developers it would make certain types of development a lot more elegant.  Also using a more standard and widely used language like JS/ECMA vs CFScript can only be a good thing.

What do you think this will do for other types of server side developers i.e. PHP, JSP, ASP...do you think they&#039;ll take notice?  Will people switch, if so why?  Or will this only help CF devs?

Great idea though! Would be really sweet to have great support for the script on the client and server:)

Cheers!</description>
		<content:encoded><![CDATA[<p>Hey Barney,</p>
<p>This sounds really cool and would certainly make CF more appealing to a wider class of developer.  And for existing CF developers it would make certain types of development a lot more elegant.  Also using a more standard and widely used language like JS/ECMA vs CFScript can only be a good thing.</p>
<p>What do you think this will do for other types of server side developers i.e. PHP, JSP, ASP&#8230;do you think they'll take notice?  Will people switch, if so why?  Or will this only help CF devs?</p>
<p>Great idea though! Would be really sweet to have great support for the script on the client and server:)</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-43173</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Wed, 17 Oct 2007 18:03:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-43173</guid>
		<description>Sean,

While the syntax is fairly similar between CFSCRIPT and ECMAScript, that&#039;s about as far as the similarity goes.  No function literals, no closures, no object prototypes, no nesting, no object and array literals, etc.</description>
		<content:encoded><![CDATA[<p>Sean,</p>
<p>While the syntax is fairly similar between CFSCRIPT and ECMAScript, that's about as far as the similarity goes.  No function literals, no closures, no object prototypes, no nesting, no object and array literals, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Corfield</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-43144</link>
		<dc:creator>Sean Corfield</dc:creator>
		<pubDate>Wed, 17 Oct 2007 14:13:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-43144</guid>
		<description>Hmm, the tags did not appear:

[cfcomponent]
[cfscript]

function foo() { }

function bar(a,b) { }

[/cfscript]
[cfcomponent]</description>
		<content:encoded><![CDATA[<p>Hmm, the tags did not appear:</p>
<p>[cfcomponent]<br />
[cfscript]</p>
<p>function foo() { }</p>
<p>function bar(a,b) { }</p>
<p>[/cfscript]<br />
[cfcomponent]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Corfield</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-43143</link>
		<dc:creator>Sean Corfield</dc:creator>
		<pubDate>Wed, 17 Oct 2007 14:06:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-43143</guid>
		<description>I guess I don&#039;t see the point either... with cfscript you can already write the function notation your want. You can already write CFCs as (almost) pure cfscript:




function foo() { }

function bar(a,b) { }




With the enhancements to cfscript in CF8 (e.g., ++ and &quot;proper&quot; comparison operators), it&#039;s closer to JS / ECMAscript so your Rhino approach seems very kludgy.

What am I missing here?</description>
		<content:encoded><![CDATA[<p>I guess I don't see the point either&#8230; with cfscript you can already write the function notation your want. You can already write CFCs as (almost) pure cfscript:</p>
<p>function foo() { }</p>
<p>function bar(a,b) { }</p>
<p>With the enhancements to cfscript in CF8 (e.g., ++ and "proper" comparison operators), it's closer to JS / ECMAscript so your Rhino approach seems very kludgy.</p>
<p>What am I missing here?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-43034</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Wed, 17 Oct 2007 04:34:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-43034</guid>
		<description>Mike,

I certainly agree that the &quot;wrapping&quot; nature of a tag-based language is very powerful.  I definitely prefer that for querying, though I care for it less so with things like CFHTTP/CFHTTPPARAM (i.e. where there isn&#039;t any content, just subtags).

Regarding using AS3 to create server-side objects, if you design them right, you won&#039;t have server-side objects.  You&#039;ll just have objects, and you&#039;ll use the same ones client side as you do server side.  Obviously in different contexts (no UI on the server, no persistence ops on the client), but the same VO would suffice for both.  Oh the possibilities for code reuse.....

Seems that every comment draws attention to another subtle facet that could dramatically improve development if we had this.  I sure hope Adobe&#039;s listening.</description>
		<content:encoded><![CDATA[<p>Mike,</p>
<p>I certainly agree that the "wrapping" nature of a tag-based language is very powerful.  I definitely prefer that for querying, though I care for it less so with things like CFHTTP/CFHTTPPARAM (i.e. where there isn't any content, just subtags).</p>
<p>Regarding using AS3 to create server-side objects, if you design them right, you won't have server-side objects.  You'll just have objects, and you'll use the same ones client side as you do server side.  Obviously in different contexts (no UI on the server, no persistence ops on the client), but the same VO would suffice for both.  Oh the possibilities for code reuse&#8230;..</p>
<p>Seems that every comment draws attention to another subtle facet that could dramatically improve development if we had this.  I sure hope Adobe's listening.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Kelp</title>
		<link>https://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/comment-page-1/#comment-43031</link>
		<dc:creator>Mike Kelp</dc:creator>
		<pubDate>Wed, 17 Oct 2007 04:06:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/2007/10/16/the-rhino-is-coming-to-fix-cfml/#comment-43031</guid>
		<description>I also think it would be valuable to at least be able to acheive more AS3 like syntax sometimes. I would personally not use it quite as heavily though.

Personally, I think tags are perfect for cfquery, ldap, document, and many other things. Tags are very elegant for static operations where a lot of content is processed in a wrapper type situation. This extends far beyond the view to me. I have no desire to go back to string concatenation or wrapping all my SQL in quoted messes again.

I do like the idea of closures to some degree, with the concern that they would get overused as they do with almost any other scripting language. It doesn&#039;t take very much logic for a closure to become hard to read in the midst of a statement using it as a parameter to a function call for instance. I have to laugh when someone calls that elegant or even readable for that matter.

I do love scripting syntax for very straight up logic chunks though, such as algorithm implementation, math heavy looping, etc. I could also see using AS3 to create server side objects.

On a separate note, I have been amazed at the documented metadata capabilities we have with CFCs in their tag form. I may have to blog about this myself, but I have been playing a lot with adding metadata attributes to some cfc or function calls to add special functionality to my CFCs with very little code. Definitely something to be careful with, probably more so than with closures, but very powerful.

Thanks for a thought-inspiring post!

Mike.</description>
		<content:encoded><![CDATA[<p>I also think it would be valuable to at least be able to acheive more AS3 like syntax sometimes. I would personally not use it quite as heavily though.</p>
<p>Personally, I think tags are perfect for cfquery, ldap, document, and many other things. Tags are very elegant for static operations where a lot of content is processed in a wrapper type situation. This extends far beyond the view to me. I have no desire to go back to string concatenation or wrapping all my SQL in quoted messes again.</p>
<p>I do like the idea of closures to some degree, with the concern that they would get overused as they do with almost any other scripting language. It doesn't take very much logic for a closure to become hard to read in the midst of a statement using it as a parameter to a function call for instance. I have to laugh when someone calls that elegant or even readable for that matter.</p>
<p>I do love scripting syntax for very straight up logic chunks though, such as algorithm implementation, math heavy looping, etc. I could also see using AS3 to create server side objects.</p>
<p>On a separate note, I have been amazed at the documented metadata capabilities we have with CFCs in their tag form. I may have to blog about this myself, but I have been playing a lot with adding metadata attributes to some cfc or function calls to add special functionality to my CFCs with very little code. Definitely something to be careful with, probably more so than with closures, but very powerful.</p>
<p>Thanks for a thought-inspiring post!</p>
<p>Mike.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
