Haven't seen this mentioned much in the aggs this morning, but the new Flex 2 Beta 2 is out, alone with the RDS plugin for eclipse on labs! Go get it!
Posted on Tue. March 21, 2006 by Ryan Guill #
Nathan over at dopefly has made a very interesting post titled The State of Object Oriented Programming in Coldfusion
that has got me thinking and assessing my situation in coldfusion. Its actually a topic that has been on my mind for the past week or so, gearing up for and experiencing cf.objective.
My situation is similar to Simon Horwith's latest editorial in CFDJ. Everyone knows about the discussions that he has stirred up in recent months speaking out against frameworks. He clarifies this by saying that he was, in a large part, playing the devils advocate to get people talking and evaluating exactly why they were using frameworks. And I definately agree with him that while frameworks offer a great way to standardize and work in teams on projects, you need to make sure that you know basic concepts and fundamentals before you jump into a framework. I think it is a very importaint point to make that you can still write bad code with frameworks...
Its quite true, a framework does not force you to write good code. It helps you to structure your code, whether good or bad, but that doesn't mean that you aren't still going to be writing spaghetti code or just using bad form.
I also agree with Nathan, in that we really need to start focusing on getting good, easy to read and understand resources for learning OOP, and frameworks. Its the next logical step to get us, as a community on the same page and up to par.
My situation up until this point has been to shy away from the frameworks. I have used fusebox, and although it doesnt really work for my style and thought processes, I can appreciate the structure that it gives to applications. Most of the frameworks, with the exception of fusebox and possibly mach-ii are just now starting to emerge from their infancy and get to a stable enough point. I have been keeping tabs on them for sure though, and I understand how most of them work (although some, like coldspring are still quite advanced and I have not been able to spend enough time on them!) and I understand most Object Oriented concepts. And the thing with web applications, at least in their traditional html/css form is that on at least some level, they are still going to be procedural. Your back end applications, which is where I focus the majority of my time can be fully oo, but at the same time, eventually, you are going to be working in a procedural environment still at least in your views. Flex has the ability to change some of that, but even then not completely. So what we have in many cases is a sort of hybrid environment, where you need to know a little of everything.
I have definately tried to keep abreast of all of these concepts and frameworks but at the same time, I have been trying to, as simon says, become a better programmer first. Then everything starts to become a lot easier, whichever path or framework you choose.
And so, I am going to start hitting the frameworks hard, and hopefully even try to start pitching in and helping with the development for them. I am in a good situation in that I work with all calibers of programmers. I converse with the big dogs and the icons in the community, but I also work with a lot of junior level programmers that are still trying to work all of this stuff in. And while you have to learn the terminology and start calling concepts by name and what they are, we also need a way to explain these concepts to the people who dont understand what some of these words even mean. We need to start taking these concepts to the masses, bridging the gap between the people who are just starting, and those who have it all down.
On the other hand, I dont necessarily agree with what Nathan says and predicts about having an uber-framework (like he says though, if it does happen, please dont call it that!). It may be that where I make my money is offering customized solutions and enjoy writing things from scratch, but I dont necessarily see one big framwork of frameworks as necessarily being the answer. Structure and standards are great, even necessary. API's and documented interactions are the way to go. Making our lives easier and having the ability to write code, faster, is what we should all be after. (this is what COAL was and is all about!) But I dont think we necessarily need to abstract everything out to such a level that we are just writing more custom code on top of our abstracted code that we may not even understand how it works.
All in all though, this is a very very exciting time for coldfusion and its only going to get better. Frameworks are going to make our lives easier, shorten time to production, and provide standards. Flex 2 promises to make our presentation layer lives much easier (a great thing for someone like me!) and these great people in the community that continue to innovate and inspire us to do the same is only going to make us mature along with them. I can't wait to see where we are in a year...
Posted on Tue. March 14, 2006 by Ryan Guill #
They say you learn something new every day. Or maybe its that you should try to learn something new every day. Either way, its true for me!
I was looking at some sample code in reactor today and noticed that a variable was being set in the applicaiton scope. I wanted to make sure it was reloaded, so I was going to try to go change the application name so i knew that it would happen. But I looked and looked and couldnt find the cfapplication tag....
I was under the impression that the application and session scopes required the cfapplication tag (or at least an application.cfc) but there was none and it was working...
come to find out, this isnt required at all. It is going into some sort of non-named application scope and it works just fine.
Now it is not something that I recomend by any means, it could cause some very subtle and hard to track down bugs, but it is possible.
Did this change from a previous version? I could have sworn it was like this in the past at least...
To prove it you can stick this in a new folder with no parrent application.cfm file...
Should work just fine (at least on cf 7.0.1 with mystic beta...)
Posted on Mon. March 13, 2006 by Ryan Guill #
Well, im finally back on the ground in memphis. My flight back was a little rough, but all in all a very fun trip. Im exahusted, but in a great way.
I know you hear it from everyone, but the best part of the conference was meeting all of you guys that I talk to all the time but had no face to put with it. All of you really are a great bunch of guys!
All of the sessions were top notch. I have a tendancy to go into things like this expecting to be bored and not learn anything, but that definately was not the case! I have stayed away from a lot of the frameworks until this point just because I wanted to wait until they matured a little more, but im so inspired by some of the things I saw that I not only hope to get up to speed on all of them, but hopefully even jump in and help their development where needed.
Coldspring and reactor especially perked my interests. It really seems that coldspring overlaps functionality of the core of COAL
so it may be that I drop my core and use coldspring and just extend it for the COAL objectives. More updates as that comes about.
And although I probably wont use reactor for a lot of my consulting development, just because they are so often crazy cases, it will be great for many uses. I am really looking forward to digging into it more, especially along with model-glue.
And if that wasnt enough name dropping, I am even more excited now about flex 2 than I was last week, which I really didnt think was even possible! We were told to expect the next flex beta soon *cough* two weeks!!!!*cough* and I just cant wait. The flex data services especially, its just going to be the cats meow.
Jared, you did an outstanding job, along with all of the presenters I saw. My session went pretty well, I had a very good turnout and they didnt have that deer in a headlights look like I was really expecting, so that was great too!
I am already looking forward to next year!
Posted on Mon. March 13, 2006 by Ryan Guill #
Day 0 and Day 1 have gone great so far! Meeting all of these guys has been great, still trying to put all of these names I know with the faces. Looks to be a very nice crowd, especially for a first conference.
The keynote session this morning with Tom Jordahl was great. He went over lots of the new flex 2
things and how they apply to coldfusion. We saw some awesome new things with the rds plugin for eclipse, the code generations, and the flex data services (both the feature and the product!) that just really knocked my socks off. Its going to be a great thing for coldfusion developers.
My session is later today around 3:30, hopefully you will see an update after it!
Posted on Sat. March 11, 2006 by Ryan Guill #