{
  "$type": "site.standard.document",
  "canonicalUrl": "https://numergent.com/2016-06/Flexibility-Through-Immutability.html",
  "path": "/2016-06/Flexibility-Through-Immutability.html",
  "publishedAt": "2016-06-01T11:36:30.000Z",
  "site": "at://did:plc:cf6futaebyc2k4wgzsr4v42k/site.standard.publication/3mp2ewx43js2g",
  "tags": [
    "clojure",
    "immutable data",
    "functional programming",
    "c#",
    "java",
    "talks"
  ],
  "textContent": "While functional programming has a lot of advantages, the more I worked on the paradigm, the more surprised I was at how much thinking in a functional manner made refactoring easier.  \n\nAs happy as I am to sell people on Clojure, I realized that teams could benefit from adopting some functional programming ideas even on their current language.  I decided to try a different approach, and gave a talk at the 2016 ITAKE Unconference in Bucharest, elaborating on the benefits of immutable data.  I wanted to focus on how the functional paradigm has a value in-and-of-itself.  A secondary goal was to provide some tips that teams who can't yet pull away from Cor Java can put into effect to help.\n\nYou'll find my screen recording, as well as the slides, below.\n\n\n\nI recorded the audio with my MacBook Pro's microphone, but have done my best to clean it up and enhance it during the questions. ITAKE also recorded the talk. I hope they'll make their video available soon, and will link to it when it's available.\n\nI also have the notes that I originally wrote for the talk, so if you're more interested in reading than watching a video, let me know and I'll clean them up and post them.\n\n<div class=\"space-around\">\n<iframe width=\"640\" height=\"360\" src=\"https://www.youtube.com/embed/yv8f8hUAT-o\" frameborder=\"0\" allowfullscreen></iframe>\n</div>\n\nMemo to self: don't say \"in a mutable manner\" when talking about immutability, particularly if you speak quickly. \n\nHere are the talks and resources I mention:\n\n Clojure All The Way Down\n Immutable collections for <a href=\"https://msdn.microsoft.com/en-us/library/system.collections.immutable(v=vs.111).aspx\" target=\"_blank\">.Net</a> and Java\n re-frame, a pattern for writing single-page applications in ClojureScript, using React / Reagent\n King's talk on Defold, which uses Clojure for a game development editor.\n The Bucharest Functional Programming group\n Clojure!\n\nThe slides are at SpeakerDeck:\n\n<div class=\"space-around\">\n<script async class=\"speakerdeck-embed\" data-id=\"88731ee1ff524ac69bd2dcae076a27dc\" data-ratio=\"1.77777777777778\" src=\"//speakerdeck.com/assets/embed.js\"></script>\n</div>\n\nUpdate: ITAKE has uploaded the talk video, you'll find it below.\n\n<div class=\"space-around\">\n<iframe width=\"640\" height=\"360\" src=\"https://www.youtube.com/embed/-s5VywTiOwg\" frameborder=\"0\" allowfullscreen></iframe>\n</div>",
  "title": "Flexibility Through Immutability"
}