Show notes
In this episode I talk with Micheal Sperber. We talk his introduction to programming and functional programming languages, important commonalities across languages, power of syntactic abstraction, teaching programming to beginners and experienced programmers, Concurrent ML, and more.Our Guest, Micheal Sperber@sperbsen on Twitterhttp://www.deinprogramm.de/sperber/Conference AnnouncementsCodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more informationa, and to register, visit http://bobkonf.de/.:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.If you have a conference related to functional programming, contact me, and I will be happy to announce it.AnnouncementsSome of you have asked how you can support Functional Geekery, in that vein,Functional Geekery now has a Patreon Page.If that is one of the ways you would like to show your support, you canfind out more at https://www.patreon.com/fngeekery.Topics [@About MichealHow Micheal got into softwareHow Micheal’s interest in teaching related to his interest in softwareMicheal journey of learning different languagesBASICCGermany’s National Competition of Programmers for high school studentsFinding a community of people to learn fromHow Micheal came across functional programmingLISPStructure and Interpretation of Computer ProgramsSchemeHopeMirandaHaskellMLOCamlClojureErlangF#ScalaElixirWhat is the core that Micheal finds across functional languagesImmutabilityType Based Design (regardless of static or dynamic typed)Macros as the “feature wish” for all languagesHygienic MacrosPower of a common, well known, syntactic abstractionWhat Micheal has found about teaching functional languages“Your students are different than you”“You have to put some distance between what you teach and what you love”Racket“You need to have languages designed for teaching, and tooling designed for teaching”Dr. RacketCommonality of teaching beginning programmers and teaching experienced professionalsCommon principles for teaching as starting points“Keep excitement out of it”Program by DesignHow to Design ProgramsDesign RecipeUsing types about your data to match information in your problem statementLessons from taking the teachers’ excitement out of the curriculum“Here’s this thing, we don’t care if you love it or not, just do your thing”Letting the students get excited for themselves.Difference in thinking in types between dynamically and statically typed languagesConcurrent MLOverview of similarity and differences in concurrency across functional programming languagesMessages and immutable dataErlang process model for concurrencyOverview of Concurrent MLRendezvousAlgebra of Rendezvous“It’s like Christmas when you pull it out of the box”Composition of Rendezvous across different concurrent mechanismsWittgenstein “The limits of your language are the limits of your world”Going back to other concurrency mechanisms after knowing about Concurrent MLcore.asyncConcurrent ML as a way of thinkingStandard ML of New JerseyExtracting Concurrent ML concepts as a libraryStarConcurrent Programming in MLConcurrent ML as the best book on concurrent programmingJohn Reppy Ph.D. thesisConcurrent ML book on covers multiple paradigmsMike’s upcoming CodeMesh presentationInternational Conference on Functional ProgrammingFunktionale ProgrammierungBOB KonfAs always, a giant Thank You goes to David Belcher for the logo design.

