Skip to main content
Known Participant
August 17, 2010
Question

Should I learn Coldfusion? Looking for advise from the Pros.

  • August 17, 2010
  • 1 reply
  • 2046 views

I am a novice PHP developer and more of a designer.  I can build basic PHP/MySQL sites, but am looking to get more involved in coding.  I would like to  learn a language from the ground up that is easy to learn, robust and  has a good community behind it for support.  While I have enjoyed PHP, I  am also considering Coldfusion as the coding looks much more concise and easy to understand.  Is Coldfusion a good language to learn for building client websites that will be here from 10 years from now?  I know PHP is popular, but the backwards compatibility and depreciated functions have caused me issues in the past and I am trying to avoid that.

Also,  what are some really good Coldfusion books?  I have Adobe CS5 Web  Premium and am already very proficient at HTML/CSS and web design.

Thanks.

    This topic has been closed for replies.

    1 reply

    Inspiring
    August 17, 2010

    Irrespective of programming languages, I think the most important thing to learn is data modelling.  A well designed database makes everything else so much easier.  To this end, I have heard good things about the book Database Design for Mere Mortals.

    Generic SQL is also must have knowledge.  I have also heard good things about the book, Teach Yourself SQL in 10 Minutes.

    For ColdFusion books, the Web Application Construction Kit (WACK) is frequently recommended on this forum.  This, and the SQL book should be available from forta.com.

    tclaremont
    Inspiring
    August 17, 2010

    As Dan implied, the hardest part of programming is not the programming. If you dont know database design or SQL or even general programming logic, any language is going to be a chore.

    In my 25 years of programming, I have found CF to be my fastest, most intuitive development tool. I have been using CF almost exclusively for over 11 years now and have not found a compelling reason to change. That says a lot about a programming language, since new ones pop up all the time, and existing ones get better year after year.

    If you search job postings, you will not find as many CF jobs as some of the other programming languages. This is likely because it takes fewer CF coders to get the job done due to its ease of use. That is just my opinion BTW.

    tclaremont
    Inspiring
    August 17, 2010

    Regarding:

    PHP has burned me several times recently with depreciated functions and tags.  I heard CF is backwards compatable for the most part.

    CF is backwards compatible for the most part.  However, my workplace has upgraded CF twice, and in both case we had to rewrite code because things broke.

    Hmm.  If functionality is just deprecated, then you should have no problem with it.  Deprecated means "still works, but probably won't see any further development or bugfixing, and will be obsoleted at some stage in the future".  Do you mean that PHP has obsoleted or retired functionality between versions?  That's a bit crap.

    CF tries to be as backwards compatible as possible, but idiosyncrasies do slip through sometimes, although these are usually patched up fairly quickly.

    The chief issue I have had with upgrading CF is that sometimes they bring in new functions which have the same name as library functions I already have, eg: fileOpen(), imageInfo(), etc).  However so far I've been lucky in that the way CF implements the functionality is pretty much the same as how I already had done it, so refactoring wasn't too much of a pain.

    To answer your initial question, personally if I already knew PHP and had invested time in learning it, I would not migrate to CF.  CF is really very niche in the marketplace (despite how the Adobe marketing bods might contort statistics to demonstrate otherwise), and getting CF work is going to be a lot trickier than getting PHP work.  Well: this would be one of my chief considerations.  I've been doing CF for about ten years, and am pretty good with it, and even enjoy doing it most of the time (I enjoy programming, not necessarily specifically with CF, but any programming is enjoyable).  However if I had my time again and had different options in front of me, I would not embark upon a CF career.

    --

    Adam


    I am not a programmer. I am a System Administrator who is often looked upon to solve problems. For that, I use CF because it is very fast to develop in, the code is pretty close to self-documenting, I have complete control of  both the network and the server, and I like to think that I know what I am doing. Thus, CF works for me.

    If you want a job as a "programmer" then CF is probably not the best investment of time and energy. Not nearly as many opportunities for "CF programmers". If steady work as a programmer is your objective, than .NET may be the way to go. Of course, there will be tons of people competing for every job you apply for.

    If my food and mortgage depended on a programming language, it would not be CF. If I needed a tool to help me develop solutions for people who could not care less how I accomplished the goal, I would go with CF.