I've said several times in several venues that I plan to attend Scotch on the Rocks 2014 - as part of my annual visit to see my folks in the UK (my wife judged a cat show there this year and has one scheduled for 2015 so SotR is a great "excuse" to visit in 2014) - so it should be no surprise that I've submitted a talk there. I go back and forth on submitting talks to cf.Objective(). This year I submitted three talks and ending up giving all three talks and, whilst they were well-received, it was a lot of work and really a bit much in terms of truly enjoying the conference (although I had a great time). Last year I didn't even expect to go, until the last minute when I attended as a "booth babe" for Railo since they had some big announcements to make and needed extra cover while they were talking with the community. I didn't speak in 2008 either, when I was the entirety of the "Content Advisory Board". But for 2014, since I was going to be developing a talk for SotR, I figured I might as well throw my hat in the ring for cf.Objective() 2014 as well...
Below is the full description of the talk. You can vote on cf.Objective() submissions via Trello and vote on Scotch on the Rocks submissions via their Engage app (which nicely has anonymous voting so you're really voting on the topic instead of the speaker!).
Functional Programming for the Web
Description: Functional Programming (FP) is the new "hotness" but it can be very daunting for developers with a "traditional" background in imperative and/or object-oriented languages. This talk will provide a fairly gentle introduction to what web applications look like in a Functional Programming world and highlight a number of techniques you can use in your current applications to help make them more testable, more scalable, and more robust. We'll look at a complete web application, written in Clojure using FW/1 (which will be at least partially familiar to many CFML developers). We'll also take a look at some emerging technologies for interactive web development and show some of these techniques applied to CFML.
Target audience: Web developers who are "functional-curious" and looking to expand their skills beyond the imperative and object-oriented worlds, or who want to learn techniques to improve testability, scalability, and robustness.
Assumed knowledge: General web development experience in an imperative and/or OOP language (such as CFML). No prior FP knowledge is required.
Objectives: Expose developers to Functional Programming techniques. Expose developers to a new and exciting language on the JVM (Clojure). Teach techniques that can improve testability, scalability, and robustness in traditional web applications.
Why me? I've been developing production applications in functional programming languages for about four years, and have a long history of interest in functional programming, dating back to thesis research work on the subject in the early 1980's.
Main points your audience will learn:
- The basics of functional programming
- The basics of Clojure
- How to make your code more testable
- How to eliminate thread safety issues in your code
- A glimpse into some of the cool emerging technology in the functional web space (including a quick look at FRP - Functional Reactive Programming)
Even if you're not interested in my topic, go and vote for other topics you like, and I hope to see you at one (or both!) of these conferences next year!