|
In this episode I talk with Eric Smith. We talk about his introduction to functional programming and what he looks at from a organizational perspective, his interest in the history of computation, and covers some thoughts on how we should be introducing people to programming with lessons learned from digging into the history of computation.
Our Guest, Eric Smith
Eric is @eric_s_smith on Twitter Middlebury Interactive Languages
Sponsors
This episode is sponsored by PurelyFunctional.tv. PurelyFunctional.tv’s Online Mentoring has just launched. It is step-by-step online mentoring that takes you from Clojure dabbler to Clojure professional. Sign up with the link purelyfunctional.tv/geekery to get 50% off the first month!
Announcements
LambdaDays 2016 will be taking place on the 18th and 19th of February in Kraków, Poland. The CFP and registration has opened, so make sure to visit lambdadays.org to find out more. And make sure to use code FunkyGeekz4dWin to get 10% off registration.
:clojureD 2016 will be taking place on the 20th of February in Berlin, Germany. The CFP has opened, so make sure to visit www.clojured.de/ to find out more.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Topics
About Eric Smith Vermont Functional Programming user group One of Eric’s talks at VT Fun
How Eric got into software development
Personal language evolution and introduction to Functional Programming Architecture the Lost Years by “Uncle Bob” Martin
“Keep the interface with the world at the outside layer of the onion”
“Recursive Functions for going over data collections” Common Lisp, Clojure, Haskell, and Scala PureScript
What Eric liked about the different languages from both a personal and work place organization perspective
“Setting the bar high is actually helpful” Daniel Spiewak May Your Data Ever Be Coherent
Separation between what you are trying to express and your control flow
Peter Landin’s The Next 700 Languages
Thinking in State Transitions vs Composition
Statement vs Expression based languages
Denotational Semantics Peter Landin, Christopher Strachey, and Dana Scott
Eric’s interest in the history of computing
“Victim of an industry that has prioritized moving forward or getting things done vs getting things done in a sustainable or scalable way” Presper Eckert and the von Neumann architecture
“We’ve lost sight of what was happening at the very beginning” Kurt Gödel’s Proof of Incompleteness (in English) and in original German Gödel Numbering Lambda Calculus by Alanzo Church Recursive Functions of Symbolic Expressions by John McCarthy
What drove Eric to dig into the history of computing
“As a manager, I was inheriting fairly large code bases that were a mess” Let’s be mainstream! by Evan Czaplicki
“We would not teach people imperative programming as a beginning thing, and that would be something reserved for experts”
Functional Reactive Programming Elm big-bang in Racket
Other lessons of history that people should know of
On the basis of the mathematical theory of computation by John McCarthy
Peter Landin ISWIM Robert Floyd, Assigning Meaning to Programs C.A.R. Hoare
John Backus’ and his Can Programming Be Liberated from the von Neumann Style Speedcoding How to Design Programs Systematic Program Design from edX QuickCheck F# for Fun and Profit from Scott Wlaschin
Sum Types Curry-Howard isomorphism
Property Based Testing
Edsger Dijkstra’s Structured Programming
“Forces you to think about the properties of what comes out of your function”
Scott Wlaschin’s An introduction to property based testing How to Design Worlds PureScript by Example by Phil Freeman
As always, a giant Thank You goes to David Belcher for the logo design.
|