Today started nice and early with a CFBuilder lab. Other than the fact that the audience was woefully unprepared and a bit rude to the ladies that were hosting the lab, it was pretty awesome. The help system in CFBuilder works quite well, and you can pull it up at anytime with Crtl-space. The code introspective worked nicely too and the ability to map and manage your servers was impressive.
I hit the Model Glue session after, just to hear Mark Drew speak. He's a great presenter, and since I'm not very familiar with Model Glue it was quite interesting. He took a lot of time to explain design patterns - I found it interesting to hear that he breaks the classic MVC (model view controller) pattern into three smaller patterns:
- Strategy pattern - detaching your business logic
- Observer pattern - decoupling parts and having events broadcast to listeners
- Composite pattern - not always applicable for web apps, but having a code made up of other subparts that can be rearranged but still separate
The keynote for the second day featured Joe Reinhart talking about whether ColdFusion was dead or alive. His conclusion - ColdFusion is obviously very much alive, but not in the form we think. Selling ColdFusion as a scripting language that can connect databases to the web is EXACTLY why the world thinks CF is dying. This aspect of the language is many years old. However, selling CF as an "Enterprise hub" really highlights how far ahead it is of many other web languages. He said that the CF community needs to get excited and start pushing the boundaries of the newer aspect of the language.
His demos of modern CF applications like SlideSix really showed us how far we can push it.
Next Paul and I attended the two ORM session - Introduction to ORM and Advanced ORM. Terry Ryan's intro session was perfect, and it set the tone for Hemant's later session. I loved his frank comparison of the different methods of coding and their resulting number of lines of code and ease of use. The ORM version was less code, and extremely simple and maintainable.
Hemant (I hope I got that name right) dug us deeper, and crammed an amazing amount of information into a single hour. He showed us really meaningful examples of Hibernate in action - relationships, inheritance, mapping and transactions. There was no falling asleep in this session!
I ended up in Barney Boisvert's CFGroovy session. Great presenter too - he didn't lay the groundwork well, but the session ended up being pretty much self explanatory. Groovy is a JVM based language that shares it syntax very much with Java. CFGroovy is a tag that allows CF developers to use scriptlets and embed Groovy code right in their CF files!
At one point, he showed us a CF file that took a CF variable, and embeded:
- Groovy code
- PHP code
- Python code
- Ruby code
- More CFML code
Anyways, off to the pool party. I'm so tired, but it's worth it. Thanks CFUnited!