Steven Erat's Blog
 
 
Viewing By Entry
 
 

TalkingTree  Perspective on ColdFusion's Big Question (TM)

 

Just wanted to share a reply I made on GetSatisfaction to provide a historical perspective to the question "What really is the future of ColdFusion?". Before you ask what the future holds, its good to look back to see where ColdFusion has been since its inception in 1995.

CFMX 7 (released Feb 2005) was the release where product adoption saw the first major boost since the "MX" overhaul. Since CFMX 6 (released June 2002, in a down economy) was a re-architecture in Java/J2EE from the earlier CF5 (released May 2001) written in C++, there were few new features introduced and there was an associated learning curve now that the product had a Java foundation.

Problems in the re-architecture surfaced, slowing new adoption of CFMX6, leading to the point release 6.1 (released July 2003) which for the most part corrected all the issues and restored the waning product reputation.

ColdFusion MX 7 was a feature rich release, which attracted many new developers, most of whom had begun to grok CFCs and Java integration. The post 9/11 economy had generally recovered as well, adding to an increase in technology spending.

With most product release cycles, there's a decline in sales or tail at the end, and ColdFusion 8 (released August 2007) saw another major boost in adoption over the tail as it too was a feature rich release that provided solutions to many contemporary problems in Web Dev.

Frankly, IMO, nearly all negative connotations (i.e. "Legacy Software") about the ColdFusion Web Application Server are due to anachronistic experiences with earlier versions of the product in the mid/late 90's. Those opinions seem to be expressed from developers that are less familiar with the revisions and enhancements found in recent ColdFusion versions. (Case in point)

[Added note: The easy learning curve, weak typing, and case-insensitivity in the product are among some factors that may have been conducive to poor programming practices... i.e. give them enough rope to hang themselves, so to speak. Does anyone remember memory corruption from not locking shared scope variables? That whole conundrum went away with CFMX]

Personally, I think ColdFusion is a fantastic product and I love using it. It has an extensive, contemporary tag library on a stable Java base and Web application development time can be short and sweet due to its perpetual focus on RAD.

ColdFusion 9 is well known to be underway and will further address solutions to where technology is going. Furthermore, risk due to proprietary software is mitigated by the release of third party CFML engines which can provide a core of language features if not the full, rich diversity of language found in Adobe's product.

To throw in a plug for myself, I'm currently seeking full time, permanent employment in the greater Boston area. See: Adobe Expert Seeking ColdFusion / Flex Dev or QA

View Steven Erat's profile on LinkedIn

 


Comments

Very well stated Steven. I posted a link on DZone for this post, so hopefully others will see it.


@Steven, good summary of this history and adoption of ColdFusion. I'm one of the folks that remember the shared scope conundrum as you called it. Only I don't think it has gone away. I still see instances on ColdFusion 8 where NOT locking Application, Server, or Sessions variables result in race conditions, memory corruption, or general bad juju with expectations of written code.

I feel comfortable telling people it's okay to not lock read access but I still encourage my team to exclusively lock write access to shared scopes. I tell my team to cover their A.S.S. and lock Application, Server, and Session variables as a best practice for ensuring a healthy server.


Well, this is a tangent, but locking for potential race conditions and application integrity is still needed when applicable, but the wild reports that were attributed to the memory corruption seen in CF5 declined and went away after MX, as measured by the support tickets opened at Macromedia.

For instance, I recall one customer whose contents of sent CFMAIL occassionally included random contents off the filesystem such as the hosts file. Chunks of unrelated things in memory would end up appearing in strange places... log files, mail, contents of variables... It was truly wild, and impossible to reproduce exactly.

On Windows, the behavior was the craziest because the server would typically chug along, still processing pages with the corrupted memory. On Unix it was easier to identify because the server would just flat out crash, very quickly under load, leaving behind telltale traces of crash behind, which was typically mulled over carefully by tech support engineers like me.

The recommendation was to implement locking of shared scopes (properly and thoroughly), and that would resolve those types of mysterious behaviors. I think the bad juju you refer to may be due to unanticipated results of race conditions and such, not the memory corruption per se.


Good article Steven! Always good to see positive - and authoritative - words rebuking ColdFusion's "legacy" reputation.

On the locking, I'm with Steven: if you have race conditions that can affect the results of your code, you need locks on writes. Most of the problems I see around shared scope access are due to a lack of understanding of multi-threaded programming in the CF community, not faults in the server itself. In particular, CFCs stored in shared scopes trip people up a lot if they don't understand multi-threading.


I do agree that the real crazy problems of old with shared scopes are pretty much gone. I do know developers who say CFLOCK has gone the way of the dinosaur and they never lock shared scopes. I don't subscribe to this idea since I have seen examples where not locking has caused session corruption.

I don't have any specific examples to give. My only point is that a strategy around "you don't need to lock anymore" isn't really valid. Just to clarify for anyone who may not be reading all the comments, I'm not saying this is what your article said Steven, I'm only pointing out that your article reminded me of folks who think locking is no longer needed.

Definitely a great blog post (and yes a bit of a tangent I started, sorry for that).


LOL! And Application.cfm/OnRequestEnd.cfm are still case sensitive after, what, 13+ years?


Well, they are on non-Windows platforms. Decisions to keep quirky, vestigial behavior in a product typically arises out of the desire to not break compatibility where ever possible. For every customer that wants things to work "the right way", there's 5 other customers that would be complaining that their application would break if that change was made.

The ColdFusion engineering team still wrestles with questions like this. Most of the decisions to keep "quirky" behavior like this around were made during the development of Neo / CFMX 6.0 during the re-architecture. I was part of an internal group called CFEG or the ColdFusuion Expert Group, that was tasked with analyzing every potential compatibility problem between CF5 and CFMX 6. Debates were always heated, but most often leaned towards not breaking compatibility.


Thanks to Charlie Arehart for adding to the discussion on GetSatisfaction and for putting the conversation back on track about the future rather than the past. He reminds us that the ColdFusion Marketing Manager has a ColdFusion Evangelist Kit available on her blog which includes a product roadmap:

http://www.webbschofield.com/index.cfm/2008/9/15/C...


Hey Steven, thanks for the mention. It's amazing, because I submitted that no more than a couple of minutes ago! :-) I did in fact learn of the discussion by reading your entry here, and was just about to add a comment to thank you for bringing it to our attention. Hope others will join in. Of course, it's almost inevitable that the knuckleheads who like to knock it will come out. Let's hope that even if they won't read our replies, thinking people will.

So another reason I wanted to comment here, as well, was to welcome you back into the blogosphere. I don't know if everyone caught your mention at the end of your quoted text above indicating that you were looking for work. I had heard that you were one of the folks caught up in the big layoff, which was such a shame to hear, but I'm sure you'll land on your feet. I certainly wish you well, and so glad to see you seeking a role in CF and to hear you still writing here about CF! If we lost you, that would be a LOT of valuable knowledge lost. You've certainly written a lot over the years, but if your new gig afforded you to continue to blog, I'm sure there's much, much more you could share. Let's hope so!


Thanks for your encouragement Charlie. I have to say that even though I'm trying to be positive and use this time to improve my web skills, most of the time the uncertainty of unemployment makes me ill. I'm very fortunate to have received lots of support from all the people I've known in the CF community, and I hope to pay it forward when I get back on track.

I certainly enjoy the interaction of blogging, and Twitter is providing a very immediate sense of community again. While working in QA for the last couple years the subject matter was not to be discussed publicly, so I hope become involved in CF/Flex development so that I can once again share my experiences over the blog on a regular basis once again.


Oh wow, awesome to hear that the relative quiet was an imposed one, and that the gag order has been lifted. Now I'm really excited to hear what may come from you. As for the uncertainty of employment, I have some thoughts to share privately. Actually, I tried to share them some weeks ago when I first heard you had left, but the address I had was your adobe one, and it bounced. Can you drop me a note directly (charlie at carehart.org). Hope I can help at least short term.

One other thing: I notice that your captcha uses words familiar to CFers. That's nifty. While I usually don't like long letters, at least with them being real words it's not so annoying. :-) I see that it's LylaCaptcha, but I haven't seen this elsewhere. Is it a customization you've done?


 

 

Calendar

 
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Search This Site

 
This is an exact search only

About This Site

 
I live west of Boston and work as a Software Engineer with ColdFusion and Flex, specializing in Linux. Recently I graduated in Professional Digital Photography from CDIA.
More about me

Recent Entries

 
Recent Tweets for Wed July 01..
I'm Twittering This! or Dude..

Recent Comments

 
Posted By Marie Payne:
I really enjoyed those pictures you took in Alaska. Thank you so much for sharing, for I've been ill and had major surgery. I can't get out and do t ...

Posted By Julia:
First time that I see such photos. Too bad that I don't have Photoshop. I have to ask somebody to do them for me.

Posted By Steven Erat:
See also this collection of images from Dewey Mclean of his experience in the Army in the Korean War [link] His photographs and maps are very we ...

recently played

 
Zombie Nation
by Future Shock
on 90's Club Hits Reloaded
90's Club Hits Reloaded, Future Shock

now playing, a plug-in for itunes

Categories

 
RSS Adobe (31)
RSS Bicycling (9)
RSS Blogging (38)
RSS Books (13)
RSS Breeze (12)
RSS CFMX Podcasts (10)
RSS ColdFusion (420)
RSS Computer Technology (51)
RSS Events (25)
RSS Flash (3)
RSS Flex (20)
RSS Gadgets (10)
RSS HiTech Industry (16)
RSS Java (25)
RSS Learning (57)
RSS Linux (70)
RSS Mac OS X (22)
RSS Macromedia (27)
RSS Meetup (34)
RSS New England (62)
RSS Odds & Ends (25)
RSS Outdoors (32)
RSS Personal (29)
RSS Photography (110)
RSS Photoshop (29)
RSS Podcasts (18)
RSS Rants (19)
RSS Restaurants (8)
RSS Science (34)
RSS Spain (16)
RSS Travel (42)
RSS Twitter (2)
RSS Video (20)
RSS Webcam (3)
RSS Writing (10)

Blogs I Read

 
Terrence Ryan
Ben Forta
Ray Camden
Kinky Solutions
Dan Vega
Gary Gilbert
Simeon Bateman
Red Hat Blogs
O'Reilly Digital Media
O'Reilly Radar
John Nack
The Strobist
Scott Kelby
Matt Kloskowski
Joe McNally
Digital Photography School
Engadget
Science Blog

RSS

 


Add to Google
Add to My Yahoo!

Aggregated By

 


Consumed By Feed-Squirrel.com
Aggregated by ColdFusionBlogger.org

Credits and Stuff

 
BlogCFC - Free ColdFusion Powered Blog Software
CJM Group - ColdFusion Website Hosting


 
 
blog | photos | flickr | referers | webcam | stats | about | contact
 
Copyright © 2009 Steven Erat. All rights reserved.
This is a personal weblog. The opinions expressed here represent my own and not those of my employer