Monday, May 12, 2008    
Home My Books Blog ColdFusion About Me Back    

Calendar
<< May 2008 >>
S M T W T F S
        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

Categories
 • Adobe (61) [RSS]
 • AdobeMAX06 (45) [RSS]
 • AdobeMAX07 (59) [RSS]
 • AdobeMAX08 (6) [RSS]
 • AIR (95) [RSS]
 • Appearances (103) [RSS]
 • Books (65) [RSS]
 • CFEclipse (14) [RSS]
 • ColdFusion (1078) [RSS]
 • Flash (89) [RSS]
 • Flex (317) [RSS]
 • Jobs (81) [RSS]
 • JRun (12) [RSS]
 • Labs (26) [RSS]
 • LiveCycle (11) [RSS]
 • MAX (141) [RSS]
 • Regular Expressions (12) [RSS]
 • SQL (36) [RSS]
 • Stuff (492) [RSS]
 • Tips (CF Studio) (80) [RSS]
 • Tips (CF) (795) [RSS]
 • Tips (Dreamweaver) (91) [RSS]
 • Tips (Flex Builder) (2) [RSS]
 • Using CF (131) [RSS]
 • Wireless (96) [RSS]

Other BLOGs
 • Ray Camden
 • Tim Buntel
 • Sean Corfield
 • John Dowdell
 • Steven Erat
 • Brandon Purcell
 • Charlie Arehart
 • Full As A Goog

RSS Feeds
 • Feed
 • Subscribe

Join my mailing list and find out about new books and other topics of interest.

Thoughts, ideas, tips, musings, and pontifications (not necessarily in that order) by Ben Forta ...
NOTE: This is my personal blog, and the opinions and statements voiced here are my own.

Viewing By Entry / Main
May 5, 2008

TIOBE, From Hype To Fiction

I've never taken the TIOBE Programming Community Index overly seriously. It's not really a gauge of anything overly meaningful. As TIOBE itself explains:

The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings.

In other words, the index is more of a hypeometer than anything else, and the results posted each month are more of an item of curiosity than anything substantive.

And this seems to be validated by the following statements which appeared in TIOBE's May Newsflash:

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.

I have no idea of who Richard Bremner is, or who made him the authority on the subject, but ... he's either mistaken, ignorant, or some combination thereof. Let's analyze this brilliance:

The Wikipedia definition of programming language is: an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages are defined by syntactic and semantic rules which describe their structure and meaning respectively. Many programming languages have some form of written specification of their syntax and semantics; some are defined only by an official implementation. ColdFusion is indeed used to control the behavior of a machine, it does have syntactic and semantic rules, and it does have a written form.

So, as per Wikipedia, ColdFusion is most definitely a language. But is ColdFusion a framework? Again, let's use Wikipedia which defines software framework as: a code library that is designed to help software development. The idea is that all of the tedious, low-level details of creating an application are already in a reusable package. For a developer, this means you can spend your time worrying about specific problems related to your application, and not the actual building of the code behind it. For example, a developer can quickly and easily access a database using a framework, rather than having to write all of the code required to accomplish this simple task. Well, ColdFusion does indeed include a massive library of pre-written reusable code, and it does indeed attempt to prevent having to mess with tedious low-level details allowing developers to worry about what's important for their application.

So, is ColdFusion a framework? I'd have to say not really. For starters, while ColdFusion may include a software framework, that is not a part of the core CFML (ColdFusion Markup Language). Yes, it is possible to use the provided functionality to simplify talking to databases, but that is not required. The libraries and packages included with ColdFusion are much like the standard libraries that come with all languages, from C to Java and more - they are pre-written libraries that are meant to help developers so that not everyone has to reinvent the wheel, but they are not part of the language itself.

Here's another way to look at it. Imagine you had the ability to write code in plain text files and save them to disk. Then you could run a compiler which would process those files and generate Java bytecode which could be executed inside the Java runtime. Now consider the code you wrote, code that had to adhere to a defined syntax and structure, and which indeed used provided libraries where appropriate, and could then be executed to perform some action. Would you say that you used a language? I'd think so. And that language is called Java. Or, that language may be called CFML, which, just like Java, compiles to Java bytecode for execution. So, to be consistent, TIOBE must include CFML as a language just like Java, or it should remove Java from its index too, just like it did ColdFusion.

The bottom line is that CFML is a language, but ColdFusion is the combination of CFML language plus runtime libraries (what may be called the ColdFusion framework). In other words, if TIOBE truly wanted to improve the quality of their index, they could have simply used "CFML" (or ColdFusion Markup Language) instead of "ColdFusion" as the language name. But writing ColdFusion off as a language altogether demonstrates a remarkable lack of understanding as to what the product and technology actually is.

Related Blog Entries

TrackBacks
There are no trackbacks for this entry.

No trackback URL. Trackbacks are only allowed via interactive form.

Comments
Ben,

Is TIOBE run by a single dictator or is there anyone to which we can appeal this ludricous decision?
# Posted By Rick Mason | 5/5/08 11:13 AM
Man, I was having an identity crisis. This morning I woke up with a dream that I was just a "framework developer" and that I had been living a lie all this time. Whew. Just a dream. I agree that someone at TIOBE is indeed, not paying attention.
# Posted By Todd Rafferty | 5/5/08 11:20 AM
It's probably another case of "I've never used CFML but I presume to know all about it"... I think we should all be used to these ridiculous misconceptions by now :P
# Posted By Justin Carter | 5/5/08 11:27 AM
Thats the most idiotic thing I have ever heard.

I can understand that saying ASP and JSP are not languages on their own as they are part of VB and Java respectively. But CF isn't part of any other language it IS indeed a language just because it's tag based doesn't mean it isnt a language hell PHP is still up there!

Someone should get a hold of the of folks at TIOBE...hopefully they have a backup...
# Posted By Gary Gilbert | 5/5/08 11:32 AM
Ben,

This blog post is very well written.

I found confusion in their reasoning.... I mean, on the one hand, they exclude CFML because of some reasoning but keep others that fall into the same reasoning....

A duck is a duck.

To quote their own guideline "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"....

Okay.... uh.... I don't know if you guys at TIOBE are aware... but you're site is made in PHP.. and seems to be using a fair bit of JS.... etc.... I'm not sure how PHP passes your "Turing completeness" rule by your own standards!

??????

I'm not sure if I could take anything else they write seriously ever again....
# Posted By Yves Arsenault | 5/5/08 12:27 PM
The problem is that the naysayers and cfbashers that live over on slashdot take tiobe seriously because it reinforces their bias against CF.

I would suggest that they re-evaluate their entire index if they have removed cfml then they really need to remove php and a bunch of others in the bottom of the list.
# Posted By Gary Gilbert | 5/5/08 12:32 PM
Email tpci@tiobe.com and tell them that CF IS a programming language (CFML). We are called ColdFusion programmers, not CFML programmers.

Befre they removed it from the list, CF was number 20 in popularity and rising fast.

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.

Please send your emails to tpci@tiobe.com
# Posted By David | 5/5/08 1:06 PM
Email tpci@tiobe.com and tell them that CF IS a programming language (CFML). We are called ColdFusion programmers, not CFML programmers.

Befre they removed it from the list, CF was number 20 in popularity and rising fast.

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.

Please send your emails to tpci@tiobe.com
# Posted By David | 5/5/08 1:06 PM
Ben, your blog post comes across to me as very disingenuous. Did you give TIOBE a chance to respond before you posted this? Did you even contact them?

If you've never taken TIOBE Programming Community Index seriously, why is the omission of ColdFusion so serious? Would you be saying the same thing if ColdFusion had jumped to the top 10?
# Posted By Patrick McElhaney | 5/5/08 4:23 PM
I'll just throw in that I took David's challenge and emailed the folks, saying they should have just renamed it to CFML. Let's hope they'll listen if they get enough push back.
# Posted By Charlie Arehart | 5/5/08 4:23 PM
OK, I sent my email to them. Included the below sentiment.

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

It's so odd that we used to get a bad wrap for being "that server side-scripting language (implemented in C++) that doesn't scale well".
And now that our "language", CFML, get's compiled down to Java byte-code and run in the JVM, it somehow isn't a language at all anymore.
# Posted By Chris Phillips | 5/5/08 4:33 PM
Gary, I hear you, and have indeed heard the same from others. But I personally have not run into anyone who really places much stock in the TIOBE index one way or the other. If you know otherwise then I'd be interested in hearing more (and I'd be rather dismayed too, I think).

Patrick, actually, I have only ever mentioned the TIOBE index once before, back in January 2006, and I did indeed point out back then that I have little faith in the numbers or what they mean. And when TIOBE did report a jump in the CF number recently (putting CF in the Top 20) I did not mention it here at all. So yes, I think that does make me consistent, and not at all disingenuous. And no, I did not contact TIOBE before making my post (not now, nor when they have reported CF rising in the index), but several others did. I did, however, send them a link to the post after I posted it just so they should be aware what was being said about them. Regardless, my point simply is that if they are positioning themselves as the experts, and if they have faith in their own numbers, then a little knowledge about the subject matter should be a prerequisite.

--- Ben
# Posted By Ben Forta | 5/5/08 4:43 PM
You're right to call TIOBE hype. One of their "methodologies" is to search resumes and count the number of people who claim to know a particular language. Nearly everyone claims to know Java, C, and VB. The number of people actually proficient in those languages is significantly lower (as anyone who has tried to hire a programmer knows). As a result, TIOBE's rating for Java, C, and VB is greatly exaggerated. I have no doubt that these are the most popular languages, but their ratings are exaggerated nonetheless.

On the other hand, ColdFusion (and some of the other languages on their list) are known and used by only a few people. Nobody even bothers to put Coldfusion on their resume unless they've actually used it. Certainly, with ColdFusion, there is no epidemic of people who have read, "Learn VB in 8 hours for Dummies" books and then put it on their resume because they want to seem cool. If someone says they know ColdFusion, there's a good chance they actually do. As a result, their rating for ColdFusion might actually be accurate.

And their rating (before they pulled it) showed ColdFusion's popularity increasing.

Bottom line: TIOBE is mostly hype. The signal-to-noise ratio for the majority of their ratings makes those ratings useless. However, the CF rating might be accurate, and that rating was favorable toward CF.
# Posted By Chris | 5/5/08 5:12 PM
We all emailed them asking them to provide a more detailed explanation of why CFML is not a programming language, riiight? I did. Well actually I didn't. I just explained that they are wrong.
# Posted By Kevin Sargent | 5/5/08 5:29 PM
Ben,

It is clear that Tiobe has been mislead by this Richard Bremner guy, whoever that is. Here is a snippet from their FAQ:

"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."

ColdFusion does NOT "make use" of other languages like ASP does. It is written in Java, but then again the same could be said for most of the languages on their list (they are written in another language, but the developer doesn't generally know or care about that). Unlike ASP, we write our code in ColdFusion. ASP developers write their code in C# or VB. The comparison doesn't hold water.

I can see their point about Rails or Ajax, but comparing ColdFusion to Rails just doesn't make sense. It would be better to compare FuseBox or Model Glue to Rails, and exclude those from the list.

I've been toying with the idea of making a REAL community index project, something that could be managed by a community and that would have real science behind it. But who has time for such things? For now I'll just ignore Tiobe, like most everybody else...
# Posted By Jake Munson | 5/5/08 5:30 PM
I just used tiobe's search on Richard Bremner - his name has never been published on their site before.
# Posted By alan | 5/5/08 5:42 PM
To further add to your Java/CF argument, there's another language, called Scala, that compiles to Java bytecode. It is listed at position 50 on the index.
# Posted By Josh | 5/5/08 7:02 PM
I wonder why Delphi is listed? I thought Delphi was a software development package that uses Object Pascal and at the end of the day is compiled down to .NET byte code.

Clearly Delphi is not a programming language.
# Posted By Jeffrey Price | 5/5/08 8:58 PM
Ben,

I read your previous post on TIOBE, and yes, you could not be more consistent.

But it doesn't sound like you and several others gave TIOBE a chance to correct the gaffe before pouncing on them and Richard Bremner. I don't think that reflects well on the ColdFusion community.
# Posted By Patrick McElhaney | 5/5/08 9:30 PM
Apparently, CFML is now a programming language according to TIOBE. However, they (the Standards Company) cannot restore the data.
# Posted By Doug | 5/5/08 9:36 PM
Ok, so Tiobe responded with a lame ass comment at the end of the FAQ page. Here's the thing - "ColdFusion" lists at #20, and "CFML" lists at #135 (according to the FAQ). So, how is this index calculated? It looks like its just a search of the web for references - therefore, if we all blogged more about it, CFML would all of a sudden be a more widely used language?

More importantly, how to we game this system? Its broken, and we all know that, so now its time to show it up as a sham. What would we need to do, collectively, to jump "CFML" back up into the top 20, and then put egg on TIOBE's face?

Cheers,

Davo
# Posted By David | 5/5/08 10:49 PM
Ben - do you think the same conclusion could be made about "SAS" on the tiobe index? While there is a SAS Programming language, SAS is defined on Wikipedia as "an integrated system of software products provided by SAS Institute that enables the programmer to perform:
* data entry, retrieval, management, and mining
* report writing and graphics
* statistical analysis
* business planning, forecasting, and decision support
* operations research and project management
* quality improvement
* applications development
* Data warehousing (extract, transform, load)
* platform independent and remote computing"
http://en.wikipedia.org/wiki/SAS_System

That's quite a menu for just one little programming language - it seems tiobe isn't quite as judicious when it comes to SAS as it was with ColdFusion.

Cheers,

Davo
# Posted By David | 5/5/08 11:08 PM
@David
I got the same lame response, but they STILL claim ColdFusion is a framework in the updated FAQ. Grrrr. Ignorance is bliss... I guess...
# Posted By Kevin Sargent | 5/6/08 12:51 AM
Are they counting CF in java then? or just CF coding doesn't count anywhere anymore?
I think I have to talk to my boss and tell him that I m not a programmer anymore.
# Posted By Daniel | 5/6/08 3:19 AM
Oddly enough, I don't find this surprising and I think this may be symptomatic of a deeper issue regarding CFML, ColdFusion and perception.

In fact, in a way it's not much different than the "ColdFusion is dead" meme that floats around every 6 months.

ColdFusion is dead!
No it's not!
ColdFusion isn't a programming language!
Yes it is!

That underlying perception issue is what really needs to be dealt with...
# Posted By Calvin | 5/6/08 4:41 AM
i think Richard Bremner was just overwhelmed on how Coldfusion could do something much more with little experience
# Posted By Arowolo M.A. | 5/6/08 7:22 AM
I find this site to be a lot more useful in determining the popularity of various programming languages and frameworks:

http://www.indeed.com/jobtrends

Here's a good query that stacks up the following:

ColdFusion
Java
C# / VB.NET
PHP
Ruby
Perl

http://www.indeed.com/jobtrends?q=%22cold+fusion%22+or+coldfusion%2C+ruby%2C+php%2C+java%2C+vb.net+or+c%23%2C+perl&l=
# Posted By Cliff Meyers | 5/6/08 6:30 PM
How will you increase your metabolism (AP1000)
Don't skip breakfast. You will lose weight more quickly if you have a bite to eat in the morning.
Drink hot water with lemon
Eat hot meals rather than cold. Your metabolism speeds up very slightly when you eat and again if the food is hot.
Do at least thirty minutes of cardiovascular exercise, five days a week. This will condition you to burn fat more efficiently. for more deatails
visit: http://www.nikhar-e-arab.com/spendupmetabolism.htm...
# Posted By mzaaish | 5/7/08 12:53 PM

  © Copyright 1997-2008 Ben Forta, All Rights Reserved