|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Why isnt's Coldfusion popular?
Hi, I program PHP mostly for my needs, but just out of curiosity I downloaded the trial of Coldfusion MX. I observed it had great and easy database access, with just <cfquery and <cfoutput query='name'.
Since it is this easy to update data. Why isnt Coldfusion as popular as PHP? |
|
#2
|
|||
|
|||
|
Good question Ramihg, and its a fairly simple answer, 2 answers actually. The first being cost, the big issue with writing sites in CF is that hosting can be an issue. It is considerably more expensive then a LAMP setup and is almost always used on a Win box, so depending on how you feel about windows hosting its a positive or negative. Also, CF is best used with MS SQL or MS Access, again microsoft products, so if you are an open source kind of guy CF isnt the way to go. To get a server setup with CF, Win2k3 and MS SQL it isn't exactly cheap, 10k+ actually. A bit more expensive then the $0 cost of PHP, Apache, mysql. You won't find any reseller CF accounts for $10-$15 like you do with php, you are talking $50+ for that kind of package in CF. Also, its best to run MS SQL and CF on different servers, so you just doubled your hardware costs.
Also, the main benefit of CF is that it was built with making web applications in mind. It isn't an all purpose programming language, it doesn't allow you to run apps from command lines, it is rather bad at string manipulation (its regex support is atrocious) BUT what it is excellent for is any time of application that requires general data manipulation and database access. No language makes querying a database and displaying results as easy as CF. As well, its mail, http and file tags are so far ahead of anything that php has in terms of usability, that after working on CF you will find the other languages to be like working in cobol. All of that makes for the second reason it isn't popular. CF is a business app language, you dont make 'sweet' device drivers with it or 'cool' regex functions in CF. You build business applications, which means the million or so script kiddies who made php so popular, have no interest in CF. PHP has two major things going for it, hosting startup costs and availability of sample scripts. The cost of running a php host is peanuts compared to CF, so you have a much much larger array of hosts available to you, thus pushing down the price of hosting which takes us back to answer #1. The second part of that is availability, CF isn't open source, it isn't run for the most part on open source OSs, people rarely make Open Source projects in CF. Just go check out hotscripts and compare the scripts available in PHP(8600) vs CF(230), there is a huge disparity, and its because of the open source nature of php. It goes back to answer #2, CF is for business apps, usually custom and generally all proprietary, so sharing CF code isn't common. I hope I didn't ramble too much any questions just ask away. |
|
#3
|
|||
|
|||
|
There are actually a fair number of open-source CF projects at Sourceforge and www.cfopen.org.
The real issue is cost. PHP is a great hobbiest language because it is free and I think it even comes bundled with Apache. Not that you can't build enterprise applications with PHP, but the vast, vast majority of PHP use is for personal web sites and smaller sites. Because CFMX Enterprise is about $5000 this is a barrier for entry for a lot of people. However, when you get into the realm of real projects, $100,000, $200,000, $500,000 projects, the $5000 cost of the server is almost insignificant. This is where overall cost of the project becomes the driver. Yes the CF server costs $5000. But if you are paying developers $75-$150 per hour and building your application in CF saves you 1000 hours over using PHP, you can see that the CF solution is actually far more economical. NewAtlanta now has a free version of their CFML engine called BlueDragon. It is very full-featured so I hope that this option will increase the penetration of CF. Overall I often fault Macromedia for not properly marketing ColdFusion. On one hand it is so easy to learn that lots of people think it is a toy language. On the other hand you have a large group of very experienced developers building massive enterprise applications with ColdFusion, leveraging object-oriented design patterns and sophisticated object models. The skill and experience range within the CF community is about as wide as you could possibly get. And I often think Macromedia disses the high-level developers for the sake of making CF more accessable to the masses. The next version of CF will likely have tons of front-end enchancements like automatic Flash-based form generation, automatic PDF generation, report generation that wails on Crystal Reports, etc. But while there will likely be some goodies for higher level developers (the event gateway is said to be amazing), lots of things we were yelling for, like interfaces for CFCs, will probably not appear. Which is one of the reasons why I think the next big trend will be: write CFML as your controller logic and your display logic because it is so easy and fast, and then build really robust object systems in Java and call them from CF. This wandered off topic but it feels good to rant. ![]()
__________________
Ask if you have a question, but also help answer questions that you have knowledge of! Thanks, Brian. How to Post a Question in the Forums |
|
#4
|
|||
|
|||
|
While kiteless echoed my post and sentiments for the most part, I have to disagree with the comment about it being a hobbiest language. There are lots of large companies that use php such as HP, Avaya, T-Mobile, Yahoo and Lycos. Also, there isn't just one answer to why it isn't popular or will be popular, if you read my post you will see there it is a number of forces that are causing it to be less popular then php.
For the individual developer the free product will always win out, which is why there are so many more scripts/project available in php. For the enterprise developer it comes down to not only cost but what the manager of the project is most comfortable with. That is why a lot of apps are still being built in what could be described as legacy languages. The people in the positions to make these decisions didn't grow up learning and using CF (or php) so it isn't the first language they think of using, or ultimately decide to use. This is why php will have the advantage for a long time over CF in terms of app numbers. There are more people moving up the corporate ladder and making project decisions who have used php then ones that have used CF. Also, more and more people within companies are moving to open source OSs, applications and services. You arent going to choose a CF system when everything else you run is open source. The same goes for both high schools and colleges, the dominate programming courses are still c(c++), java and to a larger extent now, php. If you learn C, you can learn PHP very quickly. But knowing C doesn't do anything for learning CF, in fact it hinders you from learning CF as quickly compared to if you didnt know C. Even after saying all of that, the future is still bright for CF. As kiteless mentioned there is an open source cfml engine available which we can only hope will grow and mature and the more people that we can expose to CF the quicker it can grow. I spend my time split about 50/50 with developing in PHP/CF but if anyone asks what language they should learn to build websites, I try to convince them to use CF. Long live CF ![]() |
|
#5
|
|||
|
|||
|
Don't get me wrong, I think PHP, especially PHP5, is great. I know PHP is not only a hobbiest language.
When you say there are more people moving up the corporate ladder from choosing PHP over CF, I'd respond that it depends on what you are looking at. Within the federal and state governments, as well as in certain areas like power companies, CF is much more widespread than PHP (I am a federal contractor). But the real problem is, as you mentioned, that CF just isn't being sold correctly. Some people think they know about CF but they really don't. And some saw it at version 3 or 4 and still think it's a toy. When explained correctly, CFMX is a pretty easy sell, especially if the organization is already moving to Java. CFMX is essentailly a Java application itself, so it plays extremely well with Java. I think they should really position CFMX as a rapid development tool for Java. So you can use all the awesome and fast things that CFMX does so well like XML parsing, creating web services, Flash remoting services, database interaction, and especially display code. But if you want or need extremely granular control, or need to build large and complex object models, you can do this directly in Java and just call it from CF. All the open-source or community Java tools and code are just sitting there waiting for CF developers to leverage them. I honestly wouldn't be surprised if the next version of PHP compiles to Java classes just like CFMX does. Trying to go it alone in the .NET and J2EE world would be a very bad move for them in my opinion. Let's put it this way, I love CF. But I'm learning Java because I know I won't be writing CFML forever. ![]() Last edited by kiteless : November 26th, 2004 at 05:59 PM. |
|
#6
|
|||
|
|||
|
Good post Kiteless, I agree with you that on large scale applications such as the government CF is going stronger then PHP. Which makes sense considering how Macromedia does its marketing of CF, as you mentioned a lot of the current issues are their fault and can be corrected if they decide they want to.
I fear though, that php with its push from the ground up will always be ahead of CF if they stay on the top down approach to marketing it. In terms of dollars and cents, Im sure CF projects total more then PHP projects do, but in shear quantity, PHP probably outpaces CF 100 to 1, if not more. You can't get that mass reach by just targeting the corporate and high end applications. |
|
#7
|
||||
|
||||
|
My poem
Its expensive
php is free i say its worth it some would disagree -Alas |
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > ColdFusion Development > Why isnt's Coldfusion popular? |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|