Image

Imagesomeoneelse wrote in Imagewebdev

Cold Fusion

This was supposed to be a comment to Leeshers post today. But it got long and I would like to know what everyone else's opinion is.
Most people's opinions about CF are very old. Some of them are true, but not most of the ones I've heard. So here I've compiled a somewhat un-biased list of CF and its advantages/disadvantages. And I've addressed issues others commented on Leesher's post with.


Other Peoples Issues with CF


Expense:
I don’t know about your clients, but most of mine don’t run their own servers. So you get hosting packages anyway. Those support php/cf/asp whatever... and you don’t have to buy the server anyway. So there is no expense. For development, you can just use the trial version of it and when it expires, you get a full featured development version. So again, no expense.

Capabilities:
CF can do most anything else any other language can do. Yep. You can expand cold fusion with C++ and Java extensions to do anything those languages can do. As far as object oriented programming, cf can now do that with CFC's. And they work with SOAP web services too. You can create user defined functions in a script environment. And it’s all just as open source as everything else.

Performance:
There were pretty big performance issues in the past. But from what I’ve seen/read those are gone now. CF does run better than PHP on a Windows platform. And it runs good on Linux. In fact, I've seen reports that it runs better on Linux.

Proprietary:
Unless you are an open source evangelist, proprietary doesn’t mean crap when you are just a web designer. Of those who use PHP, how many actually go in and write their own code into the server and then recompile it? Not too many. So who cares if you get to compile it your self? Or that you have the source code?

No Strong Dev Community:
That’s kind of a self fulfilling prophesy. There doesn’t seem to be a strong dev community cause every one says there isn’t. True, the community is not as large as PHP's, but it is significant enough that you can get help, tutorials and pre-made code. You just have to find out where. One good thing about the CF community is that you don’t seem to get the elitist attitude that you get in other communities.
Questions, links to communities, just ask me :D

Platform Compatability:
True, PHP and Perl can run on just about anything that can compile. CF isnt that lucky.
It used to be limited to Windows, but not anymore. CF can now run on Windows, Linux, Solaris, HP_UX, Mac OSX, and AIX. So, just about everything on the web server market.

Advantages of CF


Easy to use/learn:
CF is freaking easy. It’s simple to learn to do basic things, and it’s not harder to learn to do more. I taught myself most of CF in about 2 weeks. User authentication, content management, everything.

Speed of Development
Because I can do things in CF with a 3rd of the code it takes in PHP, I can work faster. Working faster means I get projects done quicker. That means more money. And, when it comes time to debug, I've got less to dig through.

Error Reporting/Catching
PHP is crap for error reporting. Cold Fusion does a great job of telling you exactly what went wrong where. And it also has built in functions to catch/test errors. The CF Server also does a great job of logging them. You can even set a time limit, and if a page takes longer than that to process, it logs it and all the info. You can use that to find bottlenecks in your applications.

Database Abstraction/Compatibility:
In php, and as far as I know, perl, you have to use code specific to what type of database you want to use. And if you want to change that at some point, you have to recode everything that has to do with the DB. In CF, you can switch to any type of database without changing code (provided you aren’t using incompatible SQL statements). So when I was starting out, I all of my sites ran out of Access databases. But then I switched to MSSQL and I didn’t have to change any code. Then I switched to MySQL and still no change.
CF is also natively compatible with tons of different DB systems, from MSSQL, MySQL, Access, Sybase, Foxpro, Oracle, ODBC, just about anything.

Dreamweaver:
Dreamweaver works awesome with CF. It works really good. Whether you use the design view or the code view. It just streamlines so many things. It’s as good, if not better, than any IDE for php.

Encryption:
You can encrypt you pages and run them like that. So you can protect your code. It’s built in to CF, so you don’t have to go and buy/set up something like Zend. And as far as I know, you don’t have any performance hit. Just beware; there is no (legal) decryption process.

Disadvantages of CF


Expensive:
I know... its kinda contradictory, but if you are running your own server, it is expensive.

Datasources:
In order to use a database, it has to be set up with the CF server. All you have to do is just tell it where it is and the username/password. Small price to pay for the abstraction.

Wow... there might be more disadvantages, but I cant think of any. I'm sure you guys can.


Oh and... no I dont work for Macromedia... he he he...