The Hitchhiker’s Guide to Multiparadigm Programming
A programming paradigm is basically a philosophy, style, or general approach to writing code. Possessing a fundamental understanding of different programming paradigms gives us a much wider perspective on how to solve problems in accordance to the task we have at hand. In the past, if you wanted to learn a new programming paradigm you usually had to learn a new programming language as well; but that’s not the case if you’re using a language that supports multiple paradigms, like Clojure. In this talk, I will present nine years worth of experiences (both good and bad) regarding the use of Clojure in a CS undergraduate Programming Languages course where five different programming paradigms are covered: functional programming, imperative programming, concurrent programming, metaprogramming, and relational (logic) programming.
Also, here are a few free tips to keep in mind if you want to be a successful hitchhiker in the world of multiparadigm programming with Clojure: don’t panic, use mutation only when it makes sense, and always be sure to know where your towel is!
Ariel Ortiz
Ariel Ortiz is a programming language geek. Since 1994, he’s been a full time faculty member at the Tecnológico de Monterrey in Mexico, where he has been involved mainly in teaching undergraduate computer science courses. His central areas of interest include: programming languages, compiler construction, software design and architecture, and open source issues. He’s an active member of ACM’s special interest group on computer science education (SIGCSE). Nine years ago he started using Clojure in his classes, but his experience teaching Lisp goes back to 1994 with the Scheme programming language.