AstonJ

AstonJ

Mind blowing Elixir

How has Elixir blown (or expanded!) your mind? Please tell us here!

Can be something that’s unique to Elixir, or just something that it introduced to you. Can be something you discovered a while ago.. or something you just come across - whatever it is, please share :023:

First Post!

AstonJ

AstonJ

Well it was mind blowing enough when I first came across recursive functions, but I’m just reading Learn Functional Programming with Elixir (Pragprog) and I’ve just met a recursive function …inside a recursive function :icon_eek: :003: :lol:

Most Liked

brightball

brightball

Completely changed the way I think about code…which is kind of a pain when I have to use other languages…

19
Post #4
kylethebaker

kylethebaker

This talk by Saša Juric is one of my go-to’s when trying to get people interested in Elixir. Being able to attach a REPL to a running production system and having all of these introspection capabilities at your disposal is something I don’t think any other runtime offers (or if they do it likely isn’t as deeply integrated with the runtime as you get with elixir/erlang).

15
Post #6
andre1sk

andre1sk

Not specifically Elixir but BEAM’s preemptive scheduler especially after working a lot with Node is truly mind blowing.

Last Post!

namelos

namelos

Erlang/OTP is mind-blowing to me. However, if there’s no Elixir, I probably never actually take a serious look at them (although it was always on the todo list). I can raise some examples:

  1. I realized the scheduling efficiency is much more important than execution speed:
    Given Java is much faster than Erlang – Erlang is much faster than Java is most of the Web and other scenarios. The nature of most user-oriented scenarios is about unordered events and operations.
    Erlang vs Java is more like agile vs waterfall. If the requirement never changes probably waterfall is better, just like scientific calculation or batch operations. But more scenarios are dynamic, react to change is far more important than personal efficiency.

  2. I realized programming language is probably is not enough. We need operating systems. Processes. Applications. Isolation.
    Typically most of the libraries run on your threads, in typical programming languages. If one of them crashes, everything crashes unless you handle them.
    In typical language: two objects, one is saying ‘hi’ to another, and another responds with something the former does not understand. The whole world explodes. That’s crazy! And yet we’re so used to them.
    In typical operating system, if there are some application crashes, people is not expecting the whole operating system crashes. They’ll be really pissed if it does.

  3. Your database and your application could be the same thing.
    Actor is similar to this philosophy, and riak_core / lasp / o(e)rleans are stepping toward this direction. It’s not popular or easy to handle right now, but we will eventually be there. The database is always ‘the’ problem that makes me really think ‘there should be a much better’ way. After I read these solutions, I believe there’s a bright future for this philosophy.

They are really mind-blowing.
SICP and Lisp blew my mind on how to write software.
Erlang/OTP blew my mind on how to run software. And running software properly is so important nowadays.

Where Next?

Popular in Discussions Top

AstonJ
Are there any Elixir or Erlang libraries that help with this? I’ve been thinking how streaming services like twitch have exploded recentl...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
New
tomekowal
Hey guys! I want to create a toy project that shows a chart of temperature over time and updates every 5 seconds. I feel LiveView is per...
New
Fl4m3Ph03n1x
Background This question comes mainly from my ignorance. Today is Black Friday, one of my favorite days of the year to buy books. One boo...
New
owaisqayum
I have a sample string sentence = "Hello, world ... 123 *** ^%&*())^% %%:>" From this string, I want to only keep the integers, ...
New
shishini
I think this twitter post and youtube video didn’t get as much attention as I hoped I am still new to Elixir, so can’t really judge ...
New

Other popular topics Top

vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31525 112
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement