On Jan 19, 2013 11:34 AM, "Brad Wood" <br...@bradwood.com> wrote:
>
> Lol, thanks for your humble opinion. :)
You're welcome. :-)
>
> Unfortunately, whether or not you prefer code that looks like my repro case is orthogonal to the discussion of compatibility. The point is, the repro case demonstrates syntactically valid CFML and the expectations of that code are all documented by Adobe.
>
> UDFs accept "optional, undeclared arguments."
> http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSc3ff6d0ea77859461172e0811cbec0a66e-7fe2.html
>
> "If you use a variable name without a scope prefix, ColdFusion checks the scopes in the following order to find the variable:"
> http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSc3ff6d0ea77859461172e0811cbec09af4-7fdf.html
>
> Railo's behavior does not match ACF's documentation or actual behavior in this case.
I get that, I really do. However, I believe that Railo should not concern itself with being compatible on silly things that ACF does. The silly things - there are many - are largely why CFML gets the bad rap that it does.
At this point in time, Railo is the very clear leader in the CFML world. It is my very strong opinion that Railo should not care about ACF, because doing so will do nothing but hold Railo - and therefore CFML - back. In my opinion Railo should be after fixing the stupid stuff (i.e. not duplicate it) and expanding the language, which will do wonders for the community in terms of education and growth. I think it's an enormous mistake to try and cater to folks who just want to jump ship to get a free license, but can't be bothered to invest in their own code (and future) to fix the technical debt they've incurred over the years.
assertTrue( Railo != ACF )
assertTrue( Railo > ACF )
:-)
I agree with you that the compatibility text should be removed. 100%. :-)
As a general rule: Railo does care about compatibility.
Igal
--
typos, misspels, and other weird words brought to you courtesy of my mobile device and its auto-(in)correct feature.
what i personally really hate about ACF is, that it use the "=" operator for things like this:bifCall(susi=x);sct={susi=x};
[...]
and i would love to support only the ":" syntax, then for me the following 2 lines should be the same
Scope | ||||||||
O |
| |||||||
X |
| |||||||
Y |
| |||||||
Z |
|
But - as far as I can tell - that's not what happens, Mark. Both operators do the same thing, just in different contexts. Both are assignment operators. You are assigning different descriptions to them in your head, but the distinction you're making only resides in your head (there's nothing wrong with that). It's a syntactical difference, not a functional difference.
From what I can gather, the only justification anyone has ever come up with for wanting the colon assignment operator in CF is because they do JS as well, and "get confused" when transitioning between the two languages. I have never heard any better justification / explanation than that. And that's a shit justification (IMO).