Ultimate Programming Showdown, ColdFusion vs All!
I was working out this morning and I had an idea that would be interesting to watch. What if there was an Ultimate Programming Showdown? They have a hacking contest at security conferences, we developers should have a programming contest. I would go to see that, especially if you add in beer and cheerleaders.
Let’s think about what would happen at this event. We could take all of the best developers in a given language and put them down in front of neutral machines, much like a gaming contest. Then each person would be given a small app to build within a given time frame. Of course there will have to be some ground rules to keep the .NET and PHP folks from being cute and here are some I have been mulling over.
First, there can’t be any pre-built modules or classes, everything needs to be built from scratch. That means database connections, DAO objects, etc. The idea is to see which language would be the best and fastest to develop a project. Now we all know how this will end up, but I think it would definitely help the lemmings of the world see the power in each language.
I was also thinking that there would be a bracket system and rounds. I imagine the under the table betting on that would be spectacular. But besides that, it would be fun to watch and trash talk!
I am guessing that ColdFusion is going to smoke the competition in this type of competition, but I think it would be fun to watch. Here are the people I think would be top seeded:
- Ben Forta: Because he British and well…he’s Ben Forta.
- Ray Camden: I mean the guy is a Jedi.
- Luis Majano: Simply because ColdBox is wicked complicated!
- Hal Helms: Because I have nicknamed him ‘The Duke’ and I want to chat that someday.
- Sean Corfield: Because I want to see Ray Camden and him battle it out.
- Joe Rinehart: ModelGlue is pretty nutso as well.
- Ben Nadel: Because he will probably show up with something kinky.
- Adam Haskell: Fusebox…the first framework I learned.
- Matt Woodward: Mach-II people.
- Mark Mandel: Transfer.
I know I am missing some folks but those are the people at the top of my mind. Who else thinks this would be cool to see?
Is that Fantasy Football or Fantasy Fusion?
I would love to see Rails kicking CFs ass
What is the prize?
How about some folks on this list?
Simon Horwith
Doug Hughes
Dave Watts
Peter Bell
Rob Gonda
@radekg
Since Rails is a framework, you wouldn’t be able to use it. The proposed rules say no pre-built objects or database connections — everything from scratch. Would you be as cocky pitting Ruby (w/out Rails) against CF??
@Enayet Rasul
I would love to see those guys, I just stopped at 10. There are tons of cool CF developers out there.
@radekg @Tony Garcia
Thank you Tony, I am glad that you saw that stipulation. Anyone can build an app quickly using a framework, but the idea of the contest is to see which engine is fastest out of the box. I don’t know much about Ruby, but I doubt that it’s anywhere near as simple and powerful as CF. If you really wanted to, you could use one line of code to run an insert to the database…I wonder if there are other languages that let you do that right out of the box.
@Tony Garcia since .net is a framework is it disqualified as well? and do you consider cfquery, cfpdf, cfobject a language feature? i think if rules are what you described yiu could use only what exists in cfscript… coldusion “is a cfml framework” :]
I don’t think you know what cfml is, but I appreciate the attempt at debate.
This is funny– you don’t know how many times I have thought through this exact same thing. There are so many problems with it though– For starters, who judges? There are two kinds of people in my world: People who hate ColdFusion and people who have actually used it.
Also, what do you judge on? Don’t say lines of code, or some Perl genius will write his entire app on one line out of a friggin’ huge regular expression.
Don’t say easy-to-understand code. People who aren’t used to coding in tags think they’re ugly and I have to respect their opinion since it is sort of subjective based on personal experience.
And why can’t you use frameworks. I mean, it’s nice to compare just the base language, but that’s like all those physics equations that take place at sea level in an ambient temperature ignoring the effects of wind resistance in a closed system that doesn’t involve entropy. In the real world, frameworks and tools exist and have to be considered. I have to admit PHP is probably kicking our butt in the number of free crap out there. It might be mostly crap, but at least you have PHP crap in 7 shades of blue…
Oh- another thing– if this sort of thing ever did happen I would think it should involve stress testing the completed apps for load and high availability. Of course, this just introduced a few hundred other variables…
@radekg
CFML (including cfquery, cfpdf and all that other stuff) is a language. People have said that its a “framework built on top of Java” and that is nonsense.
@Brad
I think it IS legitimate to not allow frameworks, because it puts everyone on even ground. Otherwise it’s not really a language competition. Comparing RoR to CF is apples to oranges. Ruby vs CF is the real comparison. A frameworks competition would be maybe RoR vs. CFWheels or Model-Glue
@Brad Wood
The only reason I thought about excluding frameworks is because people don’t understand how much time is saved by using CF tags. I know that frameworks are the bees knees, but the idea here is to show which language allows a developer to build an app quickly, efficiently, and without punches to the monitor and only using the base language. There are lots of developers out there who don’t use frameworks at all, so an even baseline would have to be in place. Plus if you go with a framework, you will have people like the Rails guy who will build a framework that does everything and will just put runApp(); and say ‘I win!’. Ha!
ehh.. I am confused now, is the point of the contest to see who is the best developer or which one is the best language? I’d imagine that a really brilliant developer will be able to extract diamonds out of any language
Yeah, I agree w/ Oscar. It would be pretty hard to control for the skill of the developers involved to have a TRULY objective comparison of the productivity of each language.
My initial idea was based on the language not the developer, but the best developers would battle it out. They could be peer selected, but the main issue is the languages not the talent.
@Tony Garcia
The problem is that CFML tags are king of framework. I don’t thing tags such as cfpdf were ever considered as “language features”. There is no CFML specification as such. There is no boundary drawn between CFML and ColdFusion so people talk about ColdFusion even when discussing Railo, OpenBlueDragon or BlueDragon.
PLease, please, first specify what is the language and what is the extension, then talk about what could be used. And no, wikipedia does not answer the question, neither Adobe website.
You still did not answered my question – what about .NET? .NET is a framework. Does it mean I had to use pure c#, vb.net or MSIL? I would be glad if you could answer this one. Oh, and if you’re so kind to answer if one could use java.sql.* package as it is framework as well.
@radekg
Should be : “The problem is that CFML tags are kind of…”
Well, I guess we can all just write some Assembly code if we want to get really lame about it. Another approach would be to get the framework authors to add a ton more packages so it would be a real beating. We could go to either extreme, but the bottom line is that CF is faster and easier to develop with as a language. Don’t get bitter about it, you’ll be alright.
“neutral machine” ?
I’m not sure that’s possible. Good luck doing .Net on Linux, Cocca on Windows etc….
@radekg
CFML is a “tag-based language.” So the tags, along with cfscript, are the language, not a framework. If you want to split hairs, though, how about defining CFML “core” as all the tags that are common among Adobe CF, Railo, and OpenBD, which would exclude things like cfexchange and all the UI AJAX stuff. If .NET is a framework (I have zero experience with it), then of course it would be disqualified.
As I said before, though, it would be hard to control for the skill level of the developers for it to truly be an objective comparison (even if they were peer selected as Lu suggests). My money would still be on CFML, though!
11. Cow and Chicken, because they’re great and they Cow and Chicken
12. Johnny Bravo, because he is Johnny Bravo
13. Pinky and The Brain because they gonna rule the world one day
@Tony Garcia
What about Java Standard Library then? What about JSP? It is a library not a language? If CFML is tag based language could one use CFScript instead and if yes why do you think it would be an option? If DBI for Perl is separate library does that mean it would be disqualified?
PHP documentation states that mysql support is an API, does that mean I couldn’t use mysql_ functions in PHP for DB communication?
Do you really think cfquery is a language feature? Because “tag-based language” doesn’t mean every tag starting with “cf” is a language feature, it just means the syntax is tag based.
Why on earth would you ban the use of frameworks? Surely you are looking to compare tools that developers use day to day to build websites, not an particular product?
People say that you should use plain Ruby instead of Rails, but that just isn’t the way people work. You should compare CF and Rails and ASP.NET as three different ways of spitting out websites – nothing deeper than that.
I’m not entirely sure I see the point in this competition, but I’m also not convinced CF will win.
I was thinking of more of a language battle not a framework battle
I agree with Neil Middleton: you can’t ban frameworks because people build websites with frameworks – that’s where the productivity comes from. I’m not going to try building a website with CFML without Model-Glue and ColdSpring (and maybe Transfer) – that’s just silly.
Also, whilst CFML is, technically, ColdFusion Markup Language, the CFML engines provide language+framework out of the box – even based on what the CFML Advisory Committee view as core, that contains “framework” features that you can’t realistically omit from competing “languages”.
You can’t cast this as a “language battle” when you’re really looking at productivity for building websites. And if you cast that as a “web application development battle” and allow full stack languages/frameworks then you’re going to find Groovy/Grails and Ruby/Rails are extremely RAD because they’ve been designed from the ground up to make web application development faster.
Well, the idea was to pin language against language not framework vs framework. True that everyone uses some kind of framework, whether homegrown or downloaded, but how do you judge the language at that point? Wouldn’t we just be judging the frameworks?
Coming back to the game above,
I think an average cf coder can beat all others, bcos its enough and more…Thats the POWER OF CF