D. Schmudde Clojure/conj 2016 Interview
From OO to Clojure Workshop!
Watch my free workshop to help you learn Clojure faster and shift your paradigm to functional.
D. Schmudde will be giving a talk at Clojure/conj 2016. He will be speaking about functional programming and clojure.spec as it relates to art.
Follow him on Twitter, GitHub, and his homepage.
PurelyFunctional.tv: How did you get into functional programming?
D. Schmudde: I was introduced to Lisp as an undergrad at the University of Northern Iowa. The program had an Artificial Intelligence track in the late 1990s, which turned out to be the perfect place for me to explore my interest in the humanities and the arts at the intersection of computing.
I had a 68k Macintosh at that time, which meant my options were pretty limited. I ended up using a Common Lisp interpreter called PowerLisp. The interpreter was buggy and forced me to confront the most fundamental aspects of the language.
PF.tv: What is your talk about?
DS: My talk examines why functional programming and Clojure.spec are valuable approaches for working within abstract domains: music, art, and storytelling.
PF.tv: What do you hope people will take away from the talk?
DS: I'm going to discuss techniques for reasoning in abstract domains and the relationship between quantitative and qualitative thinking. This is an area of intense growth and opportunity and I hope that it elicits conversation during the conj.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
DS: There are a lot of preconceived notions about the process of art-making. An introspective meditation on this would be the most powerful requisite to my talk. Unconscious biases obfuscate abstract concepts, even when they are underpinned by concrete, algorithmic reasoning.
PF.tv: What resources are available for people who want to study up before the talk?
- The creator of AARON, Harold Cohen's website.
- Overview of Zork's ZIL and the Z-Machine.
- A wonderful, short book on aesthetics: Which "Aesthetics" Do You Mean?: Ten Definitions.
- The website for "Borderless," which includes my Clojure work with artist Kim Burgas.
PF.tv: Where can people follow you online?
DS: I'm most active on Twitter - [@dschmudde]Twitter - and my personal website.
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
DS: This is only tangentially related to Clojure, but I feel like some Purely Functional readers might find my interactive documentary interesting:
"Jack and the Machine" parallels the life and times of Jack Tramiel, founder of Commodore International and an Auschwitz survivor, with the advent of the personal computer revolution. The story underpins the human rights issue of our time: access to information and the tools of self empowerment.
Check out http://jackandthemachine.com/ and sign up to the mailing list if you're interested. Every eMail address helps demonstrate broad interest in the project.
PF.tv: Where do you see the state of functional programming in 10 years?
DS: Ten years ago, I wouldn't have predicted such a wide adoption of FP's core concepts, so I have very little confidence in my prediction over the next ten.
The current trajectory of functional language growth is strong. The concepts are so interconnected with the fundamentals of 20th century computer science that I hope they become more prevalent in introductory programming courses - from vocational schools to universities.
PF.tv: If functional programming were a superhero, what superpower would it have?
DS: A great FP superpower would be the ability to violate the Church--Turing thesis, which showed that a general solution to the Entscheidungsproblem is impossible. That might not be as exciting as super strength or super speed, but it would allow us to know if a statement can generally be proven true or false based on a set of rules, rather than by brute force of execution.
Such a function would allow us to prove software is bug-free without running it. That definitely seems like a superpower to me!