Ten facts why Coldfusion beats PHP and ASP
Whenever someone asks me which language I use for coding, I tell them it's Coldfusion. People don't really seem to know Coldfusion, but they have heard of PHP and ASP. They tend to ask me if it's the same and I tell them "kinda, but it's more fun".
It's in this that I feel Coldfusion is something of a marketing deprived product (from a European perspective maybe), it simply doesn't get the attention it should get, to establish a firm place in the choice for application platforms. Maybe Adobe will changes their budgetting plans, or find a marketing office who knows what to should do they get on the most-wanted list. Time wil tell.
That's why up here in the Benelux countries, no real Coldfusion User Group tends to take off, since nobody really knows the product, except the people who have gotten to know it (mostly by accident or referral I assume).
Then there is the general discussion I get when anybody asks me why they should pay a certain amount when you've got all the freeware goodness of a product like PHP. I tell them Coldfusion is a/my specialty, and I don't want to learn a product like PHP. Coldfusion has kept me happy from day one, but if I've started out using PHP, I would probably feel the same way on Coldfusion like they do...
The biggest problem Coldfusion has for it's main propositions is that it isn't free, it doesn't come pre-installed and you have to buy and download it yourself. So why would you bother using that product, when you can get something that does "the same" for free? From an economical point of view, it's true, Coldfusion has no benefits.
This of course is a shallow way of looking at things, so this is why I've created this post. For everyone who wants to know: my TOP 10 reasons why I would invest in Coldfusion, when you've got PHP for free and ASP that comes pre-installed on a Windows box. I feel this list is something Adobe/Macromedia/Allaire always have forgotten to post, next to a Unique Selling Proposition, something Coldfusion needs desperately from a consumer point of view. How else would you know which package to get, if Coldfusion is missing a real proposition? Right now, their main slogan seems to be "Create better Internet applications quickly and easily", but this doesn't refer to anything really. It's not unique (enough) to stand out from the crowd and pay more money.
Remember, it's my personal view on this. I would like to have an open discussion on this, so if you feel I've left out or misjudged anything, post your comment. My purpose is to spark a discussion, or to be referred to by people who are on the virge of investing in one thing or the other. Here we go...
1. Flat learning curve
I've started using CF since 4.0 in 1999, because back then my development mentor "heard about it" and it seemed to serve our needs. If he didn't hear about it back then, I guess I would not be using it, or maybe I would. In 1999, marketing on CF wasn't all that as well, and people were overwelmed with ASP and PHP.
Anyhow, I started using it, together with Coldfusion Studio (I miss that beauty) and it's wizards that got the trick done. Not only that, but looking at example-apps and opening other people's code really started to get my CF-juices flowing. I had created my first professional working/looking site in a matter of 3 or 4 weeks, and it did the job well. Now, in those few weeks, some of the functionality wasn't all clear to me, but I saw the bigger picture and knew what tags "would" be there.
Ordering "The ColdFusion 4.0 Web Application Construction Kit" by Ben Forta (still available, to my amazement) let me take off without having to read the whole story but learning as we go. Security wasn't that much of an issue for me in that time, but looking back, CF took care if it in the right way anyway. So in less than a few months I got from CF-newbie, to CF-intermediate, just by coding all day and working Ben's examples.
CF doesn't use a complex model that you have to understand upfront. Every webdesigner knows HTML: tags and attributes, plain and simple. CF works in that way as well. You don't have to use CFC, UDF's, CustomTags and who knows what, you can start using <CFQUERY> and <CFOUTPUT> and you'll get the job done in time. Along the way you can extend your knowledge into how deep a level you feel comfortable with. I really started using CFC's for the past 2 years and I don't feel my coding before that was less good, I just know I'm faster with what I know now.
2. Coldfusion has all the other tools right "down the hall"
Becoming a Macromedia product showed the world the opportunity CF had. It fits right in the alley of Flash, Dreamweaver, Flash Generator (which was a great product, no questions asked), etc. But Macromedia let me down in this context, it wasn't marketed enough, but when I explained to customers it was a "Flash" product, they nodded friendly because that's what they knew, and Flash meant having a nice, fresh, interactive website.
Same applies for the current situation. CF is an Adobe product, and all clients know Photoshop and Flash. "Coldfusion? never heard of it...", I reply "It's from the same company that makes Flash and Photoshop" and they nodd friendly once again.
I can only predict good things happening to CF now it's Adobe. It won't be a large enterprise package that banks will use for their transactions (although Adobe could probably sell it off like that) but it will be a package that will make a site look and feel great. We've gotten SPRY, AIR, Flash Remoting, Flex, Dreamweaver being a Creative Suite packaged product (jay!). This will open new markets and new perspectives on CF. Give me half an hour to think about combining CF with any other Adobe product and I'll think of half a dozen new products... it's that simple to combine CF with any of the other products "down the hall".
3. If it's not Coldfusion, you can use it anyway
I'm not a programmer, that's not my discipline, but I do know people who program in all sorts of languages and create awesome apps that do things I'll never be able to do with CF. I don't feel too bad though: if they can write the software in C++, VB, java, .NET, I can use it in my app to do the stuff I want.
I've used CFIMAGE years before CF8 came out, because there was this brilliant tag CFX_IMAGE that does the job (and still does well, so check it out if you require a great tag). But there were other projects as well, that didn't have a CFX tag available on the web. I still didn't feel too bad: as long as a programmer could write an .EXE for it, it didn't present any problem.
Just mentioning an .EXE is a very limited example, I know there are much much more external techniques that can be used inside CF, but I didn't want to elaborate overly.
4. Professional support when needed
A few years ago, we needed new webservers. There were 3 options for us at the time: DELL, HP and a white label from a nearby computer store. I was pushed towards the white label since it would be the cheapest option (it's true what they say about the Dutch... :). On the other hand I didn't want to be called at 11pm by a client who could not read their mail because the webserver was down for reasons unknown.
I chose the Dell machines, because besides choosing grade A components and boards, they have a kick-ass support service (at a certain cost, but that makes perfect sense). I wouldn't want to be the guy who has a blue screened server because of component-compatility issues, 11pm when you're in your PJ's on your way to bed (or posting on your blog...).
Same goes for Adobe and Macromedia. I know I can get professional support for which I don't have to Google. This is a fact I believe in, and has proven to be true in the field.
I don't know which of you reading this ever called Microsoft support for an *important* issue, but believe me, you don't want to go there. It's a mess of phone-lines, wrong answers, and "I dunno, sir, we'll have to get back to you". I'm not trying to badmouth Microsoft because they have done good in the past, but I wouldn't want to see some 500 server error with an ASP page and not knowing which support hotline to call first.
(PS: If you're in your PJ's right now and your CF just crashed: http://www.adobe.com/support/coldfusion/: it's easy).
5. New features based on user opinions
Coldfusion today has become what the CF community has put in for a large part. As questions for certain features have increased, they became available in some form or another. In that respect PHP and ASP haven't changed that much, they are still oriented from the source of where they took off, and if you require additional features, you have to install them yourself.
In my opinion this proved to be limited marketing view of the people behind these products. If you expand your product to fit your markets needs, you're bound to gain more users and fans for your product. This also fits in Adobe's vision when they further developed Photoshop and Illustrator, they've created products that fill needs for as wide a marketgroup as possible without losing core focus.
I showed a fellow developer who codes PHP the new CF8 tag CFEXCHANGE-tags and he was surprised to learn that something that would be so hard to code with PHP, was such a breeze NOW with CF8. I've cursed at CF7 too that it didn't provide this functionality, until I heard Ben Forta mention last year it would be included in Scorpio, since so many users requested it. That brough a smile to my face.
Listening to your audience does two things for your brand: you are able to pull new users that might reject CF in the past to CF, and you get a firmer grip on your existing users. When I used CF5 i would have been less "bound" to CF than I was with version 6, and 7 etc. Each version seemed to add more of my needs and provide me more time to code at my business' needs instead of coding what Coldfusion was missing at itself.
6. It's NOT open source (and that's a good thing)
There is always this ambiguous feeling I have when I hear open source. On the one hand it's good and everybody wants to have "open source" editions of a product. Certainly it feels good to be able to recompile a program to suit your personal needs in one way or another.
With an application server, I don't see this as an opportunity, I feel it is a threat since it takes away responsibility from the development team and you open your business to professionals who can't always assess the implications of changes.
If things aren't broken, I don't want them fixed, unless it's by the support team of the product themselves. Never offer me a CF custom build, my version is working fine as it is, and I know who to call when the CF crashes and won't boot up (if it ever did ;).
7. Value for money
At this moment CF8 is priced at $1.299, which is a small amount for the massive package of tools you get for this amound. When developing applications, I know I'll return this investment in 2 or 3 projects, since it will give me so much speed when developing. You've got a few hundred tags and functions, and every upgrade gains a few dozen, which at third of the original investment still makes sense.
Our webdevelopment's pricing structure is pretty ordinary, we charge what most other companies charge. Only difference is our pricequotes tend to be lower. Why? Because we can code in less time because we use CF. Which brings me to point number 8...
8. Rapid Application Development
I am not world's fastest coder. At times I tend to work really slow since I want to thoroughly document my steps so I can retrace my steps when I'm in a jam. But I would want to see a competition where 3 developers from around the same skill level would have to build a similar application, one in PHP, one in ASP and a third in CFM.
I know where I would put my money...
At times our company would gain new developers, where I was responsible for their training. In less than a month they would be "up to speed" to start building not all too complex but fun applications to use in our sites. CF is RAD at it's best, if you don't know the tags, you could easily guess them. "I want to do a QUERY...." or "I want to do a conditional LOOP..."
It's an intuitive language and has features for designers, for programmers, at beginners, intermediates and advanced levels. Any sort of webdeveloper can use CF, not just the technically equipped programmer, or database-operator, but a wide group of people.
9. Security to the max
In my early days as a developer (not so long ago) I wanted to learn the nitty gritty of creating fast and nice looking sites. Oh sure, there were hackers, but that didn't bother me too much at the time. I felt my webserver would probably protect the code as long as I kept my passwords to myself and didn't leave any ports open.
Okay so I was naïve (... a tad bit...;) but I learned from my mistakes and read a few books on SQL injection, script protect, etc etc. and I got better in securing my apps.
A few months ago I found an old CD with backups of the stuff I wrote in my early CF days. I studied the code that I wrote to log-in and -out of an account, and discovered that CF basically didn't have too many backdoors open, from the application point of view. I used SQL's LIKE statement A LOT, boy, but other than that security-wise, nobody every laid hands on my database or internal code. Nor did anybody use CFFILE to upload an executable thanks to CFFILE's basic attributes that hit you in the head if you miss one or two attributes.
We didn't have too many reports of CF-security issues, and if there were, patches were out shortly. I feel secure using CF, and I can guarantee my clients that their site is protected from major harm.
10. Java under the hood
CF code runs on any platform, it doesn't use ActiveX technology so it isn't restricted to just Windows. That has opened eyes to Mac developers as well. They are the typical graphical users of webdevelopment, but can now benefit from being more than just the "Photoshop and QuarkXpress" platform it once was. You can buy a Mac and start building and running CF apps. Talking about expanding your market, this is one market that felt really deprived of any serious software development other than Adobe, Quark and Filemaker not too long back.
Also Java, the CF underlying engine, has matured well and Sun and Coldfusion certainly have uplifted each other well. This will keep running since they become more and more tangled.
Your opinion
This is what I use to defend the choice for CF rather than PHP, ASP or other languages at a similar level. I would like to know how you think about these. Maybe there are more facts, even more important ones I am missing out. Maybe you code PHP and think I am full of s***, whatever. Post your comments and tell me what you think.


1. This is IMHO its greatest benefit. CFML is extremely easy to learn simply because you can slowly bolt HTML-like commands onto your existing pages using your existing editor (usually). I've come across lots of people who've had sites already built and a form designed that they wanted to "do something", and one or two CFML commands would have been all they needed.
3. Executing external commands sucks, or at least it does in CFMX 6.x on Windows. I've not yet tried newer releases though. I do wish they had raw socket support, without having to get nasty with Java.
4. I've never felt that I *had* to have commercial support available for my web server systems, which is why I personally put a lot of emphasis on open-source systems - I want to be able to manage the tools I use, I don't want these magic black boxes that I don't have the keys to.
5. I'm actually really impressed with the new functionality in CF8 - the features were definitely driven by the needs of the everyday developer, rather than the high-end market (my opinion of CF7).
6. It's not open-source, and that's not necessarily a good thing. At the language level (CFML vs PHP vs Ruby) it is less of a concern of mine than at the framework level, but I still don't believe CFML's non-open-source nature to be a good thing. I don't see any of your points to be valid against any well organized OSS project; the PHP project tends to be fairly well managed, though they definitely could use some standardization in some cases (database functions, inconsistent arguments in related functions, etc), but the same could be said of some of CFML - cfscript, cfloop's inconsistent arguments, etc.
7. Versus PHP, CF8 is worth it IMHO. Versus Ruby on Rails... that's a different question.
8. CFML certainly is a rapid development language, and the frameworks are improving too.
9. CFQueryParam, nuff said.
10. CF being based on Java is not a concern of mine at all and IMHO there's too much emphasis placed on this "feature".
@Damien:
Just to comment on your last point, it's a good thing you don't have to concern about it. If you had to sell a CF project (to a customer or to your boss) and present an investment protection plan (like many enterprise customers ask), the Java aspect becomes a major point as it will guarantee interoperability and compatibility with other systems as well as a broader OS/platform independence. Another aspect is that J2EE is used in mission critical operations by most (if not all) Fortune 500 companies. That alone helps selling the idea of stability and reliability of the platform.
Just my 2c
I think you're wrong on #6 though. Open sourcing the code is not a threat because it allows everyone to look at the code and find bugs, not just the developer staff at Adobe. More eyes on code always is better. Additionally, not having the code is not going to stop bad guys from exploiting the weaknesses in the old code. If there is a hole it will be exploited, whether the code is open source or not.
To me it's a plus, since I know all too many people that burnt themselves while stirring the pot (don't know if this is an expression, but it should be).
The cost is not a problem: you can find now cf hostigs from 9 USD per month on any platform.
The lack of maketing in Europe is the only problem....CF is simply unKnown here.
Of course the Adobe price policy in Europe ( +100% of US price ) do not help at all.
Andrea
On the other hand if Adobe thinks, eh we don't need CF to gain market share, we've got all these great tools. Then their missing out on a great opportunity to mash all these tools to do things with CF that you can't do with ASP.Net or PHP. This is the way Adobe could not only gain market share amoungst developers, but also pull away from ASP.Net and PHP. But if Adobe sits on it's hands and allows these other more complex and just not fun to code programing launguages, then they're missing out. Sometimes the executive in a company can't see low enough into the real treches of life especially when they are doing so well.
Adobe! You're doing a great job on your development suite of proructs, keep it up! Meld the server side with CF and you win more client development tool business. One always feeds the other. I hope they get that and that's their next area of focus. They're a smart bunch of guys, they probably will. Can you all imagine CF becoming the #1 leading development language? I hope Adobe can.
Railo - www.railo.ch/en - my favourite CFML server, even including CF8.
BlueDragon - www.newatlanta.com/bluedragon - allows you to run on .NET.
Also, the Smith Project is building an open-source CFML engine. Last time I looked it had made a good start but was missing a few critical features
Point 6 - Open source:
"With an application server, I don't see this as an opportunity, I feel it is a threat since it takes away responsibility from the development team and you open your business to professionals who can't always assess the implications of changes."
JBoss as an application server, is open source and has done pretty damn well for itself!
I agree that open-source can be great, and in context of JBoss, etc. it's fine, but what when you're up against time, and you have an error that JBoss doesn't support, since it's a customized version your supplier has created?
I feel cold sweat running down my back.
To draw parallels: I know people who are pretty good with car engines and maintaining them perfectly.
I don't know anything about cars, so I feel more comfortable driving a car that is maintained by the maker, not by the guy who knows their stuff around cars.
It has to do with where you put your trust, and who is responsible and who takes responsibility in case of defect. I NEVER had the need for my CF box being open source: it's a personal opinion, and if anybody else needs it, that's fine.
But I (think I) speak for most of us that CF can keep being a closed box that does it's job well, and can only be fixed, modded or patched by the maker, not the expert.
Thanks! I'll take Ben Forta's job anyday! (not that I could do it, but I love to travel).
My car is a maintained by the brand itself (Ford in my case). If my car breaks down it's towed back to the Ford dealer, not to a local mechanic... thank god.
It was an attempt at a parallel, meant to explain my reasoning. I just want Adobe to fix my problems, not my reseller, colleague, it-guy, etc...
(I hope I'm making any sense).
This is the true power behind open source - freedom of choice.
I can't take my car anywhere else, since it's under a service contract of Ford. By taking it elsewhere I'm breaking lease-conditions and warranty.
I wish nobody but Ford would be able to open the hood, but since I never take it anywhere else I don't need that particular feature to able to go under the hood.
Again: it's a personal choice, and you feel fine taking your car to any expert you know. I don't, and I (like others) feel more confident with a closed and locked hood.
In all cases Adobe is responsible for keeping the engine running, so when it breaks down they can't move away from responsibility since you may or may not have modded the code.
I'll leave it at that since this is probably getting outside the topic of the original post and of course it's all opinions... :)
Let Adobe offer 2 versions: a compiled stable release and an open-source, if you like; give customers the choice.
For ME (and the clients I want to protect) there is no future use in open-source, but that's my way of explaining CF using the above 10 facts.
Open-source might attract other markets, who knows! But I want my box closed. The same reason I let my colleagues use a Windows XP box and not a Linux box.
If they poke around the engine, some screw is bound to remain that holds an essential part together. It does have something to do with the level of expertise by the person 'poking' or modifying stuff. But I don't want to have to worry about some company having the right expertise or credentials.
You tout a closed-source system as being more stable. Do you worry about your clients and colleagues installing software on the Windows boxes? In my experience (Windows and Linux) most instability comes from introducing new software that isn't an integral part of the OS but interacts with it in some unpredictable way.
As far as CF goes this is probably moot anyway. They are components of the system that are licensed from other vendors that likely wouldn't go along with any push to open source CF.
3. If it's not Coldfusion, you can use it anyway
I'm not a programmer, that's not my discipline, but I do know people who program in all sorts of languages and create awesome apps that do things I'll never be able to do with CF.
Well, now you're even more credible !
Anyways, CF have an horrible syntax, there is no community and it doesn't bring anything new, i too can use any program i want in php... Support, beleive me i can get lots more support in PHP, there is dozen of mirc channels, thousands of boards...
Seriously, your article is just plain bull
An example of the risk I want to take away:
I've had my share of PHP trouble since some "expert" changed PHP source to do a few extra functions he needed. The loss I had with downtime due to a few dozen forums not running anymore were tremendous, and the "expert" was hired by me so I was responsible for the costs. There were at the time other he could have achieved the same functionality, but going "open" was the shortest route.
Afterwards it felt like open heart surgery when the heart is running fine (analogy, analogy, I know...), and this has brought me to reconsider in going open-source vs. staying closed.
Open-source is of course as stable as the compiled version, that could've been formulated better. :-) Open-source surely attracts new markets. For example Autodesk open-sourced their Mapguide Enterprise to gain new markets. Markets that are up to using the extra layer.
But to end matters short: I agree that open-source isn't a bad thing. It's not, it's one of the better things for some products.
For me it was disastrous, and I'm glad CF isn't open source, and it wasn't at that time, since that probably would've got me in one or two pitfalls.
There are two groups who would enjoy having an opensource CF: the people that know what they are doing, and the people who think they know what they are doing.
Unfortunately the latter gives me this ambiguous feeling.
A) Surely you aren't holding up PHP as a paragon of syntactic beauty.
B) Iif you're not a programmer, then how are you qualified to make the judgment that there are tasks that you can't accomplish in CF?
C) Trust me, there's plenty of community.
I think you really do not know what you are talking about....
PHP is funny....3 years ago was released php5....and after 3 hears 90% of prgrammers still use php4 and.
Php team has now decide do not support more 4 version since feb 2008...and what happen....people go crazy...
My opinion....most of th epeople used php in past only because they say...it's free...
CF has a great community of people growing with the langugae itself....not a community that still use versions 3 years older and is not interested in PHP 5 cause obliged them to move to OOP programming ....
You really do not know whatyou are talking about..
Andrea
My credibility isn't up for discussion: it's an open insight of what I feel on CF today as opposed to PHP and similar languages.
One argument is stronger than the other, for sure, but #3 is very strong not just with me, but inside the community.
I'm not a programmer, I'm a Coldfusioneer, which means I can tie anything to anything in a matter of minutes and make it work.
Try to do that with PHP in an hour or so, without Google/Mirc/forums, just plain knowledge.
I don't have time to visit forums etc. to make it work, I need to create something and I need it know...
By the way: why would I as a professional go on Mirc to find my answers?
This article simply shows that 1, you know nothing of the true nature of open source projects and 2, you have a very surfacy knowledge of web scripting in general.
This isn't necessarily a bad thing as I'm sure you still get big contracts and are well paid. Just don't expect everyone to swallow your load when you spew crap like this.
Yes, I've scripted in CF and I find it to be an awful, painful experience and extremely error-prone.
My friend has had worse experiences... let's just say litigation as involved.
Haha... the person who sent me this article said, "See! This is why we can't have nice things."
I agree. LOL
Howard Fore:
My apologies, had I been writing my dissertation I'd have checked it.
Thanks for the correction though. I always appreciate being called on my English snafus. No, I'm not being sarcastic.
Now to the matter at hand, which you so deftly skated around by insulting my vocabulary. (Do you truly care about language in general or are you being childish? You come off as the latter. That's sad.)
I admit in the second case it was more than likely the fault of the programmer. I think a good language should insulate users from doing stupid things, however. I don't think it should be so much so that it stifles creativity but some basic security might be nice.
IMNSHO, the language sucks balls... (going to insult my coloquial speech again?)
I also think it has it's uses. If you want a quick and dirty scripting language to get something non mission-critical online, it's perfect.
For a larger installation I just can't bring myself to recommend it.
Allen: No, it's -also- just my opinion. He asked for them plus some open discussion. *shrug*
Note, i am not saying that you should use RoR or whatever other horrible thing is out there. I am just saying that CF sucks.
Quote:"This article simply shows that 1, you know nothing of the true nature of open source projects and 2, you have a very surfacy knowledge of web scripting in general."
Care to elaborate on just how you've come to this conclusion? The purpose of this article is making me come to new insights (and the community in general) so I'm curious.
And if CF sucks, that's fine, but I want to know WHY it sucks in regards to PHP and ASP. Why do those languages suck less?
I am one of the major cf developers in my country. But cf can not beat open source languages. I can tell you ten fact python beats cf, really. I think python easier than cf, learn it and use with django, rellay great tool for web development :).
Coldfusion does not have a real ide. Dreamveawer (DW), dw is good if you designer and writing little scripts, if you are developer (really), you do not want to use dw, because its stuff is not enough for you. And i am using linux how can i use it (i hate adobe because of this). I can hear you, you say "why you use cfeclipse". I already using, eclipse and cfeclipse. But cfeclipse not very good. Does not have a nice code assist etc.
I can tell ten fact php beats cf, true story. Php frameworks very good (i use symfony btw :-) ), it have great community, great supoort, how can i solve my problems, if i can not speaking english in cf?
In the end. Ok, cf great tool web debelopment, it have great stuff and cf8 very big step (cf ajax proxy suck btw) and its java this is good. Fast to learn and does not use it fast beacuse it is very very expensive and its hostings plans too.
Do not need to be fanatic, which one is yours, think before and use it. I creating flex projects of course i use cf, and i create community portal and i use php, some times python.
Now, I'm sure you can buy professional support in the PHP world, but that's not its selling point. The whole "community" aspect (for free, one would assume) is a major plus in the eyes of PHP advocates - as it should be.
Of course the issue is that you are relying on that community to answer your question in a time of need. It's not a choice of going to a Ford mechanic, or Joe's, around the corner. You are relying on a mechanic that will do it for free.
For some people, and I count myself in this, that's not good enough. I've rarely had to use Adobe professional support, but when I did, it was of the "fix this or lose the client" type. So, I was glad to have that support available, and it's why I won't take a risk on open source.
It's not a case of right/wrong, it's a matter of the exposure you are willing to assume.
Cheers,
David
@Everyone: I'm currently considering rewriting or removing the open-source "fact" since my mind has changed due to the explanations I received here. It has upsides and downsides, but I think now there balance is towards upsides.
I like to add a new "fact" which would be "competitive advantage" since using coldfusion gives you a benefit: market is shaped evenly, knowledge is of somewhat the same level everywhere, there aren't too many companies using CF (around here in Europe, don't know what the US is like for example) which gives less competition when it comes to CF developers and pricing. I think there are more arguments for this advantage but these are the first I could think of.
What do you all think on this?
P.
You can go to mysql.COM and purchase service and support for MySQL.
OR you can visit mysql.ORG and download it for free (with no support).
Pablo: I'd go some way to re-wording your point, as opposed to changing it. PHP cuts a wide cross section of users, ColdFusion doesn't. CF's "hobbyist" tag is LONG gone. When asked why Adobe doesn't target "Dorm-room Developers" with CF, they just say it's not their target market. My opinion is that the vast majority of CF developers like having a massive software corporation progressing the language/framework, rather than having it community enhanced. That's just what I see.
As for CF usage - Not sure about Europe, but it's BOOMING here in the U.S. CF developers are in short supply, and command a high wage premium.
Cheers,
David
... What?
Next!
I develop in ColdFusion for a living, and have done so for about 4 years. I also develop in PHP on the side, as well as C# .NET (Windows, not ASP). Used to do C++, but that's been a while. The one thing I can say about them all is that they ALL have their pitfalls, and they all have their strengths. Use the tool that does the job. Do it right, please the customer, and get paid.
Enjoy! :)
I didn't finish reading this long list of comments so if this is discussed already, forgive me.
The biggest problem with open source is it allows people who know very little to use, even combine, applications to make larger applications that they turn around and sell for profit using the code of someone who openly gave the source out. These people have no real understanding of the code they play with, and in most cases end up using code that wasn't meant to work together, or doesn't work well together.
So in the end you end up with someone selling a product that they have no real idea how it works or if all the "components" they got will even work together, let alone work well together for a very busy site with lots of traffic.
When they have issues they hit the forums crying like babies because they have a "product" thats not working and they have no clue why.
Going with someone working in coldfusion you shouldn't have this problem.
1. Its so easy to read coldfusion code!!
2. Most of the application was written by the programmer, not pieced together to make it do what this person wants it to do.
3. Most people who code with coldfusion know how to fix coldfusion code.
Open source is nice and all but it opens the door for all those "wanna be programmers" to make a quick buck and don't give a damn what they have to do to get it.
Makes the real people who know what they are doing look bad, and expensive when we really aren't.
S
"I'm not a programmer, that's not my discipline" - exactly.
"It's NOT open source" - exactly.
"At this moment CF8 is priced at $1.299" - exactly.
"I am not world's fastest coder" - exactly.
"Java under the hood" - exactly.
Thank you for outlining EXACTLY why ColdFusion is a god forsaken "language". Heh. Get a clue.
Most OSS licenses, like the GPL, do not allow this profit scenario. Anyone trying to sell a license for such OSS code is violating Copyright law. An exception is the BSD license which allows Apple to use FreeBSD components in Mac OS X--however, Apple engineers don't fit this scenario of "people who know very little"...
It doesn't make sense to criticize the ability to combine components into larger applications--I mean really, this is the basis of modern computing whether the framework is n-tier, MVC, or Web 2.0.
Pablo's maxim of "If things aren't broken, I don't want them fixed" sounds great, and that's what OSS offers--the user controls the code, the upgrades, even custom hacks to fix things you don't like. That's NOT how commercial software operates.
A large benefit of OSS is that the best projects by the best programmers supported by the best communities bubble up to the top, AND you still have choices. With Linux, for example, you have choices such as Red Hat, Novell Suse, or Ubuntu depending upon your needs and preferences. If you want a CMS, you can check out Joomla, Drupal, or phpWebSite (all 3 are PHP projects).
BTW, I'm supporting both CF and PHP applications at an agency, and we want to center on a single platform, so I have found this thread useful in my evaluation.
The learning curve for PHP is basically nothing for anyone that knows a C/C++ style language or one of its decedents and many people do. If you know VB then ASP is native to you. CF does serve a great purpose for those that are new to programming as a whole. I see it as a handicap but if it gets the job done then great. I think CF does keep you out of alot more trouble as a beginner than ASP or PHP. I would hope that most people in dev positions have good solid fundamental training and have been taught discipline. However the recent rush to frameworks like Rails and .Net with excuses like "It forces you to write good code" and "PHP is spaghetti code" tell me that the craft is being flooded by people have have not and don't intend to develop their skills and understanding of programming fundamentals. They just want the language to do it for them.
As for open source realize that Google could not function without open source Apache that they modified to suit their needs. Yahoo runs on FreeBSD which only came about through open source collaboration. Google is also powered by linux. Ebay or Paypal (can't remember right now) just had and article out about how they couldn't have grown without open source. Open source software fosters collaboration and integration. You probably should not have had somebody making one-off tweaks to your php engine but being able to integrate a PHP app for example right into your business is extremely useful. For a large company with good programmer tweaking php may prove to be critical and they will probably appreciate the chance to do so.
I will admit I have not touched CF in many years but I will have to do so in the near future. I look forward to seeing the capabilities that have been added to the language.