DEV Community

Ben Halpern
Ben Halpern

Posted on

I'm learning all about Erlang this weekend. I'm feeling pretty lost but I'm having fun.‬

I went to make this a tweet but then I thought I'd share here instead. The site's not perfectly built for this use case yet, but I think it could fit.

Top comments (16)

Collapse
 
imthedeveloper profile image
ImTheDeveloper

What's your first impressions and proposed usage? I've been meaning to start looking into elixir.

Collapse
 
ben profile image
Ben Halpern

Erlang'a history is pretty fascinating in that it was designed specifically to solve parallelism issues with telephony infrastructure in the 80s which just happens to be a really scalable way to build with distributed systems in mind. I'm trying not to be too practical minded in my learnings now, mostly doing it for the fun right now, learning syntax and simple concepts.

Early on I'm finding it to be a pretty fun divergence from the language patterns I'm used to. I'm not super familiar with Elixir but I presume that environment injects them back in a bit for practical purposes.

Collapse
 
rhymes profile image
rhymes • Edited

Erlang The Movie is still epic to watch

Collapse
 
inidaname profile image
Hassan Sani

Can I join you me trying to learn Golang

Collapse
 
codehakase profile image
Francis Sunday

Hey check my profile, I wrote on how I learned Go

Collapse
 
inidaname profile image
Hassan Sani

Really I will definitely do

Thread Thread
 
kataras profile image
Gerasimos (Makis) Maropoulos • Edited

The easiest way to learn Go is by reading open-source projects, I happens to maintain one of the most popular go packages iris-go.com and the 6th most trending open-source project last year, github globe. You'll learn a lot from its code, it has simple and "superior" code, you will see how design patterns are applied in Go and how web works at general(I'm assuming that's why you select to learn Go at the first place)

Thread Thread
 
codehakase profile image
Francis Sunday

Yeah, reading source code from existing projects, aids in your learning too. I had to do just that to organize my code in a design pattern recommended by community.

Collapse
 
saurabhgiv profile image
saurabh.v • Edited

Yes, there are many different concepts in Erlang which we don't usually find in other languages. Language works primarily on the principle of message passing where processes communicate only by passing messages. Since there is no concept of shared memory and mutable data, it results in quite simplified code with no involvement of locking or any such concepts.

It offers fault tolerance since some processes are classified as supervisors(gen_supervisor) who manage other processes(gen_server, gen_fsm) and restart/stop them when they die.

Collapse
 
birchsport profile image
James Birchfield

I LOVE erlang! Yet I have no practical use for it at work right now. But I am a huge fan of the actor model, and really, really enjoy erlang so far.

Collapse
 
rapidnerd profile image
George

Had a look into Erlang not too long enough, to me it seemed on a similar lines of Go. If I'm correct in saying its a functional language?

Collapse
 
rhymes profile image
rhymes

Erlang is definitely a functional language. I wouldn't define Go a functional language though.

The central points, at least in my opinion, of Erlang are: immutability, highly concurrent and fault tolerant distributed programming (what makes it great for telecom systems) and pattern matching. All of these three are built-in and can be deployed with a few lines of code.

Go (I'm not an expert so I might be seriously wrong) seems to have none of these three built in.

I'm not trying to bash on either, just pointing out that they have fundamentally different programming models and philosophy, even if they might be used interchangeably to solve similar programming problems.

Collapse
 
stefandorresteijn profile image
Stefan Dorresteijn

I'm pretty deep into Elixir at this point which is doable but anything that requires Erlang is still far beyond me.

Collapse
 
adziahel profile image
Andrei Dziahel

Ya, Erlang is different, but it pays off, I can tell you that.

Collapse
 
woahitsjck profile image
Justin Chew

Have you ever done any functional languages before?