CodeSync

CodeSync

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

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

Comments welcome! View the code-sync and elixirconf-eu tags for more Code Sync and ElixirConf EU talks!

Most Liked

carlogilmar

carlogilmar

One of my favorite talks! Seriously! Here you have my graphic recording! :slight_smile:

graphic-recordings

russolsen

russolsen

Just as he goes on after this, just because we use functions in elixir, this doesn’t mean those design patterns disappear magically, we have them in other forms and shapes.

Yes! We have to keep in mind that the GoF book was written a long time ago and a lot of the problems they were trying to solve revolved around the combination of OO and static typing. Fast forward a few decades and languages like Elixir have fewer constraints and the benefit of many years of experience.

But what doesn’t change with the language is that programming challenges come in all sizes and shapes and – no matter which programming language you are using – some of those challenges will be both common and just beyond what is straight forward to code in the language. And then you need a toolkit of known to work solutions.

Unfortunately design patterns went thru a period of insane over use – I actually worked with people who believed with all of their heart that any programming problem could be solved with the proper application of one – or perhaps seven or eight in combination-- of the GoF patterns. The result was write only code. The resulting backlash kind of poisoned the whole idea in many minds.

I do think the functional world would be helped by folks finding and documenting patterns, but, at least in the circles I travel in, we are going to have to find a different word.

AstonJ

AstonJ

Just watching this now - it’s great to see José looking happy and healthy (I can’t be the only one who worries he (and others like Chris) overwork themselves sometimes!)

The only book I have read about design patterns is Design Patterns in Ruby by @russolsen and it is one of my favourite tech books of all time! Russ is an amazing author and very eloquently (and entertainingly!) explains how to apply the patterns. I’ve asked him a few times whether he’d consider doing one on Elixir! In fact if Russ wrote a book about Elixir on any topic I would be the first to buy it!

Wonder what others think about design patterns in Elixir? They’re all functions? :upside_down_face:

i-n-g-m-a-r

i-n-g-m-a-r

I’ve been using (in love with) Elixir for almost 7 years now. Before that every minute of OO-programming has been a waste of time. Watching this presentation is like remembering the stone age. Having to deal with ridiculous problems. It’s hard to even imagine nowadays. Jose is an absolute genius. Tnx for bringing Erlang to “the masses”.

AstonJ

AstonJ

Congrats to José, this talk was one of the top 100 (37th!) talks watched in 2024 :023:

Where Next?

Popular in Talks Top

ElixirConf
ElixirConf: ElixirConf 2023 - Charlie Holtz - Building AI Apps with Elixir Comments welcome! View the <span class="hashtag-icon-placehol...
New
axelson
ElixirConf 2017 - Perhap: Applying Domain Driven Design and Reactive Architectures to Functional Programming - by @Version2beta ...
New
New
axelson
ElixirConf US 2018 – Texas: Virtual DOM Library for Server-Side V-DOM. – Dan McGuire (@dgmcguire) Client-side applicatio...
New
axelson
ElixirConf 2017 - The Power of Zero - Andrew Forward Automation is hard, but the benefits can be phenomenal....
New
axelson
ElixirConf US 2018 – Simple is Beautiful: Building an SLA Monitoring Tool Using Elixir/OTP at PagerDuty – Aish Dahal Sta...
New
axelson
Hey folks, beginning to post today’s round of ElixirConf videos! ElixirConf US 2018 – Elixir at a Walking Pace – Lance Halvorsen (@lance...
New
axelson
I really like the idea of discussing one Elixirconf talk each day and since @brightball hasn’t posted the second talk I’ll post it. Elix...
New
axelson
Consistent, Distributed Elixir - @keathley Elixir and Erlang provide powerful mechanisms for building systems that are alw...
New
Lawrence_elixir
ElixirConf EU 2019 talk videos ElixirConf EU 2020 - Early bird tickets on sale now! Website: http://www.elixirconf.eu Twitter: www.t...
New

Other popular topics Top

fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
beno
I will often find my self writing things similar to: case some_value do nil -&gt; something() "" -&gt; something() _ -&gt; someth...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

We're in Beta

About us Mission Statement