Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
I actually own my own design company and am pretty good with MySQL database design and logic. I write fairly decnt SQL already and understand database structure and relationships. The biggest issue for me is deciding to stick it out with PHP and learn more about that language or make the time and investment intro CFM. I really like what I see in CF and know it will be a great platform. PHP has burned me several times recently with depreciated functions and tags. I heard CF is backwards compatable for the most part.
Do you use CFBuilder or DW CS5 to work on your pages?
Copy link to clipboard
Copied
A couple of notes from the discussion so far.
You don't HAVE to give up PHP to start working with ColdFusion. They work just fine together on the same server. Mixing them in the same application on a server would be somewhat challenging -- but far from impossible.
CFBuilder and|or Dreamweaver are by far not your only choices. Many people also like the CFEclipse plugin to the Eclplise editor (CFBuilder also is an Eclplise plugin). I also sometimes use a product called Crimson Editor [http://www.crimsoneditor.com/english/download.html] for simple coding tasks. You can even just use something like notepad or any other text editor.
Finally, as well as all the other CF advantages listed, I think the community is one of the most supportive and least conceited that I have experience in my decade using the product.
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
Since I own my own company and work direct for clients, most do not specify what language they want to use so we can use any of them. Since I am looking to get the job done quickly most times, it sounds like CF may be the best option to invest my time in.
Thank you all for the wonderful advise.