Ann

Ann

Hello everyone!
I’m interested in your opinion, I read that Elixir is more understandable and easy to learn compared to Python, is it really true? I’m interested because I’m a beginner, is Elixir suitable for me or is it more for professionals?
I would be grateful for your thoughts!

Showing Posts 1 to 10

whatyouhide

whatyouhide

Elixir Core Team

Hi @Ann, welcome :waving_hand:

This question doesn’t have an answer, in my opinion :upside_down_face:. It’s subjective. I wouldn’t say that Elixir is “more understandable and easy to learn” than Python, no. I wouldn’t say it’s “for professionals” either, though. At the beginning of your programming journey, there are many great choices.

Elixir lends itself to a nice beginner experience in my opinion, and you will be able to avoid learning concepts that are taught in most intro to programming courses (mutable data structures, object-oriented programming) but that are not really necessary to get going.

On the other hand, Python takes the crown when it comes to being everywhere. It’s taught in most universities and colleges, it’s used in most fields, and it has a virtually-infinite amount of resources to learn from.

So, my two cents: don’t feel like you couldn’t learn Elixir, but at the same time, don’t think it will be significantly easier than learning Python is this is the first programming language you’re going to learn.

In any case, happy learning.

18
Post #1
curioustolearn

curioustolearn

Do you know what you might want to use either of those for? I think it depends on that.

ityonemo

ityonemo

if you can correctly tell me what the result of the last line is in python, then yes, python might be easier to understand:

def f(list = []):
  return list

def g(list):
  list.append('foo')

result = f()
g(result)
f()
16
Post #3
kanishka

kanishka

On this note, if you are willing to focus on front end, elm provides a similar focused learning experience, where you don’t have to learn lots of irrelevant concepts.

Sebb

Sebb

It is easier and harder. The reason is, that Elixir lacks one ‘superpower’ of Python - mutability.

This makes it easier to understand what’s going on but also complicates some things (see ityonemo’s example, not possible in Elixir.) For most problems immutability is a good thing. Especially for producing maintainable code. (which is not a core concern of a beginner).

I have about 20 years of Python and 2 years of Elixir experience.
I’m more “familiar” with Elixir, though. I can better imagine how the implementation of a new problem will look in Elixir than Python. What the challenges and pitfalls will be.

When you start using concurrency, then Python becomes close to useless compared to Elixir. (Actors vs GIL threading). Also metaprogramming is way more powerful in Elixir. A big pro for Python is: there is a lib for everything. That’s what I’m using Python for now: a toolbox for quick scripts. Would never again start an application in Python.

fireindark707

fireindark707

I think it is , right?

ityonemo

ityonemo

I think it is , right?

Try it :imp:

Sebb:
BEAM gives you some nice mutable things for pretty much most things you might need. ets, counters, atomics, process dict, if you really need it, but if you really want something mutable, these days there’s always a database.

fireindark707

fireindark707

Terrible, I have used Python for 5 years, but I still get confused in some strange places

fireindark707

fireindark707

I know how to fix this issue:

def f(list = None):
  if list is None:
    list = []
  return list
ityonemo

ityonemo

I think you messed up your indentation!

Where Next? Top

Trending in Questions Top

katta
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
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
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
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
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

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews