1. 6

  2. 7

    Elixir does not use an object-oriented programming model.

    Elixir as a web programming language is that it is built on a system where processes communicate by passing messages to one another

    cries in alan kay

    1. 2

      I am sympathetic to this line of thinking, however…

      being the first to coin a term does not mean you get to dictate it’s meaning for all time. language evolves, and if you use the term “OO” to only mean its original meaning, you are going to cause a great deal of confusion.

      personally I believe the term has come to mean such a mishmash of things that it is best off if you avoid it completely and use more specific words to say what you actually mean. time to move on.

      1. 2

        I still think “OO” is still appropriate to call this style of programming language. Elixir is object-oriented, to me, it just doesn’t use classes. This is totally valid because other popular programming languages (like JavaScript) are considered “OO” but also don’t (really) use classes as a means of abstraction. I don’t know if “classical OO” is the right term here, but I kind-of like the pun part of it, as it’s “OO with classes” rather than “OO with prototypes”.

        Perhaps we can coin a new term, “more OO than OO”, for languages like Elixir and Erlang. :)

    2. 2

      Put your code into an MRF plugin and then you don’t need to maintain a fork.

      Nice blog writeup though!

      1. 1

        I am trying to learn more about Pleroma and Elixir web development in general, and this was a great overview of the code structure itself. I am able to find my way around the codebase much better after reading this.