By Peter Bell

ColdFusion Isn't a Programming Language?!

Just saw a tweet from Brian Meloche made last night. I'm sure that I am way late to this party (although I've not seen any postings - damn MXNA being down), but WTF? On the tiobe page it now says:

"Richard Bremner pointed out that ColdFusion is not a programming language. It is a framework comparable to JSP and ASP. As a consequence, ColdFusion has been removed from the TIOBE list. All its history has been deleted, which means that the history of the index has changed a bit as well. "

Further down, a programming language is defined as follows:

"A language is considered a programming language if it is Turing complete. As a consequence, HTML and XML are not considered programming languages. This also holds for data query language SQL. SQL is not a programming language because it is, for instance, impossible to write an infinite loop in it. On the other hand, SQL extensions PL/SQL and Transact-SQL are programming languages. ASP and ASP.NET are also not programming languages because they make use of other languages such as JavaScript and VBScript or .NET compatible languages. The same is true for frameworks such as Ruby on Rails, ColdFusion, Cocoa, and technologies such as AJAX. Finally, we have also excluded assembly languages, although Turing complete, because they have a very different nature."

ColdFusion is Turing complete, and you can write entire applications using CFML (as with any other web language, HTML will usually also be required). I have a hard time seeing how CF is just a framework. It's true that it is compiled down to Java (or the CLR for Blue Dragon.NET), but Ruby is compiled down to C - doesn't mean it isn't a programming language. Of course, whenever you try to define things you can get into tricky edge cases (I don't understand why classic ASP wouldn't be considered a programming language), but I look forward to finding out more about the precise definitions used for this discussion.

On the bright side:
(i) Tiobe actually noticed ColdFusion. With its recent rise in popularity it's good to see it is being paid some more attention.
(ii) The index is more of a distraction than anything else. While I disagree with the reason it was removed, I'm not convinced it is a bad thing for ColdFusion just to "not play this game".

I got a quote to get out and meetings all day so this was a quickie. Looking forward to something with a little more research from someone else later today.

Comments
It's okay Peter... but while we're at it, I would like to just 'point out' that I'm really, really, really, incredibly good looking.

Apparently 'pointing something out' is all that is necessary to make something 'true' ;o)
# Posted By Mark Mandel | 5/5/08 9:48 AM
Can CF claim ECMAScript for CFScript, and take Javascript's place on the index?
# Posted By Sammy Larbi | 5/5/08 9:54 AM
So not only is ColdFusion dead, it wasn't a programming language to begin with?

I'm so confused.
# Posted By Jim Priest | 5/5/08 9:56 AM
So PHP isn't a programming language either since it makes "use of other languages such as JavaScript and VBScript or .NET compatible languages. " I am not familiar but isn't PHP written in C like CF is java.
# Posted By Mike Henke | 5/5/08 10:02 AM
Here was my message to info@tiobe.com

---
Subject: ColdFusion is a framework AND a language

Most ColdFusion application are written completely in ColdFusion, not some other language as is the case with ASP and JSP.

A very small minority of developers/applications (much less than 1%) use CF as a framework for Java or .NET.

If you de-list ColdFusion you should do the same to PHP.
# Posted By Dan Roberts | 5/5/08 10:05 AM
Why is PHP still on the list then?
# Posted By Chris Velevitch | 5/5/08 10:08 AM
Funny though since the cf.Objective() keynote was the first time I remember Adobe publicly acknowledging ColdFusion's place on the TIOBE list. Not saying there is any connection, just an unfortunate coincidence. Nonetheless, I agree with your assertion that it's better not to play this game. I also heard that Richard Bremner called Mark Mandel lanky.
# Posted By Brian Rinaldi | 5/5/08 10:16 AM
Who is Richard Bremner? Sorry for my ignorance. I google him and nothing pulled up.
# Posted By Mike Henke | 5/5/08 10:18 AM
Yes who is he? He must be hung!!!

;)
# Posted By Big Mad Kev | 5/5/08 10:28 AM
# Posted By Big Mad Kev | 5/5/08 10:30 AM
It kind of seems a little confusing to me... because as pointed out in this thread of comments, by exclusion and definition it seems to eliminate other "programming languages".

I'll just stick to pretending I'm using a language for today I guess.
;-)
# Posted By Yves | 5/5/08 10:31 AM
a quote from the site: The ratings are calculated by counting hits of the most popular search engines. The search query that is used is +"<language> programming"

Peter, your blog entry is a good one :) Next survey Coldfusion will be 1+.

As a community of cf bloggers I guess we all need to start acting more "responsibly" and use the term programming when we refer on our blogs to the fun we have building cool stuff with CF.

I have added your post to Digg
# Posted By zac spitzer | 5/5/08 10:33 AM
I was about to answer a question on LinkedIn about "are there still CF developers around?" last night when I found this. I just kind of stared at Tiobe thinking, "well at least they delisted ASP and l.NET too". Then I fired off a Tweet and a note to Ben Forta.
# Posted By Adrian J. Moreno | 5/5/08 10:48 AM
# Posted By Adrian J. Moreno | 5/5/08 11:16 AM
Oh ROFL... Richard Bremner is hilarious!..

Zac, nice tip ;)
# Posted By Justin Carter | 5/5/08 11:18 AM
here were my comments to: info@tiobe.com

Hi,

I have been a ColdFusion programmer for 10 years and have to tell you that ColdFusion IS a programming language and should be included in the programming index. On the job sites and on our business cards, ColdFusion programmers are referred to as , "ColdFusion Programmers". It is common to refer to CF programmers as such and not CFML programmers.

However, if you want to be very specific, the language is more accurately called CFML. ColdFusion Markup Language. It is the core component of the ColdFusion application suite. It is a language with functions, variables, database connection capabilities. Procedural style functions are also available through CFScript. CFML is generally considered a dynamic language. However, various tags offer the ability to type-check input parameters (eg: cffunction, cfparam, cfqueryparam) if the programmer declares their type specifically.

See: http://en.wikipedia.org/wiki/ColdFusion_Markup_Lan...

Also see the below excerpt from the Wikipedia entry on ColdFusion http://en.wikipedia.org/wiki/Adobe_ColdFusion

The primary distinguishing feature of ColdFusion is its associated scripting language, ColdFusion Markup Language (CFML), which compares to JSP, ASP.NET, or PHP and resembles HTML in syntax. "ColdFusion" is often used synonymously with "CFML", but it should be noted that there are additional CFML application servers besides ColdFusion, and that ColdFusion supports programming languages other than CFML, such as server-side Actionscript and embedded scripts that can be written in a JavaScript-like language, known as CFScript.


ColdFUsion, CFMX, CFScript, Cold Fusion Markup Language and CFML are the same thing in the CF programming world.

Please add ColdFusion back to your list at: http://www.tiobe.com/index.php/content/paperinfo/t... and restore the history.

Thank you,

David
# Posted By David | 5/5/08 1:18 PM
On the other hand, it's good to see Pascal rocketing up the list. WTF?
# Posted By Josh Nathanson | 5/5/08 1:54 PM
Brian Rinaldi has uncovered the truth behind CF. Thanks Neo!

http://www.remotesynthesis.com/blog/index.cfm/2008...
# Posted By Peter Bell | 5/5/08 4:43 PM
i was surprise when i saw the topic of my feed watcher. i thought is was a kind of joke or something.

I agree to the fact that CF is both a programming language and also a framwork.
we all know that CF can stand on its own as Webservice, Gateways, components etc

frameworks can't do any of these.
# Posted By Arowolo M.A. | 5/6/08 7:11 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.005.