koushikuk
Why elixir is a procedural language when almost every programming language is adopting object oriented programming design pattern? Even Drupal 7 was a procedural language before. But now drupal 8 is full object oriented programming framework.
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Hello,
I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind.
However, when I launch mix phx.server, I get an error...
New
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
I’m working on a small exercise involving update_in/3, and I came up with this solution:
data = %{
name: "Periodic Table",
category:...
New
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication):
toke...
New
Hello folks!
So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Is there any way to avoid the Hologram compiler running when using iex? It seems like the front-end code could potentially be disregarded...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ai
- #ecto-query
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming











Showing Posts 1 to 6- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
NobbZ
Elixir is “functional”, not “procedural”. So I do not get your question…
kokolegorille
I am not sure of this, and it looks like a joke on a functional language forum
Also Elixir is a language, not a framework.
rvirding
Just because they made a bad choice doesn’t mean we have to.
acrolink
The fact is OOP made Drupal 8 3x times slower than procedural Drupal 7. So OOP when used in wrong places can be bad.
peerreynders
Related:
OCaml (Objective Caml - 1996) is a functional language that included OO features. This recent discussion demonstrates that to this day those features haven’t “taken over”.
Elixir does support Protocols for cases where polymorphism is needed.
Because of the naming people often get hung up on functions with functional programming. However another important aspect is immutable by default. Even in Effective Java, 2e (2008) there is Item 15: Minimize Mutability (p. 73). In general, most OO practice doesn’t constrain mutability enough - in fact it is often seen as unnecessary due to encapsulation - however encapsulation doesn’t protect you from unexpected change. This requires the deliberate application of defensive copying - failing to make defensive copies when necessary can have devastating consequences. But in mutable by default environments copying can be expensive while in immutable by default “copying” is optimized through effective use of persistent data structures.
It’s no joke - it’s the typical confusion between what is popular and what is good (generally without taking the context into account).
Why Are So Many Developers Hating on Object-Oriented Programming?
To some degree I think even NoSQL played into this - Document-based storage looked like Object storage and at least temporarily made SQL less relevant.
For the longest time SQL was one of the best opportunities to realize that imperative programming may not always be the best way to do things. At the same time there always have been lots of efforts to dispense with SQL and let everybody live comfortably with their imperative ways (one of the reasons why I like
Ecto.Queryis because it embraces the way SQL works).koushikuk
I’m new in elixir. I got my answer. Thanks for guiding me. Will be with this forum for long.
Love learning Elixir.