Dec 10 2009

Why use CFWheels (ColdFusion) when you got Rails (Ruby)?

Posted by Jonathan at 6:40 AM
40 comments
- Categories: ColdFusion | Ruby on Rails | Subversion | Framwwork | Railo

Caveat: I am going to ramble a bit...

Chatting with a good friend of mine, I sent him a link to the CFWheels website to get his opion. You see, this friend of mine is a huge Rails developer. He's a great developer even if he does like country music and I wanted his opinion. I was curious. His response? "why use CFWheels when you could use the real thing?"

It's a good question. And it got me thinking.

The Quick Answer for Me

I work in an enterprise shop. ColdFusion is our environment. Rails is not an option. It took me a lot of effort to just get us to use Subversion, being Open Source and all. So professionally, Rails is not even an option.

But that doesn't really address the real question. Why use a port of rails instead of just using rails?

What I know and What I do not know

So I am coming to this with a long history developing CF apps. I have toyed around just a bit with Ruby/Rails. I have reviewed the language. I have never used Wheels. I have read through the "getting started" material. so I am coming at this with very little "experience". For the record (john), I think Rails is brilliant. Ruby as a language... I can see why developers love it. PHP, which i have used, is lame.

So I would love to hear what people both in the ruby camp as well as the coldfusion camp have to say. But here are some reasons I think using CFWheels makes sense even though it is a port and more broadly, why CFML as a language, is still, for me, not lacking enough to look elsewhere (sorry Hal).

J2EE

Coldfusion compiles to java byte code. it is multi-threaded, high performing, robust. Proven in the enterprise. Are there Rails apps running in the enterprise? Probably (twitter i guess). I don't know. What I hear about running high performing Rails apps seems to involve deploying to many many many (mongrol? passender?) app servers. It seems clustering is required if more than 3 people are going to use it ( i jest). I know rails got a bad rap about being scalable back in the day. It is my impression that this is no longer the case. But the solution seems to be throw app servers at it. Seems odd. Being able to build RAD apps in CFML and deploying them to a host of different J2ee servers seems like a win to me and a good reason to stick with coldfusion.

Also, you get all the power of Java by instantiating any java classes natively in CF

<CFEXCHANGE>

ok, I have never actually used coldfusion and exchange. But it points to one of the selling points of coldfusion. especially in the enterprise. The built in interaction with things like exchange, .net, ldap... The list is long. I do use the PDF functionality and although you can do that with other languages, CF makes it so easy. With CF9, you get <cfspreadsheet> that looks awesomely powerful.

Rails and CFWheels are just Frameworks

Really, they are just frameworks that make development quicker and more organized. For the record, I am very impressed with rails. as i am with groovy/grails. Matt Woodward had a blog post, thanking rails for what it has done for web development in general. I totally agree. I have spent a good deal of time, building Rails like stuff into our own home grown framework. The point being, it is still just the framework.

We have our own framework that let's use create basic applications very fast. I would demo it by creating an application powered by 5 relational tables, full ldap authentication (with a service DN), some built in jquery UI, all in about 10-15 minutes. Is it a great framework? probably not. It has been developed to do exactly what we spend most of our time doing. It solves many of our common problems and let's us build the basic stuff automatically and lets us spend our time working on the difficult things.

Frameworks as a crutch?

What if you just need to deploy a form that requires LDAP auth, captures data into a table, send out an email and that's it. Sometimes we get that kind of request that needs to be done quickly. I do not need a framework to do that. What is the memory footprint for a rails app? I can't think of a better language to do this in than Coldfusion.

Coldfusion has a bad history as far as frameworks go?

It seems Coldfusion was very late on the framework scene. Fusebox has been around for a long time. But honestly, other languages were way ahead of CF. That has really changed just in the last several years. There are a gazillion frameworks now. a lot of them seem really pretty fantastic.

Open Source / Free (rubly on rails is, coldfusion is not)

railo... open bluedragon... next.

The Real Strength of ColdFusion

What I really value with CFML as a language is that it let's you do whatever you need to do. the freedom. You can be the biggest spagetti coder in the world if you want. Or you can be a complete OOP zealot. You can be a complete programming novice and get up and running with coldfusion extremely quickly, but after almost a decade, I am still pushing myself and feel like I have hardly scratched the surface of the power that CF gives you.

Coldfusion is Dead, Long live coldfusion

and i will end it with this. coldfusion is ancient. yeah. it's dying right? no language that is about 200 years old could not be viable anymore. Just in the last year or two we have 2 (count 'em 1, 2) open source engines. another major release from adobe, a new IDE, yet another increase in sales... Honestly, isn't that astounding? testimony to just how much coldfusion has to offer? It just keeps going and getting better. It's not going to get this huge surge and become the next new thing. because it's not. It's been around longer than bread.

John, see you at La Esperanza tomorrow!

So now.. Sound off! I'd like to hear opinions from all sides...

Comments

Raul Riera

Raul Riera wrote on 12/10/09 7:33 AM

Nice read! you got some good points there... I worked with Rails for a while but I didn't like all the low level things I needed to do. Glad that you have taken an interest on Wheels.. come visit us at the groups :)
Joshua

Joshua wrote on 12/10/09 8:10 AM

It's always about the best tool for the job. If our client wants Windows and SQL Server or Oracle it's going to be ColdFusion. (Don't get me started on Rails/Oracle connections - it can be done, but it's ugly.)

I love Ruby and Rails and I do a lot of development in both. When clients want a site up super fast with a relatively high amount of complexity, Rails is what I turn to. Wheels is definitely coming along, though. For me it needs migrations and a testing framework (both of which should be coming along soon). I'm also excited about the new features in CF9.
Mike Henke

Mike Henke wrote on 12/10/09 8:56 AM

Nice post. Couple thinngs.

CFWheels is a "port of rails" isn't true. RoR inspired CFWheels. It is using RoR ideas and is not a direct port.

Frameworks as a crutch? I think a framework is a great way to help organize code, you never know when the project may expand from your simple example.

Coldfusion has a bad history as far as frameworks go?
I think is cause older frameworks were inspired by Java ideas and within ColdFusion there are simple, more "ColdFusion" way of doing things which CFWheels excels at.
Randy Johnson

Randy Johnson wrote on 12/10/09 10:10 AM

For me CFWheels was my first attempt at using a framework, I already program in CFML so why would I really consider moving to RoR when CFWheels has done a great job at duplicating the awesomeness of RoR. I have a RoR book from sitepoint and went through and developed the sample app. I liked it, but it didn't inspire me enough to want to switch over. I am guessing that A RoR developer would have the same comment to make about CFML / CFWheels, though I think CF has a lot more to offer than Ruby :-)
ike

ike wrote on 12/10/09 11:58 AM

Hey, speaking of the gazillion frameworks we have now for ColdFusion, we've started working on a project that will allow you to actually write a single app that can be installed into just about any of the MVC frameworks. It's called FreeAgent. We started with 7 of the most popular frameworks and already have a working sample application that runs in all 7. Wheels is among them. I think this is a win-win. It broadens the appeal of the application (assuming you're writing it for general consumption), and it also broadens the appeal of all the individual frameworks, since each new FreeAgent app means a free forum or a blog or whatever that will integrate easily into your extranet, etc.

http://freeagent.riaforge.org
Jonathan

Jonathan wrote on 12/10/09 12:06 PM

@Henke, I see your distinction between port/inspired. And I don't mean to devalue frameworks. I have spent a good deal of time building one for our development. I completely see the value. I probably worded that wrong.

I guess what i mean to say is that Coldfusion is more than just a framework (so is ruby) and there are other things to be done outside of a framework. Rails has a 30MB footprint (or something like that). Seems overkill for extremely small and limited one-offs.

@freeagent, that sounds ridiculously cool. I will keep an eye on your project.
ike

ike wrote on 12/10/09 12:33 PM

Thanks Jonathan. :) There's a google discussion group as well if you'd like to get involved in the direction of the project. The more discussion we have of course, the better we can make the API. :)

http://groups.google.com/group/free-agent
Sean Corfield

Sean Corfield wrote on 12/11/09 8:07 AM

Two points:

Ruby is actually about the same age as CFML - Rails is relatively young (just like most CFML frameworks).

Early CFML frameworks were definitely not inspired by Java! About the only CFML framework you could point that finger at is Mach-II and then mostly in the heavy OO terminology used around it (it was written mostly by a Java developer).

I won't get into the Wheels vs Rails debate beyond saying a couple of Rails devs I know don't think there's any real comparison...
Mike Chandler

Mike Chandler wrote on 12/11/09 8:16 AM

Outstanding post! Your points are spot on throughout.

I can relate with this remark: "but after almost a decade, I am still pushing myself and feel like I have hardly scratched the surface of the power that CF gives you." I'm right there with you.

The great thing about ColdFusion is that its designed to be flexible to your needs. It's suitable for Enterprise OO Applications or quick, procedural yet dynamic websites. You're not bound to frameworks, but can elect to use them. It is the definition of "dynamic" in my opinion. And with Adobe's brand and tight integration with products like Flex, ColdFusion has a long lifespan no matter what anyone says.

Thanks for the insightful post!
johnb

johnb wrote on 12/11/09 8:46 AM

We have just completed a fairly large CFWheels project where we'd have typically choosen to build it in RoR. We choose to build it using CFWheels simply because it borrows ideas from RoR but at times it did feel like using a confused love child. Although having been working with RoR for a good while now it suited our needs best to deliver the project and meet the client requirements to deliver the app using ColdFusion. I wouldn't dispute that CF has no place in the market it clearly does but times things move on and there are new kids on the block that I would consider provide me with better tools (Cf/RoR etc are all tools) to deliver to the client what they want and more importantly at a cost they want - yes, i know about Railo. But I will say, it was a joy to be using full cfscript across the build, yep - it's a CF9 app too!

Let's not go forgetting that if you want to deploy RoR on Java you can, you'd use JRuby, OSX comes with Ruby built it - Apple have a team working on MacRuby for building desktop apps in Ruby and Microsoft have IronRuby for deployment on .Net - So it's certainly beginning to make it's mark having started off at a similar time to ColdFusion (just talking Ruby here) even just last week work has begun to have Ruby recognised as an ISO standard.

Rails hosting has taken a while to settle down, now Phusion Passenger - Apache running what was mod_rails and NGINX are considered the best options using spawned ruby threads to process requests and return the result to apache. A mongrel is essentially a single threaded server so by having multiple mongrels you can process more threads, much akin to threading inside Java.

Rails got a bad rep from Twitter, built by a bunch of PHP developers having a play with RoR - if I built sites that have anywhere near the traffic levels of twitter I'd be more than happy to be honest and just to throw one in there - let's not forget about MySpace eh?

Touching on Clustering, well at least if you have to cluster an RoR (and we have sites capable of massive traffic running on a single VPS!) you're only looking at a hardware cost - throw CF into the mix and you're going to be stacking up the license costs.

Rails at the end of the day is opinionated software, some people like that, some don't...i for one don't mind being told how to do something if it's going to make my life easier

jb.
Jonathan

Jonathan wrote on 12/11/09 8:48 AM

@corfield, yeah your right on both counts. Ruby is old. But has it been popular throughout its history? I honestly don't know. I only first heard of it in relation to the rails framework?

I guess Fusebox is the grandaddy framework and wasn't it pretty procedural. I guess Mach-II was the first fw I really tried with CF and when I really started paying attention to this issue.
Jonathan

Jonathan wrote on 12/11/09 8:50 AM

and to the comparison's point... I think the coolest part of rails is generating all your models and controllers from the terminal. And also the deployment part. I am guessing that is not possible in CFWheels
Neil Middleton

Neil Middleton wrote on 12/11/09 9:16 AM

At the end of the day, we as developers have a couple of constraints we need to adhere to when using a technology:

- What we want to use
- What our client/boss wants us to use.

As long as we are using something we falls (more or less) under this then every single one of us should be happy.

If we feel CF is a better platform (for whatever reason), use it. However, if (like I did) you try Rails and decides that it makes much more sense to you and saves you time, use it if you are able.

If you're not able to use what you want, endevour to get yourself into a position where you can (sell it to your boss, or get a new boss).

Personally, I've moved from CF to Rails, and I would find it extremely hard to want to move back again - however, when my clients demand CF I use it - it's really that simple.
Mike Henke

Mike Henke wrote on 12/11/09 9:20 AM

Model glue - touts MVC+II on their ColdFusion page. "In the design of Java Web applications, there are two commonly-used design models, referred to as Model 1 and Model 2."

Mach-II - On their introducing Mike Roger's blog entry, Mike says "For the first time since Java I felt like my code was making sense, and that was a good feeling." in regards to Mach-ii.

I have tried other frameworks and CFWheels feels like I have been coding CFML. Not sure why, but I was thinking it was what the other frameworks were inspired by.
Marlon Moyer

Marlon Moyer wrote on 12/11/09 10:20 AM

I've also moved from CF to Ruby/Rails though I still have to maintain sites done in CF. I tried to use cfwheels when it first came out, but couldn't beat back the feeling of "Why not just do this in Rails?"...Which, to me, makes sense. The Rails framework was designed to highlight the strengths of Ruby. It wasn't designed to the strengths of CF.

As for the open source versions of CF, I'm currently moving an old CF site onto new servers as the old ones are retiring. This is an old Fusebox site that some of the programming practices in it would be considered horrendous today. It's currently running on CF7 and hasn't had a glitch yet. I moved it to Railo 3.x and have had a heck of a time keeping it running.

One of the issues is that there is a long running query (60 seconds) that is cached in the session scope and then filtering is done on the cached version. This can be upwards of 20k rows. CF7 never had a problem with this -- Railo spins the CPU to 100% and then will eventually come back, or sometimes it will just die.

My main issue now is fighting the urge to port these legacy CF apps to Rails.
Mike Henke

Mike Henke wrote on 12/11/09 10:52 AM

@Moyer "It (Rails) wasn't designed to the strengths of CF. " Exactly this is why Wheels isn't a port of Rails. It uses some Rails ideas and leverages CF strengths. Wheels vs Rails debate isn't a fair comparison yet.
Derek P.

Derek P. wrote on 12/11/09 11:11 AM

@Corfield while Ruby has been around as long as CFML has, Rails has not, its approach to web development is radically updated in comparison. the CFML way of writing web apps fundamentally comes from a dated concept. Why are people clamoring so hard for a better cfscript implementation? Because we don't need to write tags 24/7. but 10 years ago, we thought that was a great idea. Now, we have to deal with supporting everyone who thought that was a great idea, and create a more robust world, and start doing things right.

Tough place to be.

As for Rails vs CFWheels. I don't even see a comparison. When you are thinking of looking at Rails, its a good idea to look at it based on these issues:

hireability/education, robustness, community, flexibility

Hireability/education

There are a billion resources, books, screencasts, conferences, etc about Rails and Ruby. There are no books on CFWheels, and really the learning/education world of CF is one of the things that was most depressing to me. I loved the conferences, but you couldn't sink your teeth into a ton of reading and advancing around the language, it just was not there at the time. dunno if it is now.

Robustness

CFWheels is a 1.0 product. its also a pseudo-imitation, and thats part of its pitch. Rails 1.0 vs Rails 3.0 is a completely different world. They have tackled massive problems, and have made it possible for Rails to run on most popular platforms, including the JVM (via jRuby).

I have a lot of trust in the code behind ActiveRecord, because I can open it, understand it, extend it, and make it work for me in ways that are severely limited in other environments. This is huge for me.

Community

Rails has an amazing open source community. Technology is being innovated left and right there, from the world of testing, deployment strategies, view level engineering, you name it, its happening in Rails, and its actively growing every day.


Flexibility

Why would I use an imitation, when all the great things are happening on the real deal. I get that some environments limit what you can do, ie: enterprises are afraid of Rails sometimes. But with jRuby + Rails you can WAR it up just like CF and no one is the wiser. Hell, you could even interact with Ruby via CF using jRuby!



Having said all that, Rails is not the end all, and its not the right tool for every job, and neither is CF. Its your job as software engineer to decide when to use what, and to make sure those decisions are the most optimal for the biz cases you are dealing with.
ike

ike wrote on 12/11/09 11:39 AM

@Derek - I don't see the connection between "dated concept" and "writing tags". Whether or not the syntax is tag-based is virtually inconsequential - an issue of no more than aesthetic preference. It alters the functionality of the product not one iota. Nor do I see any example in your comment of why you feel CF frameworks are dated or based on dated concepts, unless the use of a tag-based syntax is your only criteria. If that's the case, then imo it's a silly argument.
Derek P.

Derek P. wrote on 12/11/09 11:48 AM

@ike I was commenting on seans comment about the age of Ruby vs CFML. My comments were specifically about the DBML/CFML paradigm vs the we need a better cfscript world, and the ramifications involved in supporting both as first class citizens for the future and longevity of a product.


Also, I don't think aesthetics are not always at play in language design, most of the reason people are in love with Ruby is the serious amount of attention that is payed to language design.
Mike Henke

Mike Henke wrote on 12/11/09 12:02 PM

@Ike Maybe the better question is "Are CF Frameworks really for CF Developers?"

Is that why the adoption rate of major CF frameworks seems low, but every and their dog seems to be creates their own "framework".
Jonathan

Jonathan wrote on 12/11/09 2:03 PM

Glad to see some rails developers show up. Thanks.

and I still like the tag syntax. I can see why some don't. I think the improvements in cfscript are great. I will use them. Ruby is indeed very clean.

I don't understand the judging the value of a language by the worst developers using said language... "CF is outdated because CF programmers still write procedural code." No, many CF programmers are out dated. Says nothing about the language other than it let's you be outdated if you want. I see that as a strength.
Derek P.

Derek P. wrote on 12/11/09 2:07 PM

Perhaps the fact that CF lets you stay outdated is why things like frameworks have such slow adoption?
Randy Johnson

Randy Johnson wrote on 12/11/09 5:43 PM

Derek,

Why am I not surprised you would leave a comment like that?

Randy
Tony Garcia

Tony Garcia wrote on 12/11/09 7:51 PM

"Why use CFWheels (ColdFusion) when you got Rails (Ruby)?" That's easy -- because I know CFML, and I currently have no interest, desire, or motivation to learn Ruby.
Jonathan

Jonathan wrote on 12/11/09 9:05 PM

@derick, you are probably right. but... I don't see that as a bad thing. how can choice be a bad thing? There are a bunch of cf developers using MVC frameworks and ORM. That's great. There are others that are doing spaghetti coding. so what?

Coldfusion let's you develop the way you want. It doesn't make you do anything other than what you want. But it also doesn't limit you.

I think that is super rad. Our framework is a "MVC-ish but not really" framework and we can accomplish what we want exceptionally fact, and then extend it with the greatest of ease. It meets our needs perfectly.

So, ColdFusion lets you develop they way you want. It's your choice. I'm in! Whichever way you go, it's gonna be super productive. As they new tag line goes, "Rad without rules"
ike

ike wrote on 12/11/09 11:58 PM

The whole notion of the language "allowing you to be outdated" is silly... I guarantee that I can write badly designed, "outdated" code in Ruby -- even in Rails for that matter, if I want to. So it's nonsense to make any comparison of anything that begins with "x allows you to be outdated".
Chris Peters

Chris Peters wrote on 12/12/09 1:25 PM

I think that this post completely captures the spirit of why you'd want to use Wheels. It echoes the sentiments on why I invest so much of my free time into it. Thanks for the writeup Jonathan.

Does Wheels automatically earn the entitlement to be compared to Rails? No. There are a lot more things that Rails does out of the box to make a developer's life easier. We will continue to work on closing that gap and will come up with our own innovations along the way as well.

Wheels is a small community so far, but it's a very passionate one. I can't imagine that it won't continue to grow as long as we can keep that passion alive. It's contagious.
John Nunemaker

John Nunemaker wrote on 12/12/09 5:00 PM

Jon,
Just read the post and all I can remember is "He's a great developer" and "Rails is brilliant". Haha!

In regards, to deployment, I think often times over chips and salsa we use incorrect terms. We run multiple app instances with but not multiple app servers. One server will run several apps and I would bet it is pretty comprable to ColdFusion.

If it was just about how many scripts/apps you could fit on a server, you could also drop down to sinatra or rack which are far lighter on memory.

All that said, Rails is boring. Most frameworks are. In fact, they should be. The tools you use to get your job done are not what should stand out, but rather what you build with them.

Oh, and I might miss this week at La Esperanza. ;)
Jonathan

Jonathan wrote on 12/14/09 5:24 AM

j-nune, get too cocky and my next post will be "Why on earth would any one build a coldfusion app by recreating all the awful PHP functions in cfscript and then build the entire coldfusion app like it was PHP"

as far are server / server app / instance... My guess is that you have the server. You can have multiple instances of Mongrol/Passenger to run you rails apps off. This would be like having multiple instances of Coldfusion/JRuns on a single server. Right so far?

So to deal with Ruby's single threaded nature, you would deploy multiple instances of mongrol on the server all serving up the same app? Still right?

So the difference is that I could run a ton apps off a single Jrun/Coldufsion instance. Currently we have about 9 instances of coldfusion on our server running, i would guess 25 apps. The primnary reason we create new instances of coldfusion is for application isolation/security and so we can limit exposure to specific apps.
Serious

Serious wrote on 12/15/09 3:23 PM

@Jonathan
Just curious (because I don't know) but isn't jRuby being built on Java able to get around the issue of single threading on ruby?

@in general
Given cfgroovy and Java's ability to run so many scripting languages including my beloved JavaScript (http://railo.uservoice.com/pages/21016-general/suggestions/402998-cfjs) isn't it time to do away with "my language is better than yours" and just use Railo or Open BD to create a single server that supports nearly all scripting languages and focus on the administration and core features of the server itself. Then Railo (or OBD) can take over the world thereby allowing ColdFusion (or any other language) to be standard on most hosting environments? Then regardless of how popular it becomes at least we can continue to use it anywhere.

I think the focus should be on creating the best Java servers with the most language support possible, make jRuby more popular than Ruby, Quercus more popular for PHP, then we all as developers of a Java compilable scripting language win.

Then we can use Rails or Wheels or whatever gets built for use on CFJS! Then move on to whatever comes up next as the concept of the year *after* Rails/Wheels.
Neil Middleton

Neil Middleton wrote on 12/15/09 3:56 PM

@Serious - Put yourself in the shoes of one of those developer who uses another language. Why on earth would you even consider using Railo et al to run your code, when it could never be as good as your language/platform specific setup you're using now.

For instance, for our Rails apps we use Apache / Passenger and MRI (the Ruby interpreter). Passenger (mod_rails if you will) is updated on a regular basis, and requires some near-on full time developers to look after. How many developers would you consider a one size fits all server to require?

I think the panacea of a one size fits all Java engine that can do anything might be appealing to those wanting to push one particular thing, but at the end of the day, other developers don't care about ColdFusion, and thus have zero motivation to even listen to what projects like Railo are doing.

If you have no interest in something, and don't care about it, you ignore it - plain and simple.
Serious

Serious wrote on 12/15/09 4:55 PM

@Neil
"Why on earth would you even consider using Railo et al to run your code, when it could never be as good as your language/platform specific setup you're using now."

1. From what I have read Quercus is faster than the standard PHP engine and can do several things like db obfuscation that the dll version doesn't do well. I've heard a lot about how slow Ruby is so I had assumed that jRuby may also be faster.

2. If I ran a hosting company and had the option to install languages separately with all their different admins or settings or all at once with a well thought out admin structure and a more powerful level of security sandboxing, I think it would be a no brainer if there were not a huge number of compatibility issues.

3. jRuby, Quercus and Rhino all have very active development teams already so that wouldn't change and other servers can integrate them without obscene amounts of effort. Quercus is already installed with Railo, you just have to manually add it in the Resin config file currently so adding a switch in the admin to do that would be simple I suspect.

CFgroovy2 makes it easy to switch between the languages already so given it is already done as a proof of concept I would not expect adding files to a class path via admin toggles to be a full time job, perhaps Sean could clarify?

You may have switched to Ruby, that's no doubt been great for you, like when I switched from ASP & PHP to ColdFusion. But for many Java developers who want fast scripting languages with the ability to use elements of Java they love then Java based versions of the scripting languages can be very advantageous especially when it comes to working with and using legacy code.

I think you are very wrong in being so dismissive of the idea just because in your perception it wont suite you, think outside your box, there's plenty of issues developers around the globe face and there is definitely positive movement for change and having options to get past them. .NET has JScript, VBScript, FSharp and CSharp because MS are smart enough to know that some jobs are done better by different languages.

JavaScript is the most important language for the web and is grow in popularity rapidly (more Java/JavaScript servers than any other language now I believe thanks to Rhino looking up SSJS on wikipedia), supporting Rhino is a no brainer, support for actionscript could also potentially be added as it is based on JavaScript.

More options is always better who cares if there are some narrow minded users of a language that stubornly refuse to investigate better options, Mono, Quercus, jRuby all show that there is a need for languages to be implemented in different ways for different needs. Bringing several of these into one place would draw in more communities of developers to one place which can only be a good thing as shown by Apache foundation itself!
Chris Peters

Chris Peters wrote on 12/16/09 8:18 AM

Wheels gives you the option of staying with CFML if that's what you want. That's who we're serving. That's what Jonathan wrote about. Anyone who strays from that point is off topic.

If you want to go on a quest with CFGroovy and server-side JavaScript, go for it. Just don't expect for it to ever become a standard in the CFML landscape because 95% of us simply don't care. We'll be building great apps quickly without worrying about learning 20 new things in each project that we take on.

Perhaps MS's offering of 20 different languages is why most apps in .NET are the worst pieces of crap that I've ever seen? If unneeded complexity is what you desire, take Serious's approach of installing so many options that you get frozen in deciding which to use.

I know that most of us who read blogs and such are the superstars, and we can learn 5 different programming languages without skipping a beat in productivity. But there are some of those guys in your IT department that are so distracted with their 20 different options that they never solve problems for their employers. In fact, most of the time they create more problems than they solve. Don't be that guy, and don't encourage him unless you have good reason to.
Jonathan

Jonathan wrote on 12/16/09 1:04 PM

lots of good posts here. I agree with a lot of opinions from all sides.

@serious, I like the idea of having one platform that supports all the different technologies/languages/frameworks in the most robust and speediest manner. I also think j2ee/railo/cf/apache as the platform is a good start

@chris, i don't think having a platform that supports all these technologies means you have to use all of them. but it would allow developers with specific tool sets to leverage what they know best without limitations.

and i don't think it's off topic. I wanted to open up the discussion about frameworks and why use one over the other or why make a framework language specific.

I see it like this. You have the server/platform, then you the scripting language, and on top of that you have a framework, and at the very top, you have an actual application.

i don't think a framework should necessitate a language. I don't see the reason to switch to a new language just to use a framework built on it when someone has built another framework with your given language that does the same thing.

Pick a language because of what the language gives you. for cfml it's probably the super powerful tags and the server infrastructure, ruby probably the terseness of the language and , year ago, because of the rails framework.

right now I really wish we could move from IIS to apache. not because of anything to do with language or app server. simpley because i see apache as a web server, more useful than IIS.

Serious

Serious wrote on 12/16/09 4:54 PM

@chris
Says a lot when someone claims to represent 95% of the wider community. Just so you know, Alan Williamson has already put surver side Javascript (CFJS alpha) into Open Blue Dragon http://alan.blog-city.com/server_side_javascript_with_cfml.htm So I think there is an very good chance it will indeed end up as part of the CFML landscape. Lucky he was one of the 5% of us who can't understand why cfscript wasn't cfjs to begin with.

@Jonathan
Thanks for the article in the first place by the way, some good points and well written.
ike

ike wrote on 12/16/09 8:26 PM

The answer to "why wasn't cfscript cfjs to begin with?" is pretty darn simple. CF didn't have c-style operators for another few versions. Cfscript in version 4 iirc (pre-java) and c-style operators in version 8? That and the fact that CF as a whole has been natural math from the very beginning and JS is 0-indexed. The kind of subtle differences that could have easily made both the implementation challenging and the end result syntax knuckle-bitingly confusing.
cisco certification raleigh

cisco certification raleigh wrote on 01/20/10 5:25 AM

I needed this info thanks mate

Regards
2 Day Diet Japan Lingzhi

2 Day Diet Japan Lingzhi wrote on 04/29/10 9:02 PM

thanks for your sharing ,very useful to me ,thanks again!
travel guides

travel guides wrote on 06/22/10 3:12 PM

Thanks chap, this is proper good stuff!
Austin Cosmetic Dentist

Austin Cosmetic Dentist wrote on 07/08/10 2:38 AM

Nice and good sahring hope some more from you. Thank you for sharing.

Write your comment



(it will not be displayed)



Leave this field empty:

Subscribe

Categories

Monthly Archives

Search Archives

Favorite Links

My Links

Coldfusion Links

Recent Tweets