The Dopefly Tech Blog

<< The Dopefly Tech Blog Main page

Socially Deprecated Features

posted under category: Software Quality on March 13, 2012 at 1:03 pm by MrNate

A discussion erupted recently, on one of the various discussion groups i subscribe to, about deprecated features that are not really deprecated but more like, not encouraged when thinking about future applications moving forward in development time.

It's hard to explain in a definition, so a case in point is needed.

The Application.cfm file is a ColdFusion construct as old as I can remember. It's not going away, but it is essentially feature complete.

More recently, ColdFusion has given us Application.cfc. The capabilities that gives us are far above and beyond what a had previously, and developers are encouraged to upgrade their applications or at least use Application.cfc in their next projects.

In this case, Application.cfm has been socially deprecated.

Here's another one: Fusebox. It's not a language feature so much as a framework, but if your application uses Fusebox, your program is socially deprecated. Now my friend John is bringing it back, but for the past 5 years, if you have started a new app with Fusebox, you used a socially deprecated framework and your "cool kids" card has been revoked.

using socially deprecated features and frameworks puts your application at risk for falling into technical debt. It's a slow roll down a long hill that will show in bugs that are never fixed, areas of the application that everyone avoids because they are afraid of causing errors, and eventually, lack of knowledgeable developers which will leave you stranded.

The way to avoid social deprecation is to keep engaged with the developer community. Read the blogs, engage in the discussion groups and visit the user groups.

Can you think of anything else that's socially deprecated? I can think of a bunch of things. CFUpdate. Prototype.js. Old stylized code like capitalizing tag and attribute names. Php. Internet Explorer. CFPod. The list goes on and on.

Post A Comment!
On Mar 13, 2012 at 11:15 AM Dominic Watson (http://fusion.dominicwatson.co.uk) said:
CFAjax?! I think a book, "ColdFusion, the Good Parts" is in order ;)

On Mar 13, 2012 at 12:06 PM Nathan Strutz (http://www.dopefly.com) said:
Dominic - Awesome idea!

On Mar 13, 2012 at 12:55 PM Henry (henryho167 from gmail.com) said:
tons...

- CFFORM (flash)
- CFINSERT / CFUPDATE
- CFWDDX
- CFX Tags
- Verity Search...
- Flex?
- event gateway for async CFC (use cfthread instead)?

On Mar 13, 2012 at 1:01 PM Nathan Strutz (http://www.dopefly.com) said:
Yes, yes and yes. A great list, thanks Henry!

On Mar 13, 2012 at 4:57 PM Henry (henryho167, who breathes gmail.com) said:
- CFMODULE? prefer CFFUNCTION
- StructInsert(), use strutname[key] = value
- setVariable(), use scope[varname] = value

On Mar 13, 2012 at 7:43 PM Jaime Metcher (http://lagod.id.au) said:
This is actually the dominant mechanism by which geeks rule the world. Macs were socially deprecated (cue reel of tech support staff pulling long faces and slowly shaking their heads) until Apple provided a command prompt, a feature useless to the majority of Apple's target market. Definitely IE, which geeks have managed to socially deprecate despite the absence of genuine end-user discomfort with it. And the rise of Android is largely due to geek-driven social deprecation of the iPhone.
Post A Comment!