Hi Charlie, Thanks for the reply. It really helped a lot. In your reply you mentioned,
As for learning more about OO development in Java, if you're new to that, I
recommend Jacquie Barker's "Beginning Java Objects". Most Java books presume you already understand OO (in my opinion) and hers was one of the first to walk you through it gently (and without requiring too much understanding of Java, either). In that regard, it can be useful even for CFML folks looking to expand their understanding.
Do you think as a CF developer who plans to become Lead/Architect, learning java or Java objects might help. What I am trying to ask is, if a person spends lets say 5 years of his experience in CF, is he good enough to be an architect or does he needs to have Java experience also to add weight for him to be considered for Architect./Lead position?? My main concern is that do I need to learn C#/Java. Lets say after 5 years of experience CF, I shouldnt feel that I should have tried C#/Java instead of just sticking to CF. Best way to avoid this would be to learn something now, instead of waiting for a switch later and I know its gonna be too late if I do it after 4-5 years. Any suggestions... Do you think switching technologies is a good idea?? Anyone with answers to question 1 & 2 i.e. 1. My question is do you guys see potential in CF that a person can after some years of experience treated as Lead or Architect. 2.Also do we have architects here in this group based of CF experience only? Ajas. On 12/26/06, Charlie Arehart <[EMAIL PROTECTED]> wrote:
Ajas, I'm sure others will have much more to say, but I want to quickly resolve your fears and concerns b y pointing out that yes, indeed, CFCs are the way in which CFML enables more object-like development. No, I won't call it object-oriented as some will contend with that specific term, but an affirmative answer for your last questions is a sign of how far CFML has evolved since its being labeled early on (and being still regarded by many) as "just a tag-based scripting language". To your question 3, yes, by using CFCs your CFML applications can "have classes and stuff like that". CFCs can be thought of as classes, with methods and properties, and even inheritance. Pretty much whatever you learn in any resource on object-based development will apply to CFML--but I will point out as well that there are indeed many folks who use CFCs and never apply them in a real OO way. Your example of using them for web services is one of them. Another is their use as effectively buckets of what would be called "static" methods--they don't try to persist (or rely on persistence of) any sort of state data. There's nothing wrong with that, and it's clearly "a" form of reuse, but it's not really on par with what you'll read/learn about regarding true OO-style programming. I'll let others point out what they think are good resources to learn and apply CFCs in a more OO way. As for learning more about OO development in Java, if you're new to that, I recommend Jacquie Barker's "Beginning Java Objects". Most Java books presume you already understand OO (in my opinion) and hers was one of the first to walk you through it gently (and without requiring too much understanding of Java, either). In that regard, it can be useful even for CFML folks looking to expand their understanding. The same dilemma will apply to some resources out there that discuss using CFCs in a more OO-like way: they presume you already understand the "why" and focus instead on the "how", or on implementation using some specific style or pattern, again presuming you understand patterns. For that, I'll recommend Shalloway's "Design Patterns Explained". All this is about the evolution of a CFML developer to greater levels of software engineering appreciation. Going to your earlier points, I don't think it's NECESSARY for a CFML developer to learn them, but it will certainly help for some work and some projects, and will over time improve all projects one works on. It's very much a mind-shift. In fact, in 2001 I wrote about why I thought it would be very challenging for some to make the transition. At the time, I was writing on the transition to J2EE, but it's really as much about the transition to OO. You may find it helpful: http://jdj.sys-con.com/read/36679.htm To your question 4, yes, CFCs can be represented as being in packages. Indeed, there is an ACCESS attribute of CFFUNCTION (the way to define methods in CFCs) which is corollary to the access modifier in Java, and it supports public, private, and package, to name a few. To your question 5, there is indeed an API tool. In CFMX you can browse a CFC (literally, just browse the CFC name as if it was a URL) and CF will present an API interface showing the properties, methods, and more. You do need to have the RDS (not Admin) password to access that, and that's been a show-stopper for many. I wrote a blog entry in 2003 showing how to disable or alter that, if appropriate for your environment: http://cfmxplus.blogspot.com/2003/02/how-to-stop-requiring-rds-password-for.html /Charlie http://www.carehart.org/blog/ ------------------------------ *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *On Behalf Of *Ajas Mohammed *Sent:* Tuesday, December 26, 2006 8:28 AM *To:* discussion@acfug.org *Subject:* [ACFUG Discuss] CF. Object oriented & its future. General Questions. Hi, I am a CF developer and I had discussion with one of my friends and he said if you want to be architect or lead, you need to have understanding of objects/classes like how they used in java. He said you are going no where and need to switch the technology if you want to earn good money. The reason I have asked this question is because many non-CF developers or architects think that CF just tag based and they dont give respect to CF. 1. My question is do you guys see potential in CF that a person can after some years of experience treated as Lead or Architect. 2.Also do we have architects here in this group based of CF experience only? 3. We do only web development and we havent used CFC's except for one place where we use it as webservice. How would someone compare CF OO programming with something like java maybe. Can we have CF applications have classes and stuff like that. If yes then what would be a good starting point to learn & implement in that style ( i.e. reusability). 4. Can we have packages in CF? 5. Is there a documentation tool in CF like JavaDoc tool in java which creates documentation? I am so confused right now. Your suggestions are needed. Thanks in advance.. Ajas Mohammed. ------------------------------------------------------------- To unsubscribe from this list, manage your profile @ http://www.acfug.org?fa=login.edituserform For more info, see http://www.acfug.org/mailinglists Archive @ http://www.mail-archive.com/discussion%40acfug.org/ List hosted by FusionLink <http://www.fusionlink.com> ------------------------------------------------------------- ------------------------------------------------------------- To unsubscribe from this list, manage your profile @ http://www.acfug.org?fa=login.edituserform For more info, see http://www.acfug.org/mailinglists Archive @ http://www.mail-archive.com/discussion%40acfug.org/ List hosted by FusionLink <http://www.fusionlink.com> -------------------------------------------------------------
-------------------------------------------------------------To unsubscribe from this list, manage your profile @ http://www.acfug.org?fa=login.edituserform
For more info, see http://www.acfug.org/mailinglists Archive @ http://www.mail-archive.com/discussion%40acfug.org/ List hosted by http://www.fusionlink.com -------------------------------------------------------------
<<attachment: image002.jpg>>