Railo Dictionary Support - Why It's Important

133 views
Skip to first unread message

Matt Quackenbush

unread,
Oct 1, 2012, 11:20:12 AM10/1/12
to cfml-plugin-fo...@googlegroups.com
Good morning (or afternoon or evening, depending upon where in this wonderful world you might be)!  I have recently created a series of tickets related to the Railo dictionary for IDEA, but I wanted to take a moment to explain a) what I believe to be the quickest/easiest way forward, and b) why I believe it is important to actually give merit to such tickets. Thanks in advance for listening/reading! :-)

1. The Quickest Way Forward

I believe the quickest way forward would be to just copy the CF9 dictionary and implement that copy as the Railo dictionary. This alone would wipe out all but one (I think) of the tickets listed below. This would allow Railo users to focus on only the differences between CF and Railo rather than having to try and write up a ton of tickets that really are already fixed just by using the current CF9 dictionary as the basis for the Railo dictionary.

2. Why Railo is Important to JetBrains

In my experience, once Adobe released ColdFusion Builder, Adobe ColdFusion users *that are willing to pay for an IDE* are overwhelmingly going to use Builder. Call it "drinking the koolaid" or whatever you want, but the vast majority of those users stick with All Things Adobe. So catering solely to them is not likely to gain JetBrains much business.

On the other hand, virtually every Railo user I know also works in a variety of other languages. Groovy, Java, Python, PHP, Ruby, etc. These folks are, in my estimation, a ripe market for an IDE that supports a wide range of languages. That IDE, in my humble (yet accurate) opinion should be Intellij IDEA! :-)

I believe fixing and keeping up-to-date with the Railo dictionary will not only make those of us who are already otherwise very happy IDEA users even more happy, but will assist in marketing IDEA to the increasingly polyglot Railo-based developer who would love to have one IDE to work in across all their languages/projects.


(At least some) Railo Dictionary Tickets
Thanks again for IDEA, and for listening to IDEA's users' ideas!  :-)


P.S. If you're a Railo user who would like to see better Railo language support in IDEA, please vote up the tickets!  (You can also reply here if you wish, but voting up the tickets is the first priority!  :-)

Dave Merrill

unread,
Oct 2, 2012, 8:19:44 AM10/2/12
to cfml-plugin-fo...@googlegroups.com
Excellent point Matt, voted up all those issues. 

The other language-level feature that'd really be helpful to those of us who work on products that support multiple CFML engines and versions I know is much harder. That's the ability to say that code must be valid in ALL of a selected set of dialects. For example, we currently support ACF 8, ACF 9, and Railo 3. Don't care about other CFML versions or flavors, but our code needs to run on all of those, so choosing one language isn't a lot like reality for us. Proper support for Railo is obviously necessary, but it's only part of the picture for some developers.

And just to say it, the big non-koolaid reason to use ColdFusion Builder is a real debugger, something that's been discussed for IDEA for quite some time, but nothing visible has come of it so far. More than any other single feature, a real CFML debugger for IDEA, like it has for a number of other languages, would remove the single biggest attraction of CFB, and I'm quite certain, increase IDEA's penetration in the CFML market.

Dave Merrill

Matt Quackenbush

unread,
Oct 2, 2012, 11:36:29 AM10/2/12
to cfml-plugin-fo...@googlegroups.com
Thanks for the votes, Dave! :-)

I also agree about the debugger. While I'm not a CFB user (the stupid ass license mechanism won't run on Linux and Adobe aren't interested in the Linux users), the debugging in IDEA for things like Groovy is bad ass awesome, and I'd welcome something like that for CFML work!

Great idea on the "must be valid across all selected dictionaries" bit. That would be way cool for open source work or for whatever reason one must support multiple engines. I looked for a ticket to vote up but couldn't find one. If there is one (or if you raise one), please post the link. ;-)

Dave Merrill

unread,
Oct 2, 2012, 1:14:09 PM10/2/12
to cfml-plugin-fo...@googlegroups.com
There is an issue, IDEA-87036. I added a comment there just now.

Unfortunately, it's hard to find such things even when you're looking for them, so lots of votes are hard to come by.

Dave

Matt Quackenbush

unread,
Oct 2, 2012, 1:25:13 PM10/2/12
to cfml-plugin-fo...@googlegroups.com
True that. I've created duplicate tickets more than once because I couldn't find what I was looking for.  Anyways, voted up and trying to get more votes for it, too. ;-)

Dave Merrill

unread,
Oct 2, 2012, 2:43:49 PM10/2/12
to cfml-plugin-fo...@googlegroups.com

Unfortunately, I believe I was told by someone at JetBrains that they thought it would be a lot of thrash to validate against multiple dialects. Too bad, since it's actually what I need. Guess we let them figure that out...

Dave

Jamie Krug

unread,
Oct 2, 2012, 9:31:22 PM10/2/12
to cfml-plugin-fo...@googlegroups.com
While I wholeheartedly support the general aim of these issues, I'm a bit concerned with the potential scope of the requests. In other words, it sounds "really hard" for JetBrains to implement these finer details, for somewhat little gain overall.

In particular, Matt did mention that much of this would simply be fixed by copying the Adobe ColdFusion 9 syntax dictionary over whatever the existing Railo implementation is. The truth is, there are very few differences in syntax support between ColdFusion 9 and the latest stable Railo build. The following three examples are the only ones I can think of, and at least one (the colon used for implicit struct definition) is finally supported in CF10:

aStruct = { key : val };

aVal = myObject[ methodName ]( arg );

aString = "look, no semicolon!"

Frankly, I'd be quite happy if IDEA simply supported the "best of" bleeding edge CFML syntax right now, in general. I'd rather have the above "errors" overlooked as valid when coding for CF9, as opposed to showing as errors when I'm coding for Railo. Coding an open source project to support something like CF8, CF9, Railo X and OpenBD X requires good testing--the IDE syntax highlighting seems to much less important, IMO.

So, for me, if IDEA simply validated syntax that would run on CF10 and/or the latest Railo, I'd be a happy camper! I realize that this doesn't suit everyone, and there are valid use cases for additional support, but I'm guessing I'm in the majority, and this is a much easier improvement for JetBrains to target.

Cheers,
Jamie

Matt Quackenbush

unread,
Oct 2, 2012, 9:50:36 PM10/2/12
to cfml-plugin-fo...@googlegroups.com

+1 :-)

Sent from my Samsung Galaxy SII

Mark Drew

unread,
Oct 3, 2012, 4:10:33 AM10/3/12
to cfml-plugin-fo...@googlegroups.com
Hallo, first time I am posting here... but may I ask a dumb question? 

Who actually codes the IntelliJ CFML plugin? Is there anyway I can help? (I have a little experience with both Railo and writing IDE's) 


Mark Drew
 
Railo Technologies Professional Open Source
skype: mark_railo ma...@getrailo.com
+44 7971 852296 http://www.getrailo.com

Kai Koenig

unread,
Oct 3, 2012, 4:19:39 AM10/3/12
to cfml-plugin-fo...@googlegroups.com
It's done by Jetbrains - part of the commercial edition of IntelliJ IDEA.

Cheers
Kai

Mark Mandel

unread,
Oct 3, 2012, 4:27:32 AM10/3/12
to cfml-plugin-fo...@googlegroups.com
Personally, I'd rather have the debugger be part of the CLI tooling in Railo...

But I'm just one lone voice amongst the throng...

Mark

Mark Drew

unread,
Oct 3, 2012, 4:28:48 AM10/3/12
to cfml-plugin-fo...@googlegroups.com
How would you see that working? your voice might be better if you weren't wearing a thong... or did I mis-read that?

Mark Drew
 
Railo Technologies Professional Open Source
skype: mark_railo ma...@getrailo.com
+44 7971 852296 http://www.getrailo.com

Mark Mandel

unread,
Oct 3, 2012, 4:42:15 AM10/3/12
to cfml-plugin-fo...@googlegroups.com
Like Pry-nav or Pry-debugger for ruby:


I don't want a debugger. I want a REPL.  Let's do this for real.

Mark

Dave Merrill

unread,
Oct 3, 2012, 12:20:23 PM10/3/12
to cfml-plugin-fo...@googlegroups.com
Although I brought up the multi-dialect feature  I too agree. It's a nice-to-have, not critical. I frankly don't expect it, however useful it might be to a certain segment of developers that happens to include me. Only way I could see it happening is if JetBrains figured out that it was incredibly simple to do, and didn't kill performance too badly.

I only brought up a debugger in the context of the "how Jetbrains could better penetrate the CFML market" conversation. I'm sure Jetbrains is aware that CFML user would like it and it would likely attract new customers, it just hasn't been high enough priority given the cost to do it. It's the only reason I use CF Builder, and I wouldn't want it to feel rejected :). Actually, I would...

Dave
Reply all
Reply to author
Forward
0 new messages