CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeff Lynch [MVP]

Everything E-Commerce!

Off Topic: Does RAD Really Kill?

Jeffrey Palermo stoked the fire a little bit in his recent post RAD Kills.

Hummmmmmmmm............

"BizTalk (and the new WF) generates C#, xsd, xslt and xml code behind the scenes and does a better job of it than I could. Must be RAD!"

"ASP.NET generates C# and HTML code behind the scenes and does a pretty good job of it (in 2.0 at least). Must be RAD!"

"Commerce Server contains tons of namespaces, classes, methods and properties I never wrote and never could for that matter. Must be RAD!"

"The .NET Framework itself contains literally millions of lines of code I never wrote and would never want to (thank you very much). Must be RAD!"

Looks like I'm gonna have to dust off my old assembly language texts if I don't want to die of RAD poisoning!

Best regards,

Jeff Lynch
A "RAD" (End-User) Developer

 



Comments

ScottBellware said:

Hmmm... dunno if *anything* that generates code is RAD.

I would define RAD partly as anything that generates code that tightly couples itself to something else external to its own concerns has a good chance of being RAD. For example: using ASP .NET classes that make calls directly to a database by using command text persisted in the templates of UI controls. This kind of thing cripples testability which shortens the expected lifespan of an application or unnessessarily deflates the reasonable expectation for sustained developer productivity over the lifespan of the app.

For me, RAD is something that trades an artificially inflated perception of productivity for the expectation for sustainability inherent in contemporary test-centric development practices.

RAD is the soul of an application sold for a cheap, fleeting thrill.

RAD is sleeping with a really hot chick with the extremely poor personality, getting her pregnant, and having to spend the rest of your life listening to her.
# February 21, 2006 11:20 PM

jlynch said:

Scott,

You kill me, man! Your last definition of RAD is by far, the best I've ever seen. Have you been talking with my wife again?

Seriously, in the old, old days we coded one line at a time on punch cards. When terminals were first introduced into the workplace, many "old school" programmers said "no way, not me. If you don't load it into a card-reader, it ain't real code". To them a terminal was RAD. As a degreed Mechanical Engineer (with six US patents by the way) I remember moving from pencil and paper drafting to CAD CAM and all the fuss over "real engineers design on paper". To them CAD CAM was RAD.

I believe the definition of RAD depends upon your perspective and your experience. I always write SQL stored procedures and call them from a business object class (BLL) but that's my "personal preference" at least for now. Until recently (ASP.NET 2.0) I'd never use drag & drop for web forms development and always wrote my HTML, JS and CSS by hand. After looking at the code generated by the new ASP.NET 2.0 server controls (including the new Atlas stuff) I'm not sure I could do better by hand.

Another great example is BizTalk Server (and now WF). All it really does is generate C#, xsd and xslt behind the scenes and host it in a runtime environment. A really good developer could write this code "by hand" (obviously someone did) but the question is "WHY BOTHER?".

I guess my point is that RAD (like beauty) is in the "eye of the beholder". Today's RAD may be tomorrow's mainstream technique. My (somewhat limited) perspective as an "end-user" developer is to use whatever tools best fit the job.
# February 22, 2006 8:47 AM

pvanooijen said:

Jeff,

as I started with punch-cards as well (missed the tape though) : amen to that !
# February 22, 2006 10:06 AM

David Hayden said:

Well said, Jeff!

Embrace RAD in all its form when it makes perfect sense.
# February 22, 2006 12:18 PM

Sahil Malik said:

I *LOVE* this blogpost.
# February 22, 2006 7:18 PM

jlynch said:

I need to make a small correction to my post. An old friend of mine (and hardcore mainframe programmer) reminded me that assembly language is a RAD tool for machine code. I guess I've been "RAD" for a long time!

--
Jeff
# February 22, 2006 7:55 PM

Peter's Gekko said:

In a pleasantly provoking post Jeffrey warns us against the dangers of RAD. What RAD stands for in his...
# February 23, 2006 6:23 AM

Peter's Gekko said:

In a pleasantly provoking post Jeffrey warns us against the dangers of RAD. What RAD stands for in his...
# February 23, 2006 8:44 AM

Jeremy D. Miller -- The Shade Tree Developer said:

Some of my CodeBetter neighbors have been posting and arguing about the relative merits of Rapid Application...
# February 26, 2006 9:21 PM

Jeremy D. Miller -- The Shade Tree Developer said:

[EDIT] Before I start, let me make this very clear.  RAD is not evil, it doesn't kill, and you're...
# February 26, 2006 11:56 PM

Jeremy D. Miller -- The Shade Tree Developer said:

[EDIT] Before I start, let me make this very clear.  RAD is not evil, it doesn't kill, and for a...
# February 26, 2006 11:57 PM

Jeremy D. Miller -- The Shade Tree Developer said:

[EDIT] Before I start, let me make this very clear.  RAD is not evil, it doesn't kill, and for a...
# February 26, 2006 11:58 PM

Jeremy D. Miller -- The Shade Tree Developer said:

Author: <a href="blogs/Jeremy.miller">Jeremy D. Miller</a><br />Some of my CodeBetter neighbors have been posting and arguing about the relative merits of Rapid Application Development. There was also quite a bit of internal discussion, part of which was to stop being so opinionated in the blog posting and get back to technical posts. Let me get this one out of the way, then I'm back to coding.
# February 28, 2006 8:56 AM

Jeff Lynch said:

If you've read many of the codebetter.com blogs over the past few weeks, you can tell that as a developer...
# March 20, 2006 9:06 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!

Our Sponsors

Free Tech Publications

This Blog

Syndication