I agree that from the business point of view the most important figure is the lowest cost of ownership. Also, that a most cases good CF programmer can build an app cheaper then a comparable app in PHP even when considering the higher initial cost of CF server and the slightly higher wages of the CF programmer. (due mostly to rapid app development.)

However the money argument falls flat in one overriding aspect: Most non-technical business people do not understand technology. Without this knowledge they are more than likely to look at pure price comparisons without knowing about the real cost of labor and maintenance over time. When this happens, the cost of PHP (free) along with a cheaper source of programmers will always win.

Here is a personal example of business people calculating the costs...
Right before I started with CF, I was using everyone's favorite language to bash: COBOL and JCL. I worked at a large telecommunications company (component of the DJIA,) and I was outsourced followed by offshored. The outsourcing company said that it was purely financial in nature in that a local developer cost $90/hr while the cost associated with a offshore programmer was $30/hr. (These were the billing total of the outsourcing company and not only included my wages by my share of my manager wages and so on up through the levels.) I was able to quickly secure a new job when the off-shoring occurred which meant that my position was the first to be replaced.

I kept close ties with my co-workers and found out that the first task of my replacement(s) was to remove a single step from each of 20 related JCL procedures. (They were clones of each other.) I could have easily done an tested this process in 8 hours; however the three (yes, three) replacements that did this work billed a total of 120 hours to complete it. Admittedly, I had pre-existing knowledge of the system, but anyone that knows JCL and is told the exact step to remove would not need much additional knowledge in order to accomplish the task.

But, not only did it take them so long to accomplish, when they moved the procs to the production environment nearly all of the jobs failed. They failed because of parameter overides in the changed procs. Essentially, when removing the step, they failed to remove parameters that were only referenced in that step causing a syntax error in the JCL. Long story short, they never tested what was moved or even performed a simple syntax check on the modified codes.

Now, here is where the money kicks in:
Cost to client for me to do it: $90 x 8hrs = $720
Cost for offshore devs to do it incorrectly : $30 x 120hrs = $3600  
Clearly my knowledge and experience shows that by keeping me, the client would save $2,820.

However, to the non-technical business manager assumes that all programmers are the same, and in doing so thinks that I too would take 120 hours costing $10,800. So to the non-techie, he/she thinks they saved the company $7,200 when it really cost the company $2,820 more. (of course at this time any MBA would ask for a bonus/raise for saving so much money and get rid of anyone that argues against their math.
:-)         )

So money is the most important aspect to a business person, but make sure that you include educating the business people into the realism of development.

--Frank

On 07/10/2010 01:44 PM, Shane Heasley wrote:
As is usual, what is missing from this conversation is ... money.
 
Geeks get emotionally attached to their technologies.  The like this, they love that.  This is "cool".  To some it borders on religion - "Open source or death!".
 
But what is important is the money.  Business owners, non-profits, whatever, hire us to build a tool to fix a problem.  We should choose the technologies to build that tool that will provide the business owner with the lowest cost of ownership.  In most cases everything else is secondary.
 
I cannot think of any compelling reason to use PHP except that the company's IT team uses it and already know it.  Even then, it would likely be cost effective over the long run to switch to CF.
 
asp.net does have some compelling features and it is the only real competing technology to CF in my opinion. 
 
RoR has compelling features - but hasn't gained enough traction that I would recommend it as an enterprise level solution to any decent sized client.
 
PHP is for amateurs and .net costs more to develop in.  Java is ridicules to develop in from a cost perspective.  Why use Java when you have a high level abstraction called ColdFusion that saves vast amounts of work and homogenizes the code base?
 
Bottom line - you can build and maintain web apps for less money using ColdFusion.  Period.  CF is the clear choice.
 
Now - Adobe needs to get their marketing act together.  The have the best technology.  CF needs resources put into development (time to get rid of the stupid bugs) and they really need to focus on the top 1,000 companies in the US.  Unless, they have decided that they are just going to abandon CF if it doesn't grow organically?  Personally, I think they should hire a small sales force to direct market to key (large) accounts.  Too many CIO's have no idea of the benefits of CF, or worse, think it is a dying technology.
 
Shane Heasley


From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Derrick Peavy
Sent: Friday, July 09, 2010 10:49 AM
To: discussion@acfug.org
Subject: [ACFUG Discuss] I find myself where I have tried to avoid going. A short rant and then a question. Would love some feedback.

I know this is kind of long and winding, but I'd love some feedback.

------------

Starting a project.  

And, as I've discussed my coding abilities with people I meet they are continuously giving me looks of bewildering and beguiling amusement. Not talking about any Dick and Jane. I'm talking about folks from the ATDC, other entrepreneurs, coders. 

Whenever I say that I use CF, they act like someone just stepped out from the stone age.  And, I don't care - that's their problem. I make money from my skills and can handle 500k page views a day without breaking a sweat in my applications and sleep well knowing I have no errors.  But, their lack of understanding that CF even still exists baffles me. It seems that people believe that the only web language that exists now is PHP and possibly, Ruby (ergo, PHP).  (Hey, Bank of America is running CF. Maybe that's not a selling point?)

But on this new project, the folks say we need to do it in PHP so that it can be sold off if the project works. Ok. Fine, I get that - I really, really do and I'm actually in favor of it because I don't want a pissing contest at that future point.  But I'm not coding it in PHP. No such fracking way. I'll help, offer guidance on DB design, help you translate CF code to PHP if you want. Whatever.

And yet, these people keep saying, "Hey, it's easier for you to learn PHP if you know CF, than for me to learn CF as a PHP developer." That makes no sense to me.

On one code example (in PHP), the database connection was established on line 13 in the file  >>>>  $con = mysql_connect(db/id/pw)   >>>> and then the connection was not closed until line 92 >>>>   mysql_close($con);  >>>>>> 

Within those 80 lines of code, they did 2 http calls to external web services, created two arrays, threw in 40 lines of comments and then somewhere in the bottom, finally made a SQL statement. 

WT-Flying-Frack????

Is this what people accept? Granted, this was by someone who admittedly said, they were a horrible developer - but then in the same breath asked me why this would be a problem and I kind of stood there looking like I'd been hit by a bat.

I've never been shy about not being a university trained developer. But I've worked with database design since 1993, and with CF for over 12 years. So, hey, cut me some slack.  I know I can't give you the lingo about why an 80 line database connection is bad in pure technical terms, but I damn well know that the faster, cleaner, shorter you make your database calls, the better off you are for so many reasons. 

So, here's the question(s). 

How do you explain to someone the basic core ideas behind CF and PHP. PHP is an Apache module. CF runs on a java servlet or on Jrun, Tomcat, etc. I'm honestly not the best to explain it.  But I've seen the performance side, and it's good. And I've seen the code bloat in PHP files and it's bad. Yeah, I know anyone in any language can write bad code. But damn if PHP doesn't seem to be full of it. 

An ATDC person asked me if CF was an interpreted language. I said yes. And then he acted as if the argument was done because so is PHP.  And so, that means what?... Therefore the two are the same and equal? Ergo, you go open source because everything thinks thats best? Bad argument. 

How do you explain to someone the technical idea behind something like CF? 

How do you explain that even in writing a PHP page that no one but you will ever use, that you don't do an 80 line open database connection call unless it's 80 lines of SQL and then, that's a whole other issue?

_____________________
Derrick Peavy
404-786-5036

“Innovation distinguishes between a leader and a follower.” -Steve Jobs
________________________





-------------------------------------------------------------
To unsubscribe from this list, manage your profile @
http://www.acfug.org?fa=login.edituserform

For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by FusionLink
-------------------------------------------------------------
-------------------------------------------------------------
To unsubscribe from this list, manage your profile @
http://www.acfug.org?fa=login.edituserform

For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------

Reply via email to