Talk:ColdFusion
From Wikipedia, the free encyclopedia
[edit] Millions of webpages?
ColdFusion has been used to write millions of webpages and is generally recognized to be the easiest rapid development language for people coming from straight HTML to learn."
Maybe a bit pedantic to ask, but are there major sources to substantiate this? It's certainly one of the easier to pick up, but this seems a bit specific to handwave.
Absolutely - This is market-ease, not fact. To be neutral you should then go to the PHP page, asp, etc.. and mention 'billions of pages'. Plus, what's a page when dealing with dynamic templates? One template could generate a million, a billion different output. As for being the easiest, it's really subjective. I've taught java and colfusion for years and I've seen people picking jsp in 10 minutes, while others took weeks to get to grasp with cf.
Comment: The absurd intro to this article is an advertisement for ColdFusion and makes me question a lot of what I've read on this wikipedia: "Struts, Spring, Hibernate, JavaServer Faces... all rolled together." Please. Struts? Really? Oh, and Hibernate too? So, basically ALL other frameworks. Ruby on Rails perhaps. I propose a rewrite: "ColdFusion is God." And then the whole "misconception" that it's a scripting language -- Do we really care? These days I'm paid more for JavaSCRIPT than C#. And, let's face it, it's all about money, isn't it? Which reminds me, ColdFusion isn't free.
[edit] BlueDragon text should be moved?
The lengthy "Potentially Competing Products" section is 99% about BlueDragon, yet the "BlueDragon" Wiki page is virtually empty. I think that the BlueDragon text should be moved to a more complete Wiki page about that product and it should be linked from this one. After all, this wiki page is about ColdFusion, not BlueDragon.
I would make the edit myself but I don't want to ruffle any feathers. Perhaps the initial editor of that page section will see this and would be willing to move it?
I did it and put in proper links to the Blue Dragon page. ColdFusion is about ColdFusion and while it should reference Blue Dragon, it is not Blue Dragon. In addition, while Blue Dragon is an implimentation of the language used in ColdFusion, it's not ColdFusion.
New Atlanta's marketing keeps putting their information back into the ColdFusion listing rather than in their own Blue Dragon listing. This is standard of marketting where you leech onto the review or listing of someone else.
- Agreed, while it certainly deserves a reference in the CF article, the substance should be in its own article. Looks fine the way you have done it. -- Blorg 17:01, 18 January 2006 (UTC)
[edit] Recent edits
Just wanted to explain some of my recent edits: oh boy does this page need work :) I removed a lot of NPOV and tried to sort out the timeline a bit. I left a lot of things which I know are still misleading... Unfortunately I can't spend all day on Wikipedia :( ... Will try to edit it again and add a lot more info later on this month. Cheers. Adidas 10:42, 8 August 2005 (UTC)
[edit] Spam links and advertisements
Obviously there still is a lot of work to do on that page... but not having 65.35.120.139 adding his spam links over and over again would make life a lot easier. Adidas 13:00, 23 August 2005 (UTC)
- Update: vandalism reported Adidas 13:22, 23 August 2005 (UTC)
- Following further vandalism, a request for protection was made. Adidas 07:52, 24 August 2005 (UTC)
[edit] Quality of Sample Code
My first impression of the sample CF code was "ugh!". Is that really a representative sample of ColdFusion's syntax and idiomatic style, or is it as ugly as it looks? I can't think of any faster way to drive potential users away from CF and toward PHP, Python or even Perl! Is there a CF guru who can tidy the code and make it less ugly, or is that just how CF code is? (Granted it's nowhere near as ugly as XSLT, which I quite like...) --Eric TF Bat 12:45, 21 September 2005 (UTC)
- Looks okay to me. Remember: CF is tag-based and is touted as easy to learn due to its similarity to HTML. Some CFGURUs also don't like the syntax and try to put all of their code in the context of CFSCRIPT tags, where they can use a syntax similar to JavaScript. Not all CF tags have CFSCRIPT counterparts, however. Al 12:54, 21 September 2005 (UTC)
- Oh, ok. Can't say I like it, but it takes all sorts to make a world, as evidenced by the fact that the three oldest surviving programming languages are LISP, Fortran and COBOL...--Eric TF Bat 13:04, 21 September 2005 (UTC)
- If I hear the word 'guru' associated to a programming language (or scripting language in this instance), I'm going to shoot someone! Come on! I train CF and we have middle age mothers with no previous IT experience who can pick it up in a week... this is not a language you can be a 'guru' in. It would be like being the Guru of picking-your-nose or the eat-an-apple Guru. Makes no sense. Adidas 13:50, 21 September 2005 (UTC)
- You say that like it's a bad thing. :-) In fairness, every language has a certain subset that's easy for anybody to pick up, but it's knowing the language as a whole and its idioms that makes a Guru. Christian Cantrell is a CF guru, as are Hal Helms, Pete Freitag, Ben Forta, Sean Corfield, and others. --Kgaughan 02:10, 4 February 2006 (UTC)
- If I hear the word 'guru' associated to a programming language (or scripting language in this instance), I'm going to shoot someone! Come on! I train CF and we have middle age mothers with no previous IT experience who can pick it up in a week... this is not a language you can be a 'guru' in. It would be like being the Guru of picking-your-nose or the eat-an-apple Guru. Makes no sense. Adidas 13:50, 21 September 2005 (UTC)
- Oh, ok. Can't say I like it, but it takes all sorts to make a world, as evidenced by the fact that the three oldest surviving programming languages are LISP, Fortran and COBOL...--Eric TF Bat 13:04, 21 September 2005 (UTC)
- I think the code can be made less ugly - by removing attributes which aren't essential (eg: username and password from query; these can be defined along with the datasource in CF Administrator) and with better indentation (4 spaces per level?). Also, perhaps a link to a simple but complete example script would be useful in giving a more complete picture? --BP 19:33, 7 February 2006 (UTC)
- I made that change as you suggested. Also removed the query. scoping within "cfoutput query=" as that is unnecessary. -- Blorg 23:14, 8 February 2006 (UTC)
[edit] Further edits
I've removed the personal spam claim against me from here. It's misleading as the links were all to different resources.
[edit] Compare / contrast with PHP?
One thing I find myself wondering when coming to this page was what the differences and similarities between PHP and ColdFusion are... this could be as easy as a link to an external page or as much as a few sentences, but it would be a good addition to the page. Joseph Lorenzo Hall 16:20, 17 October 2005 (UTC)
- Perhaps there is (or should be) a page for comparing various server-side scripting technologies. I don't think the Coldfusion page would be the right venue for comparing with PHP, as it would lend itself to comparisons with all other major languages like ASP, Lasso, etc. Scott Arbeitman 04:44, 29 December 2005 (UTC)
-
- PHP is probably the market leader these days and as such would be an appropriate one for a comparison. -- Blorg 10:00, 18 January 2006 (UTC)
[edit] Regular clean-out of undiscussed links
Wikipedia is WP:NOT a web directory, and, as per Wikipedia:External links guidelines, I'm starting a regular regular clean-out of undiscussed links. Please discuss here if you want a link to not be cleaned out regularly. -- Perfecto 07:31, 25 December 2005 (UTC)
[edit] House of Fusion
House of Fusion hosts the CF-Talk mailing list as well as a few dozen others of specific interest to the ColdFusion community (including the CF-Community list). I've added a link back to it in the entry as it is a major resource for ColdFusion developers across the world (literally).
[edit] Eclipse / ColdFusion on Wheels
- Eclipse is a major open-source IDE and I certainly don't think the (free) CFEclipse plugin is spam (especially not under a list of development environments! I have tried it myself and I know of other CF developers that use it. Don't know about the significance of CF on wheels, will look into that (didn't add either link myself.) -- Blorg 09:58, 18 January 2006 (UTC)
- I agree with Blorg. CFEclipse is currently a major development platform in the CF community. Also, it's open source, not commercial, so doesn't fall under the WP:SPAM guidelines as I understand them. --Wrathchild (talk) 13:55, 18 January 2006 (UTC)
- OK, I've put it back, linking Eclipse to its artcle on Wikipedia instead of the website. Still not sure about how popular "ColdFusion on Wheels" is though, certainly I had never heard of it (not that that means much :-). Have of course heard of Ruby on Rails which it is based on. Any opinions? -- Blorg 16:40, 18 January 2006 (UTC)
- Had a bit of a look around about "ColdFusion on Wheels" - it's still pre-v1.0 and appears to have been released only on 14 November 2005. A good number of blog entries commenting on it but few seem to be actively using it right now (hey, it's only been a few months!) So maybe we should give it a bit more time before including it? Looks promising for a future framework though (if CF can stick around :-) -- Blorg 17:00, 18 January 2006 (UTC)
- OK, I've put it back, linking Eclipse to its artcle on Wikipedia instead of the website. Still not sure about how popular "ColdFusion on Wheels" is though, certainly I had never heard of it (not that that means much :-). Have of course heard of Ruby on Rails which it is based on. Any opinions? -- Blorg 16:40, 18 January 2006 (UTC)
- I agree with Blorg. CFEclipse is currently a major development platform in the CF community. Also, it's open source, not commercial, so doesn't fall under the WP:SPAM guidelines as I understand them. --Wrathchild (talk) 13:55, 18 January 2006 (UTC)
[edit] CFLib & ColdFusion Cookbook
I would like to argue in favour of restoring the CFLib and CF Cookbook links, based on points 5 and 6 of WP:EL's What should be linked to. Anyone else agree? --BP 08:38, 31 March 2006 (UTC)
- CFLib should unquestionably be there. CF Cookbook is a bit newer, but I certainly wouldn't object to it's inclusion (glad I read your comment to find out about it!) -- Blorg 14:55, 31 March 2006 (UTC)
- Ok, well no objections so I'll go restore them. --BP 17:18, 4 April 2006 (UTC)
- Along the same lines would be the removed link to cfxchange.com, which is primarily an open directory of ColdFusion custom tags.--Ggman 18:01, 5 April 2006 (UTC)
- Ok, well no objections so I'll go restore them. --BP 17:18, 4 April 2006 (UTC)
[edit] Alternative servers
I put back DigitalLattice Orange but without the external link as it is notable as an alternative server environment. I think the information that it exists, in that paragraph, is useful. I have however removed mention of it from the BlueDragon and Railo articles where it is not really relevant and had been slipped in by the same contributor. -- Blorg 14:21, 15 February 2006 (UTC)
[edit] Coldfusion IS a Programming Language
The intro text to the article is wrong. Coldfusion is not a scripting or programming language, but is the server which dynmically interprets CFML and/or CFSCRIPT to generate content.
I think this article confuses these two concepts throughout and needs a thorough cleanup to make this distinction clearer. For example, Coldfusion Components are written in CFML, but it is Coldfusion that generates web services from these components. It is Codlfusion that offers support for event gateways, which are written using CFML (and configured with XML). And so on.
Thus Coldfusion and BlueDragon compete in the server space, but both offer CFML support. Because CFML is not standardized, one cannot say that nuances introduced in BlueDragon are NOT part of CFML or vice versa. They both claim to offer CFML interpretation, and generally they do. As server products they differ, such as BlueDragon support for .NET and Coldfusion support for Flash Remoting.
I think a good solution would be to split this article into two: one for Coldfusion and the other CFML. Scott Arbeitman
- This is the business argument made by New Atlanta, makers of BlueDragon but it is basically a false one. Adobe (Macromedia, Allaire) is the owner of ColdFusion which is the server using the CFML language. They make the standard as they own the copyrights. Why they have not sued New Atlanta over their claims that CFML is 'open' and anyone can use it is a mystery to me. Lets try this all to gether. ColdFusion Markup Language. Not BlueDragon Markup Language. ColdFusion. This directly makes the relationship between the ColdFusion server that does nothing other than parsing the ColdFusion Markup Language and the language itself. If New Atlanta uses the ColdFusion Markup Language, then they are implying that they are ColdFusion, which they are not.
-
- I don't agree with that at all. CFML is a programming language. It might be the intellectual property of Adobe (although I doubt it), but that doesn't make it more than a programming language. Where can I find the details of Coldfusion copyrights owned by Adobe? That would help us make a distinction.
-
-
- ColdFusion can be used to refer to both the server and the script which it executes. Technically the language is CFML/ColdFusion Markup, but that doesn't preclude from calling it just ColdFusion (or CF), and generally it's clear from the context whether what's being referred to is the server or the code.
- However I do agree it would probably be useful to split the article into [server product] and [language], specifically with the CFML/language page showing a the key differences between the various versions of CFML (CF5, CFMX, BD, etc). --BP
-
-
- Having used ColdFusion for over 10 years now, I have to say that it IS a programming language as real as any other. But that's neither here nor there at the moment. The ColdFusion language is tied to the ColdFusion server. Yes, the Bluedragon server uses CFML, but it's not the ColdFusion server and the issue above of language name is important. I don't believe that Bluedragon markets itself as the Bluedragon ColdFusion server, so it's use of the CFML language has certain semantic issues. Seperating the server from the language is a problem because the server is nothing without the language and the language needs a server to run.
While it is possible to have an entry on the language and its evolution, the entry on the server will just be that it was written in C++ and then moved to Java. What else can really be said without making it a catch-all page including other servers that parse CFML, but are not ColdFusion.
It's all an issue of semantics and I vote to keep it together. As an aside, I'd be interested to know if there is any sort of formal ownership of the language by Adobe. I'll ask the Team list.
[edit] Trailing slashes in code
This is totally useless and does nothing for the example code. Some people put them in due to a false sense of XHTML compliance but as ColdFusion does not need them nor is ColdFusion XHTML complient (or even XML complient in some ways), their use is a personal preference that has only cropped up in the last year or two. I've removed them to align the code to the most commonly used samples. Mdinowitz 07:14, 27 February 2006 (UTC)
- Maybe we can have a policy that whomever writes the code with or without traling slashes should not have to worry about it being changed by someone else for no good reason. We all have our preferences, and one way is no more right than another. My experience is Coldfusion developers are definitely moving to make their code look like xml and though we know that it isn't. I personally think it makes the code easier to follow, especially for someone looking at Coldfusion the first time with knowledge of XML or HTML.
The issue is standardization. When someone sees some code without slashes and some with (unneeded) slashed, it sows confusion. It also implies that ColdFusion is XML compliant which is far from the truth. The use of trailing slashes is a personal preference that is not reflected in either the past of ColdFusion or in its documentation. I'd prefer to keep the code clean and to documentation spec rather than adding personal formatting preferences. But that's just my take on it. Mdinowitz 15:46, 21 April 2006 (UTC)
[edit] Critisms
I'm a big fan of ColdFusion. I added the critisism section to get the discussion going. I'm glad I did.
The argument that the language of Coldfusion is open-source is completely rediculous. I think the right word is 'documented', otherwise who would be able to use it? When we say open source, we don't mean that it's possible to pick up a book and learn the language. That's just not what it means in common usage.
The fact that Coldfusion misses features is not really negated by the fact that there might be extensions that provide this missing functionality. This is referenced in the preceding point about extentions. The fact is, these things don't work out of the box and that's a problem.
As for extensions, just because you can name 3 sites that offer coldfusion extensions doesn't mean the library of CF extensions come anywhere near that amount of extensions for PHP, JSP, or ASP.NET. Nor does it say anything about quality and maturity. The fact is (and I admit, I can't cite anyone here) that there exist less extensions for Coldfusion than for many (most?) other scripting languages. That's a legitimate critism.
As for speed, do we have any stats related to page execution speed? I would imagine that before CF was ported to Java, some pages would actually execute faster, especially the first time they were requested. I don't think its accurate to say that CF has been getting faster. Where's the proof? (OK. here too I admit: Where's the proof that it's slow?)
ColdFusion is expensive for the server vs. it's competition which is free. On the other hand it is well known for being easier and faster than those same competitors which easily makes up for the price difference. CFML syntax is different than most scripting language but is not unique with the advent of java tag libraries. ColdFusion is not slow. It compiles down to Java class files and those are Java. The first page run might be slower due to the compile time but once that's done it's the same as Java. Manipulating images as well as iMap and other features are easily accessed by using the Java libraries. Multiple inheritance isn't a feature, it's a curse. :)
A few extra thoughts from an alternate source... I've been using CF and Java solutions for some time now. CF has its limitations, speedwise, not really that much slower than java and the speed question is silly because you can always throw more servers at a speed problem, and that's cheap. Man hours aren't. I've found that the man hours to deployment on CF vs Java is about half for most solutions. CF is a great prototyping language or limited usage app development language, but heck, Myspace is mostly CF, so maybe its good for high volume as well. Whenever a client will permit CF development, I tend to do it as the man hours are so greatly reduced that profit margins on software development are MUCH higher and the client has a much lower overall bill. The effective result is that it saves a lot of money and allows you to get your product to market faster. Feel free to delete these comments, they are being posted in a vain attempt to make people wake up to the laws of dollars and cents. (Since when is 1000 USD for server software expensive anyway guys? We're charging 150 USD/hr and upward for software development. 6 hours of contract development makes up the cost of the server.)
[edit] Easier and Faster?
You say "...it is well known for being easier and faster than those same competitors...". "well known" by whom? That is certainly not my experience! Do you have any basis for your statement? In particular, you jump from the server cost to programming costs, as though those are related. You only reference Java, and are probably correct for that language, but that's hardly the most common competitor. .NET and PHP are both easier and faster to prototype than ColdFusion for our programmers. Our experience is that ColdFusion has a quirky syntax, poor debugging facilities, and creates "spaghetti code" by mixing application logic with presentation code. Especially since PHP is both open-source and at least as flexible than ColdFusion -- I would argue "more flexible", but that's just my experience -- I think it's a more appropriate tool in most environments. Generally (again, my experience only) folks that use ColdFusion do so because they're not familar with the alternatives, and don't want to take the time to learn them. No biggie, but it surely doesn't make ColdFusion "easier and faster". DHz 02:09, 4 September 2006 (UTC)
- I'll bite. First off, your initial critism is correct: "by whom?" is a fair critism of the article. And again, although not relevant to ther article per se, obviously ColdFusion would not be the easiest and faster tool for all jobs, nor for all people across the same job. Speaking for myself and everyone else I know that also knows ColdFusion (a small group, to be sure) and also knows another programming language well, CF is faster at most tasks; it requires less code and effort to achieve a similar outcome. I could not possibly achieve the same results with PHP or Java or Python or C or Visual Basic 6 that I could with ColdFusion, with some obvious exception.
[edit] Memory Hog?
I've not heard that one before, can we have some references to back it up? --BP 08:32, 28 July 2006 (UTC)
[edit] Arrays and Structs
I removed this from the Criticisms section:
-
- ColdFusion does not have a specific syntax for creating arrays and structs with values. This feature is very common on other commonly used scripting languages such as Ruby and JavaScript.
Do you mean creating an array or structure with values already populated? Well, structs you're right. But not so with Arrays.
<cfset myArray = listToArray("A,B,C,D,E")>
Creates an array with five elements set to the values shown.
<cfset myArray = arrayNew(1)> <cfset myArray = arraySet(myArray, 1, 10, "x")>
The array variable needs to exist, but you can change a range of values in bulk. The above sets all the elements from 1 to 10 to the value "x". —Wrathchild (talk) 14:12, 30 November 2006 (UTC)
- My critism is still valid because none on this is syntax specifically for array population: these are simply functions which handle -- ineffeciently -- what native syntax otherwise could. Nevertheless, I supposed my comment was fairly ambiguous and is best omitted. scott a 11:50, 2 December 2006 (UTC)
-
- Your criticism has no place in this article. Only stuff published in multiple, non-trivial sources should be here. Your opinions can be posted on your website. —Wrathchild (talk) 14:19, 2 December 2006 (UTC)
[edit] Need More History
This article has basically no mention of versions of CF prior to MX 6.0, a major oversight IMO. If I get a chance, I'll try to fill in what I know (I've been using it since version 3). Thalter 17:02, 26 July 2006 (UTC)
Most of the early history was in the entry but removed over time. Much of the history backs up the mentions that ColdFusion was the first tag based language, that it was perceived as easier than other languages due to the tag based nature, and that the development time for a ColdFusion based application was quite faster than others due to the compactness of it's language.
1.ColdFusion was released in 1995 before any other tag based language existed. It was even seen as a 'fake' language because of it. It wasn't until years later that tag based languages like Java tag libraries and Asp.net followed suite.
2. When ColdFusion came out, the only way to do web applications was to write CGI programs by hand, usually using Perl. ColdFusion made the job of CGI programming quite faster and easier for people, especially those who were not into Perl. Even with Perl CGI libraries, ColdFusion was by far easier and faster to work with, even with it's 1.0 limitations.
3. There have been many examples posted to various sites showing a single CFQUERY tag getting data from a database vs. a much larger chunk of Asp, Perl or other languages. This compactness and readability lent itself to the speed of programming mentioned.
What else would be needed to remove the 'lack of cited sources'? Would specific sites or books work?
[edit] Needs References
This article makes a lot of unsubstantiated claims, both in favor of and against ColdFusion. I put this entire article under the {{Unreferenced}} template as a result. Thalter 16:25, 28 July 2006 (UTC)
[edit] First sentence
The first sentence tells us this: "ColdFusion is the original and most common implementation of a tag and ECMAScript-based programming language — ColdFusion Markup Language (CFML) and CFSCRIPT, respectively — which is typically used in web application development for the generation of dynamic web pages." This is a very good example of a first sentence which is fine as long as you already know what it means. I came here wanting to know what ColdFusion is, and this does not tell me. Could it not be rewritten so as to make it clear to the non-specialist reader - before you get into paranthetical bits about "CFML and CFSCRIPT, respectively" - what it actually is, and does? 138.37.199.206 08:17, 1 August 2006 (UTC)
- Does this sound better...
- ColdFusion is the original and most common application server for CFML (ColdFusion Markup Language), a server-side scripting language (similar in function to ASP.NET, JSP and PHP, but with a tag-based syntax like XML), that can be used to power dynamic and database-driven websites.
- --BP 13:51, 1 August 2006 (UTC)
- Well no objections so I'll go change it - can always be reverted if anyone hates it. --BP 12:30, 2 August 2006 (UTC)
-
- Going with theme, I've changed the opening section to better reflect the point raised by 138.37.199.206 -- scott a 00:44, 3 August 2006 (UTC)
Total objection! ColdFusion is the original and most common example of a tag based scripting language. The ECMAScript came much later and is a sub-section of the language at best. Also, the better example of a tag based language is Java Tag Libraries, which came later. ColdFusion does not follow some of the rules of XML and comparing it only brings up the conflicts rather than the simularities.
- What are you objecting to - nothing in your comment is in the current opening? I agree about CFScript which is why my re-write did not include it, and Coffeeflower obviously agreed about XML and used HTML instead. I can accept HTML over XML, but using JTL would be a bad comparison because far fewer people know what it is compared to HTML/XML. --BP 08:56, 4 August 2006 (UTC)
- Seeing as how ColdFusion can use JTL, I'm not seeing this as a valid comparison. It only furthers the point that ColdFusion is not a programming lanuguage per se. If you were comparing CFML to JSP, I can see the point, but this doesn't seem to be what you are suggesting. scott a
- The XML/HTMl argument is trivial, as the similaries between those two standards is diminishing with XHTML. I was originally going to use XSLT instead of HTML since it supports if statments and the like, but I thought that reference could be lost on first-time readers. scott a
[edit] ECMA-compliance
One of the criticisms is that "CFScript is not ECMA-compliant". The article doesn't mention what ECMA compliance is or why it matters. The link to CFScript is not ECMA-compliant. The link goes to ECMAScript, but that article doesn't talk very much about compliance either. Koweja 19:30, 9 August 2006 (UTC)
- ECMA compliant means it complies with the ECMA-262 specification. Simple as that. Would probably be clearer if it wasn't hyphenated. CFScript is not compliant because it uses different operators ("GT" instead of ">", and so on) and possibly a few other things. --BP 08:06, 10 August 2006 (UTC)
- I have updated that section to hopefully be clearer. Any comments? --BP 08:14, 10 August 2006 (UTC)
- Ok, that makes sense. Thanks. Koweja 17:01, 10 August 2006 (UTC)
[edit] plagiarism
Was looking for information on CF. Looked here, and read through everything. Then I read http://www.nueva-design.com/nvd/Server-Side-Coding/Coldfusion-Tutorial/Coldfusion-Tutorial-5.html and I noticed the text was exactly the same as the wiki's text. Not sure which page plagiarized which. Can't look into it more because the other site went down minutes after I noticed this. Someone should investigate and replace the offending text if the wiki is plagiarized from this site. 129.21.215.247 15:35, 12 September 2006 (UTC)
- It's not uncommon for other websites to copy Wikipedia's content. Usually they have a disclaimer stating that the content is from WP.
- If it was exactly the same, then this is very likely to be the case here - since this article has been expanded gradually over time by various people, including myself, and the stuff I wrote was not plagiarised. --BP