Skemcin Posted May 9, 2007 Share Posted May 9, 2007 Why? I've only seen 2 websites that use coldfusion, some random game, and of course the adobe website (wonder why!). I dont see a reason to add a language that isnt exactly going anywehre, thats like saying add Basic or Pascal on there. (Not trying to flame, just point out something)I welcome these statements as they are unquestionably based on personal opinion and very little, if any, fact.FACT: In use at 75 of the Fortune 100 companies and at more than 10,000 other companies worldwide, ColdFusion MX is one of the most widely adopted web technologies in the industry.First, here is a short list of ColdFusion sites:75 of the Fortune 100Cold Fusion ShowcaseBen Forta's Library of CF SitesGovernment AgenciesNon-ProfitsHow about Yahoo Web-based Instant Messenger, based off of Flex 2 technology:http://www.onflex.org/ted/2007/05/yahoo-we...with-flex-2.phpSecond, I can sum it up in three words - power, flexibility, and speed. Learn more here:http://www.digital-crew.com/index.cfm/page/whycoldfusiThe latest release, due out real soon, has a slew of features that no other language supports - including RSS built-in conversions, .NET integration, MS Exchange Server interaction, server side Presentation (Adobe Breez, power point like) creation on the fly, server side pdf and pdf form generation and manipulation, built in AJAX and JSON functionality, and the list goes on.re: http://coldfusion.sys-con.com/read/364573.htmIn fact, now, if ever before, is the best time to get to know ColdFusion. There is no application programming language that is easier to learn, use, and integrate.Here is one more to read:http://coldfusion.meetup.com/17/messages/b...?thread=2995449I can go on for days, but I'd like to see what evidence you are basing your statement off of? Link to comment Share on other sites More sharing options...
aspnetguy Posted May 9, 2007 Share Posted May 9, 2007 Why? I've only seen 2 websites that use coldfusion, some random game, and of course the adobe website (wonder why!). I dont see a reason to add a language that isnt exactly going anywehre, thats like saying add Basic or Pascal on there. (Not trying to flame, just point out something)lol not exactly a statement you should make with out anything to back it up, especially with Skemcin lurking around. Link to comment Share on other sites More sharing options...
Jonas Posted May 9, 2007 Share Posted May 9, 2007 lol not exactly a statement you should make with out anything to back it up, especially with Skemcin lurking around.LOL, yeah, that's just asking for it. Generally don't make statements like that without being able to back it up, it ALWAYS backfires... :)And those are impressive stats skemcin, especially looking at the Ben Forta DB. Although I had read that first link before, so I never jumped to negative conclusions in advance. Link to comment Share on other sites More sharing options...
reportingsjr Posted May 10, 2007 Share Posted May 10, 2007 Its just not that used, 10k out of billions? Not exactly rising... Why would anyone want to pay to use a language when they could get a language that seems to be just as good free? I don't see why I would want to pay $80 (thats it right?) a year to use a language that seems like it can do the exact same as php. If I wanted I could make a plugin for python (which I am working on by the way ) to work in browsers and have my very own really powerful programs. Link to comment Share on other sites More sharing options...
aspnetguy Posted May 10, 2007 Share Posted May 10, 2007 Its just not that used, 10k out of billions? Not exactly rising... Why would anyone want to pay to use a language when they could get a language that seems to be just as good free? I don't see why I would want to pay $80 (thats it right?) a year to use a language that seems like it can do the exact same as php. If I wanted I could make a plugin for python (which I am working on by the way ) to work in browsers and have my very own really powerful programs.I believe the development compiler (you can develop in any editor) is free for development and you only pay for the server software which you would do for ASP or ASP.Net also (buy Windows Server 2003) or just pay for hosting (which you do for any language).I'm not convinced that there are billions of web programmers out there.Here is a quote from a development siteIn use at 75 of the Fortune 100 companies and at more than 10,000 other companies worldwide, ColdFusion MX is one of the most widely adopted web technologies in the industry.Not sure how accurate the most widely adopted web technology part is (I imagine that would be PHP) but the numbers are pretty impressive as far as being used by the majority of the World's largest companies. So why use it? Want to work for 1 of the Fortune 100's??? Link to comment Share on other sites More sharing options...
Skemcin Posted May 10, 2007 Author Share Posted May 10, 2007 Its just not that used, 10k out of billions? Not exactly rising...It seems, again, that you have avoided providing statistical information to support this statement. Are there billions of serverside scripting language prgrammers - where is your evidence of that? If 75% of the 100 most rich companies use ColdFusion and the majority of government agencies use ColdFusion, how are you able to say that "its just not used"? Where are your statistics that show the use or sales of ColdFusion are not rising? A little over a year ago, ColdFusion revenues were up 45% and overall yearly sales growth averages out to 20%:http://www.forta.com/blog/index.cfm?mode=e&entry=1610...I don't see why I would want to pay $80 (thats it right?) a year...Where do you see a cost with ColdFusion - especially the $80 a year - for what?ColdFusion is free to use. The server application is a free download with the only restriction being to serve 2 IPs. The purchase of a ColdFusion license is only needed if you are going to host your own application. If you have the budget, resources, and expertise to do that then the price is a drop in the bucket. Additionally, you do not need to purchase any software to have a programming user interface. CFEclipse is a wonderful (free) and very powerful tool that developers can use - oh, but not just for ColdFusion, it supports all other programming languages as well....a language that seems like it can do the exact same as php.All I have to say is:http://coldfusion.sys-con.com/read/46362.htmIf I wanted I could make a plugin for python (which I am working on by the way ) to work in browsers and have my very own really powerful programs.Think about this statement, you are now comparing apples to oranges. ColdFusion does not require a plugin - it is server side. So your technology is now going to require the end user to download and install a plugin? The only company that has shown any success of that was Macromedia with Flash - err, uhh, wait didn't Adobe just buy Macromedia who also coincidently owns ColdFusion - very interesting.Overall, I am disappointed with your response but not all surprised. It is evident that you initially commented on a subject that you know little about. And there is nothing wrong with that - I've done it many times myself. However, unlike you, I acknowledged the fact and quickly made it clear that I needed to learn more about the subject before being able to comment further on my remarks. Link to comment Share on other sites More sharing options...
aspnetguy Posted May 10, 2007 Share Posted May 10, 2007 I didn't realize that CFML converts to Java at runtime. So theoretically you could do most anything with a combo of CF and Java?That is a good comparison with PHP. I am slowly writting classes and wrappers in PHP for common tasks to reduce the time to develop and the amount of code needed. Link to comment Share on other sites More sharing options...
Skemcin Posted May 10, 2007 Author Share Posted May 10, 2007 I didn't realize that CFML converts to Java at runtime. So theoretically you could do most anything with a combo of CF and Java?Yep. With the CF8 coming out this summer, one of its biggest features is the integration with .NET. Additionally, the <cfimage> tag allows you the full range of image manipulate conceivable - even to creating CAPTCHA. Heck you can overlay text and even draw polygons on an image with <cfimage>. It can also store the binary information in the database and pass it do the browser without ever having to write the image to the server.That is a good comparison with PHP. I am slowly writing classes and wrappers in PHP for common tasks to reduce the time to develop and the amount of code needed.It interesting to see what other languages have to go through to generate an email, a chart, or even a pdf file - its just so much easier and quicker in CF (those tasks at least).... in any respect, YES, the two put together can do quite a bit - on any OS. Link to comment Share on other sites More sharing options...
reportingsjr Posted May 10, 2007 Share Posted May 10, 2007 So... coldfusion is just shorthand code for java? Link to comment Share on other sites More sharing options...
jesh Posted May 10, 2007 Share Posted May 10, 2007 I didn't know that CF converted to Java at runtime either. Without having seen very much CF source code (How come there isn't a tutorial here?), I had assumed that the ML in CFML meant "Markup Language" and that pretty much everything you do with CF is through markup code. My biggest gripe, based on my assumption, was that there'd be no practical way to separate the presentation layer from the more complicated functional layers.I understand now, I believe, that it is possible to separate those layers using Java. Without actually using Java, however, is it possible to separate out those two aspects of web development through CF alone? Link to comment Share on other sites More sharing options...
Jonas Posted May 10, 2007 Share Posted May 10, 2007 (How come there isn't a tutorial here?) NOTE: Due to server side technologies currently not available to w3schools hosting services, Cold Fusion Tutorials are not offered on w3schools.com until further notice. Any post requesting CF tutorials will receive no reply and be immediately removed.Although don't worry, we won't remove your post, it's generally a warning, and goes primarily for topics more than on-the-side questions. Link to comment Share on other sites More sharing options...
Skemcin Posted May 11, 2007 Author Share Posted May 11, 2007 So... coldfusion is just shorthand code for java?Although overly simplistic, I'd say thats an accurate statement.I didn't know that CF converted to Java at runtime either. Without having seen very much CF source code (How come there isn't a tutorial here?), I had assumed that the ML in CFML meant "Markup Language" and that pretty much everything you do with CF is through markup code. My biggest gripe, based on my assumption, was that there'd be no practical way to separate the presentation layer from the more complicated functional layers.I understand now, I believe, that it is possible to separate those layers using Java. Without actually using Java, however, is it possible to separate out those two aspects of web development through CF alone?I think I understand your question, so let me know if looking at this code helps. This code is all the source code that generates my News Page on iribbit.net:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>iribbit.net - Leap into the online experience! - COLD FUSION NEWS</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><!--- define news sources ---><cfset cfdj_feed="http://cfdj.sys-con.com/index.rss"><cfset forta_feed="http://www.forta.com/blog/rss.cfm?mode=full"><cfset bryant_feed="http://steve.coldfusionjournal.com/index.rss"><cfset cfnews_feed="http://www.fusionauthority.com/rss.cfm"><cfset easycfmnews_feed="http://www.easycfm.com/syndication/EasyCFMNews.cfm"><cfset easycfm_feed="http://www.easycfm.com/syndication/EasyFeed.xml"><cfset digg_feed="http://www.digg.com/rss/index.xml"><cfset npr_feed="http://www.npr.org/rss/rss.php?id=1019"><cfset bbc_feed="http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/business/e-commerce/rss.xml"><cfset cnn_feed="http://rss.cnn.com/rss/cnn_tech.rss"><cfset wired_feed="http://www.wired.com/news/feeds/rss2/0,2610,3,00.xml"><cfset cnet_feed="http://news.com.com/2547-1_3-0-5.xml"><cfset zdnet_feed="http://news.zdnet.com/2509-9588_22-0-10.xml"><!--- where feed is coming from ---><cfparam name="newssource" default="Cold Fusion Developer's Journal"><cfparam name="url.pullnewsfrom" default="cfdj_feed"><cfif url.pullnewsfrom IS "bbc"><cfset newssource = "BBC"><cfset URLToPull = "#bbc_feed#"><cfelseif url.pullnewsfrom IS "cnn"><cfset newssource = "CNN"><cfset URLToPull = "#bbc_feed#"><cfelseif url.pullnewsfrom IS "wired"><cfset newssource = "Wired News"><cfset URLToPull = "#wired_feed#"><cfelseif url.pullnewsfrom IS "cnet"><cfset newssource = "c|net"><cfset URLToPull = "#cnet_feed#"><cfelseif url.pullnewsfrom IS "zdnet"><cfset newssource = "ZDNet"><cfset URLToPull = "#zdnet_feed#"><cfelseif url.pullnewsfrom IS "npr"><cfset newssource = "NPR"><cfset URLToPull = "#npr_feed#"><cfelseif url.pullnewsfrom IS "digg"><cfset newssource = "digg.com"><cfset URLToPull = "#digg_feed#"><cfelseif url.pullnewsfrom IS "easycfm"><cfset newssource = "EasyCFM Tutorials"><cfset URLToPull = "#easycfm_feed#"><cfelseif url.pullnewsfrom IS "easycfmnews"><cfset newssource = "EasyCFM News"><cfset URLToPull = "#easycfmnews_feed#"><cfelseif url.pullnewsfrom IS "cfnews"><cfset newssource = "Fusion Authority"><cfset URLToPull = "#cfnews_feed#"><cfelseif url.pullnewsfrom IS "bryant"><cfset newssource = "Steve Bryant's Blog"><cfset URLToPull = "#bryant_feed#"><cfelseif url.pullnewsfrom IS "forta"><cfset newssource = "Ben Forta's Blog"><cfset URLToPull = "#forta_feed#"><cfelse><cfset newssource = "Cold Fusion Developers Journal"><cfset URLToPull = "#cfdj_feed#"></cfif><cfoutput><link rel="alternate" type="application/rss+xml" href="#URLToPull#" title="RSS Feed Provided by: #ucase(url.pullnewsfrom)#" /><link rel="shortcut icon" href="_images/favicon.ico" type="image/x-icon" /><link rel="stylesheet" type="text/css" href="_includes/globalstylesheet.css" /></cfoutput></head><body><cfinclude template="/i/_includes/makepovertyhistory.cfm"><table width="780" cellpadding="0" cellspacing="0" border="0"><tr><td width="288" valign="top" class="leftside"><cfinclude template="/i/_includes/header.cfm"><cfinclude template="/i/_includes/news.cfm"></td><td width="492" valign="top" class="rightside"><img src="_images/header-coldfusion.gif" alt="Macromedia - Cold Fusion Programming" width="492" height="107" hspace="0" vspace="0" border="0" /><br /><cfinclude template="/i/_includes/navigation.cfm"><img src="_images/pixel-white.gif" alt="white horizontal rule" width="492" height="1" hspace="0" vspace="0" border="0" /><br /><div class="content"><h1>Cold Fusion News :.<br /></h1>To bring a little life to my site, I've pulled a couple <a href="rss.cfm" title="What is RSS?" accesskey="r"><img src="_images/btn-rss.gif" alt="What is RSS" width="36" height="14" hspace="3" vspace="0" border="0" /></a> Feeds into this page. You can currently choose between the technology related news stories from the following news sources:<br /><br /><ul> <li><a href="news.cfm?pullnewsfrom=cfdj" title="Cold Fusion Developer's Journal" class="LinkButton">Cold Fusion Developer's Journal</a><br /></li> <li><a href="news.cfm?pullnewsfrom=forta" title="Ben Forta's Blog" class="LinkButton">Ben Forta's Blog</a><br /></li> <li><a href="news.cfm?pullnewsfrom=bryant" title="Steve Bryant's Blog" class="LinkButton">Steve Bryant's Blog</a><br /></li> <li><a href="news.cfm?pullnewsfrom=cfnews" title="Fusion Authority" class="LinkButton">Fusion Authority</a><br /></li> <li><a href="news.cfm?pullnewsfrom=easycfmnews" title="EasyCFM Mews" class="LinkButton">EasyCFM News</a><br /></li> <li><a href="news.cfm?pullnewsfrom=easycfm" title="EasyCFM Tutorials" class="LinkButton">EasyCFM Tutorials</a><br /></li> <!-- <li><a href="news.cfm?pullnewsfrom=digg" title="digg.com" class="LinkButton">digg.com</a><br /></li> <li><a href="news.cfm?pullnewsfrom=npr" title="NPR" class="LinkButton">National Public Radio(NPR)</a><br /></li> <li><a href="news.cfm?pullnewsfrom=bbc" title="BBC" class="LinkButton">British Broadcasting Corporation(BBC)</a><br /></li> <li><a href="news.cfm?pullnewsfrom=wired" title="Wired News" class="LinkButton">Wired News</a><br /></li> <li><a href="news.cfm?pullnewsfrom=cnet" title="c|net" class="LinkButton">c|net</a><br /></li> <li><a href="news.cfm?pullnewsfrom=zdnet" title="ZDNet" class="LinkButton">ZDNet</a><br /></li> <li><a href="news.cfm?pullnewsfrom=cnn" title="CNN" class="LinkButton">CNN</a><br /></li> --></ul><br /><cfoutput>You are currently viewing and RSS Feed from <strong>#newssource#</strong>.<br /></cfoutput><br /><hr /><br /><cftry> <!--- get feed from site ---> <cfhttp url="#URLToPull#" method="GET" timeout="15" /> <!--- parse xml information ---> <cfset objRSS = xmlParse(cfhttp.filecontent)> <!--- <cfdump var="#objRSS#" label="NPR Top Stories RSS Feed"> <cfabort> ---> <!--- find length of arrary to look through ---> <cfset ArrayLength = arraylen(objRSS.rss.channel.item)> <cfset ItemsDisplayed = 0> <!--- loop through array to output feed ---> <cfloop index="x" from="1" to="#ArrayLength#"> <cfoutput> <cfset ItemsDisplayed = ItemsDisplayed + 1> <strong>#objRSS.rss.channel.item[x].title.xmltext#</strong><br /> #objRSS.rss.channel.item[x].description.xmltext#<br /> <em class="smallfont">(#objRSS.rss.channel.item[x].pubdate.xmltext#)</em><br /> <a href="#replace(objRSS.rss.channel.item[x].link.xmltext,'&','&','all')#" title="#objRSS.rss.channel.item[x].title.xmltext#" target="_blank" class="newsfeed">[view article in new window]</a><br /> <br /> </cfoutput> </cfloop> <!--- loop through array to output source ---> <hr /> <blockquote style="text-align:center;"> <cfset SourceLength = arraylen(objRSS.rss.channel)> <cfloop index="x" from="1" to="#SourceLength#"> <cfoutput> © #objRSS.rss.channel[x].copyright.xmltext#<br /> <em class="smallfont">(#objRSS.rss.channel.item[x].pubdate.xmltext#)</em><br /> <a href="#replace(objRSS.rss.channel[x].link.xmltext,'&','&','all')#" title="[goto news source in new window]" target="_blank"><img src="#objRSS.rss.channel[x].image.url.xmltext#" hspace="0" vspace="3" border="0" alt="#replace(objRSS.rss.channel[x].link.xmltext,'&','&','all')#" /></a><br /> <br /> </cfoutput> </cfloop> </blockquote> <!--- show message if no updates ---> <cfif ItemsDisplayed EQ 0> <cfoutput> No articles currently available.<br /> <br /> </cfoutput> </cfif><!--- catch errors ---><cfcatch type="any"><cfoutput>The connection to the #ucase(url.pullnewsfrom)#'s RSS feed has timed out - please try again later. We are sorry for any inconvenience this may have caused.<br /><br / ></cfoutput></cfcatch></cftry></div><br /></td></tr><tr><td colspan="2" class="footer"><cfinclude template="/i/_includes/footer.cfm"></td></tr></table></body></html> By the way, all the code nested in the <cftry> tags gets replaced with <cffeed> later this year when ColdFusion 8 is released.Does that help any? I think you can see just how distinct the CF code is form the HTML. Its one of the things I like - distinct difference between the code that is processed versus used for display.NOTE: I did not include the source code for the include statements and the file that sets global variables (application.cfm) is also not referenced. Link to comment Share on other sites More sharing options...
jesh Posted May 11, 2007 Share Posted May 11, 2007 Although don't worry, we won't remove your post, it's generally a warning, and goes primarily for topics more than on-the-side questions. Heh, thanks! I appreciate (and understand) the explanation as well.I think I understand your question, so let me know if looking at this code helps. This code is all the source code that generates my News Page on iribbit.net:Yeah, it helps to see the source to get a feeling for how the technology works. If you really wanted to separate it out further, I see that you could do so using the includes. Thanks for posting that. Maybe some day I'll start playing around with it. Especially since it appears to have a decent following.For now, however, I'll stick to C# and javascript. Link to comment Share on other sites More sharing options...
Skemcin Posted May 11, 2007 Author Share Posted May 11, 2007 Heh, thanks! I appreciate (and understand) the explanation as well.Yeah, it helps to see the source to get a feeling for how the technology works. If you really wanted to separate it out further, I see that you could do so using the includes. Thanks for posting that. Maybe some day I'll start playing around with it. Especially since it appears to have a decent following.For now, however, I'll stick to C# and javascript. My pleasure. All that code is inline ColdFusion so its rather elementary. The real fun and power comes in when you begin to use CFC - ColdFusion Components. Thats when you really get into the separation. The includes work, but they are more for HTML or display aspects of the page. CFCs literally pull out the processed code and make them available very similarly to how functions are called. Additionally, a CFC can actually be used by many web sites. For instance, I have 13 websites at work that all use one central CFC stored in a non-web-accessible location. The CFC accepts a username and password (form any of those locations) and then returns XML data that is, in turn, used to determine access privilidges. CFCs basically allow you to do Object Oriented Programming in ColdFusion. Link to comment Share on other sites More sharing options...
jesh Posted May 11, 2007 Share Posted May 11, 2007 The real fun and power comes in when you begin to use CFC - ColdFusion Components.Can you post the source of a simple CFC (like a 'Hello World') so I can see what it looks like? Link to comment Share on other sites More sharing options...
Skemcin Posted May 12, 2007 Author Share Posted May 12, 2007 Can you post the source of a simple CFC (like a 'Hello World') so I can see what it looks like?I'd be happy to. Here is something I whipped up in 10 minutes:example.cfm<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>CFC Basic</title></head><body><cfinvoke component="example" method="getDate" returnvariable="result"><cfoutput>#result#<br /></cfoutput><br /><hr /><br /><cfinvoke component="example" method="getContent" returnvariable="text"> <cfinvokeargument name="getText" value="hi" omit="no"></cfinvoke><cfoutput>#text#<br /></cfoutput><br /><hr /><br /><cfinvoke component="example" method="getContent" returnvariable="text"> <cfinvokeargument name="getText" value="bye" omit="no"></cfinvoke><cfoutput>#text#<br /></cfoutput></body></html> example.cfc <cfcomponent hint="Example for w3schools post number 12926"><cffunction name="getDate" output="false"><cfset var result = "Today is " & dateformat(now(),"dddd mmmm dd, yyyy")><cfreturn result></cffunction><cffunction name="getContent" output="false"><cfargument name="getText" default="" required="yes"> <cfif getText IS "hi"> <cfset text = "Hello World!"> <cfelseif getText IS "bye"> <cfset text = "Good Bye World!"> <cfelse> <cfset text = "Sorry, did you say something?"> </cfif><cfreturn text></cffunction></cfcomponent> URL:http://www.iribbit.net/i/_files/example.cfmThis is (as requested) pretty basic. You can see that you can use a single line of code to call something that doesn't take in any parameters the second method which has parameters. The CFC file can be placed anywhere on a server - even outside of a web accessible folder as long as the application is configured to map there. But the power, as you might see here, is that one file can be accessed in a number of ways and return information in a variety of ways too.The most practical and most common use for a CFC, especially with new comers, is to build a shopping cart. One CFC can handle all the functions of a cart - add, update, remove, empty, list, etc. The code to use it can be placed anywhere in a ColdFusion application. This prevents you from having to build complicated request and response pages. So its easy to have 6 or 7 places that one might add something to their cart without having each page to somewhere that then figures out where to return you once the cart request has been performed.Anyway, let me know if you have any questions on that and let me know your impressions. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.