jfc

jfc

I am new, old, and I want to understand everything: Erlang or Elixir first?

I hope the title says all. I am an old brain new to beam. I wish to grab everything I need to be able to see if/how I might use it for a “virtual glocal network” “OS” (with its own limited apps) that I could instal on all my CPUs whatever their back-OS, for them to work together locally or through the internet.
Question: should I first try to understand and train in erlang or elixir? Or would there be a book addressing that type of practical architectural need in parallel/comparison? Or is the question stupid?
Thx!

Most Liked

jfc

jfc

Deep thanks to all for these documented and quick responses! When they say elixir has a “vibrant community”, I see it!!! I am going to study every link (consider each book) I was suggested. As a newcomer, I feel I need to help myself (and possibly others - I failed to create a local meet-up for an “auto-mooc” on “erlix” in my place) to make beam more “habitable” further on. I come from the network and my interest is in what I call “brainware”: the “keep it simple, smart and manageable” in software/functional networking.

kokolegorille

kokolegorille

It’s important to switch to functional mind, whatever syntax You choose to follow.

peerreynders

peerreynders

I recommend you have a good look at this topic , the associated video and in particular this post to get a better sense of the relevant use cases for distributed BEAM .

peerreynders

peerreynders

Quote:

I found both

to be a good way to “unlearn the other stuff” and to become more familiar with functional programming and concurrent programming (unfortunately the courses seem to be currently dormant - see also [Erlang] Functional Programming in Erlang (University of Kent) (free) and Erlang master classses - School of Computing - University of Kent).

By all accounts Learn Functional Programming with Elixir (Pragprog) is a good way to get introduced into the functional mindset and Elixir. However concurrent programming and architecture according to the BEAM are outside of its scope.

A lot of the more architecturally oriented BEAM resources still use Erlang as the lingua franca (as it has been around longer). One example is Designing for Scalability with Erlang/OTP (O’Reilly). There is a generous free sample on Google Play Books. While it includes a refresher chapter on Erlang, it probably makes more sense to go through something like Learn You Some Erlang first.

It needs to be emphasized that the BEAM’s distribution features primarily exist to support fault tolerance and to some degree (local) scalability - but distribution (especially on a global scale) was never an end in itself.

To get a sense of what the BEAM was designed for, read

The Hitchhiker’s Guide to the Unexpected

or watch

Fred Hebert - The Hitchhiker’s Guide to the Unexpected - Code BEAM SF 2018

In many ways Elixir made the BEAM more habitable for application developers - Erlang by itself seems more like something that engineers create for other engineers to use.

yordisprieto

yordisprieto

Get familiar with the toolkit and concepts using Elixir and then focus on Erlang. That is what would recommend.

Where Next?

Popular in Questions Top

Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
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
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
idi527
I’ve been re-reading swift book again and noticed that multiline strings there don’t have a trailing line break, unlike in elixir iex(2)...
New

Other popular topics Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
AstonJ
You’re a programmer, so you don’t need spoon feeding with the conventional drivel about “this is an integer.” No. You need to know what’s...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
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 -> something() "" -> something() _ -> someth...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
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