Monday, June 8, 2009

OO and the Lone Programmer

Marc Funaro's first blog post and all its responses and comments are inspiring my first blog post. I don't want to hijack someone else's space to state my inflated $0.02 worth.


I too am a lone developer, of sorts. I work in an IT department; there are other programmers including some excellent database gurus. But the one other CF programmer in the department doesn't work with others, and let's just say he and I program differently. I have a Master's in Computer Science, some general knowledge of the theory of OO, the tiniest bit of coding experience with OO, but NO experience architecting using OO concepts. I completely empathize with Marc. OO is tough to learn. When you're working alone and trying to learn it (anything new, really) and make the decision about when to use it vs. what you already know without the support of more knowledgeable co-workers, you're really in something of a catch-22. You need to learn on a rather small project, so you have to 'force' it. By doing so, you haven't really experienced the true value of OO that primarily comes from using it on large projects. And for me, working here alone, having never used CF in a team environment, I'd venture to guess that I have not yet even approached a 'large' project. And given my job duties in addition to developing, I may never do so (at this job). So what's a girl (or guy) to do?


I'm very interested in becoming more involved with the CF community but have found that very difficult to do from this isolated (CF-wise) location. I attended CFUnited last summer and met some wonderful people and know so much more about whose sites and blogs to turn to for information. I have joined the Online CFUG and try to attend presentations live when possible. Others I watch later when the recordings are posted. I won't be able to attend CFUnited this year (please vacation in Virginia so that our state budget will improve:-) ). I do plan to follow what's going on via blogs and Twitter. The involvement is gradually happening.


I'm especially interested in connecting with others who work in similarly isolated conditions. My comments have been prompted by this OO debate, but I'm not saying OO is terrible or OO is the wonder tool. I'm saying it's a tough tool to learn and even tougher when you have fewer people to bounce ideas off of. So bounce, don't flame, and contact me if you have ideas about other issues that "lone programmers" face.

9 comments:

  1. w00t! Getting a blog is certainly one of the ways to get more involved in the community ;) If you use a framework working with that community is also always appreciate by the framework group.

    ReplyDelete
  2. You are also welcome to come join us in #coldfusion on IRC. There are several chat rooms (channels) on IRC dedicated to ColdFusion and Flex development. Start with #coldfusion and you'll meet a TON of new people.

    Learn more about connecting on my post about it.
    http://tinyurl.com/4qneao

    ReplyDelete
  3. I think I've gone through just about all the comments, links, and blog posts that came about as a result of Marc Funaro's original commentaries. It has certainly been a lot to read! At one point I even found myself reading an article about the object-relational impedance mismatch between OO languages and RDBMS. Don't ask me how I got there.

    For a while I've been wondering about the state of affairs within the ColdFusion community. I too am a bit of lone developer. I will occasionally get help from my peers, but when it comes to architecting and coding new projects I'm usually on my own. It's pretty easy to fall behind in the market if I don't make a concerted effort to leave this bubble and read the blogs, docs, and presentations. To the ones that put those together I am truly grateful, and intend to contribute back hopefully sooner than later.

    Despite all the bickering that has been going on back and forth as of late, I think there's a good amount of people that want to help. I know I myself don't know everything. I often find myself relying on the wisdom of others before taking the next step. My personal favorite blog is Ben Nadel's. It seems like at least every other turn to Google for fixing a CF problem has turned up a post from his site.

    Going back to the OO discussion, in a way I sympathize with Marc's sentiments because I too have felt the pressure to jump to OO. It should be easier for me because I took a couple of semesters in C++ in the late 90s. From what I've seen, however, I think there's more to it than just understanding the principles behind OO. In order to apply them gracefully in CF development, there's some additional lexical learning you need to do (what is a bean, DAO, gateway, etc.) I think once the vocabulary all starts to come together, it really isn't so bad moving from that point forward. If envisioning the code becomes a problem, it isn't too hard to find some sample apps that already implement these principles.

    Obviously, no one is forcing any of us to jump onto the bandwagon. I think for now I will choose to take it slow and wait until I get it right before wholeheartedly shifting from one paradigm to another. I don't intend on being a procedural programmer forever, but that doesn't mean I won't use it in the future if it means cranking out a "one-time use" app to create a report or run a quick database script.

    @Adam

    Do you know if there are there any video tutorials around for using the Fusebox framework? Or is all the support strictly in the online docs section of Fusebox.org?

    @Jason

    I didn't know there was an IRC channel. That's good to know! I went to the DALnet link posted on your blog. After logging into the web-based chat client I wasn't sure how to get into the chat room from there. I guess I just couldn't figure out how to switch channels.

    ReplyDelete
  4. Jose mentioned all the "bickering that has been going on back and forth as of late...". I am bickering curious if someone would enlighten me as to what bickering has been going.

    ReplyDelete
  5. @Keith

    Considering the last comment was posted over a week ago, it's probably safe to say this chapter of the debate is over. If you want to see which discussion I was referring to, check out the link in Sarah's post. Or just go here

    http://www.advantexllc.com/blog/post.cfm/how-oo-almost-destroyed-my-business

    There's 107 comments at the time of this comment, which is a lot for any ColdFusion-related blog post. If you read the comments, you'll see people bouncing ideas either in support of the author's original blog post or defending the other side of the coin. Buried in the comments are links to other blog posts that are also in response, which in and of themselves have other sub-discussions going on.

    ReplyDelete
  6. @Keith, sorry for the non-response. I typed a nice response yesterday and when I hit 'post comment' it just disappeared into the ether.

    Anyone else have problems w/ blogspot commenting? I think I was on Firefox 3.0 on Mac--trying Safari this time.

    and that gave me an error, so I'm going to try anon...

    Sarah

    ReplyDelete
  7. @Jason, thanks for the irc info. I've gone to #ColdFusion and #ColdBox--meeting folks and getting help.

    ReplyDelete
  8. @Jose, thanks for your comments. They are very thoughtful and much appreciated. I really like the phrase "apply them gracefully." I think that's something along the lines of what I'm aiming for--less kludge, more grace.

    Also, thanks for filling Keith in. I think perhaps there's some issue with the captcha display, because it never came up on those posts that I "lost."

    ReplyDelete
  9. Hi Sarah . . . I'm lolajl whom you friended on Twitter.

    I too am a lone programmer at the moment - been out of the workforce for quite a while and trying to get back in. I don't have training in computer science - learned ColdFusion on the job. I"m slowly learning OO, but it's a struggle sometimes as I don't always have someone who I can bounce off ideas in person with. Also, I'm a visual learner; I don't always grasp concepts until I see someone actually working through these, and walking me through the process as well.

    By the way, you may want to get your blog aggregated through coldfusionbloggers.com

    ReplyDelete