Skip to content
0:00 / 0:00

#elixir#designpatterns#gangoffour

Keynote: Gang of None? Design Patterns in Elixir - José Valim | ElixirConf EU 2024

Code Sync

15K subscribers • 65 videos on Hallway

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 in engineering communities.
  • Presented by José Valim
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

46K views2 years ago2 recommendations

Programming languagesSoftware designElixir and ErlangDesign patternsLanguage design and type systems

José Valim explores the classical Gang of Four design patterns and analyzes their applicability and deconstruction from Elixir's perspective.

✨This keynote talk was recorded at ElixirConf EU 2024. If you're curious about our upcoming event, check elixirconf.eu ✨ In this talk, José Valim explores the classical Gang of Four (Design Patterns) book and answer the question if they are applicable to Elixir programs or not. He also talks about objects, how we can understand and deconstruct them from Elixir’s perspective, and how such deconstruction impacts the design of large systems. Let's keep in touch! Follow us on: 💥 Twitter: twitter.com/ElixirConfEU 💥 Facebook: facebook.com/CodeSyncGlobal 💥 LinkedIn: linkedin.com/company/code-sync 💥 Mastodon: genserver.social/codesync

Why it's here

2 people recommend this

What people say. Highly recommended as an insightful exploration of how object-oriented design patterns translate to functional programming in Elixir.

u/Mental_Sort4359in r/elixir • Recommends

Popular talks from 2024- Jose's talk in top 100 engineering talks "PHP and Elixir?!" by Wojtek Mach An unexpected perspective on combining two different worlds [video "Gang of None? Design Patterns in Elixir" by José Valim A fresh look at design patterns through the lens of Elixir [video "Building a Multiplayer Browser Game with LiveView" by Gonçalo Tomás Practical insights into LiveView's real-time capabilities [video

veqqon Lobsters • Recommends

Gang of None? Design Patterns in Elixir

u/pikruain r/elixir • Mentions

On “Once Again: LiveView vs. LiveVue / LiveSvelte / Inertia.js vs. Split Frontend<>Backend”

Tight coupling is not a con by itself. If there was a consequence as a result of coupling you can say its a con. See jose’s presentation minute18: link to this video Decoupling brings complexity

u/josevalimLead Developerin r/elixir • Mentions

On “Learning resources for new programmer”

…another, I can comfortably argue that FP is simpler than OO. OO is about the bundling of multiple concepts into a single entity: inheritance, polymorphism, state, behaviour, etc. You learn all of those things at once and then you learn how to work around the bundling. FP has fewer concepts that you compose, and I gave a whole talk about it here: link to this video Similarly, immutability is easier to grasp than mutability, because immutability is ultimately about focusing on the data, while mutability is data changing over time (so you have one added dimension there). And if someone is coming from mathematics, the concepts of immutability, functions, and recursion, are going to feel way more natural…

u/iruoyin r/elixir • Mentions

On “I am completely lost when it comes to *which* control flow pattern to use. Have best practices in this regard been jotted down somewhere?”

The creator of elixir also did a talk on design patterns last week. [video

u/BroadbandJesusAlchemistin r/elixir • Mentions

On “Is there any literature teaching programming principles in Elixir? or is it all C and python?”

Slightly related, a great talk that clarified a ton in my head: link to this video