So what's the use case or are we in meme territory now?

So what's the use case or are we in meme territory now?

Attached: Erlang_logo.svg.png (1200x1052, 41K)

Other urls found in this thread:

stackoverflow.com/questions/1636455/where-is-erlang-used-and-why
erlang.org/pipermail/erlang-questions/2008-October/039259.html
twitter.com/SFWRedditVideos

>literally the reason functional programming has gained real world recognition and the backbone of most telecommunications
>meme territory

the meme is thinking any language that doesn't have "java" in the name is used exclusively by obese weeaboo manchildren

>erlang
>meme territory
just because your trendy github projects powered by onions grown with

how come telcos all use erlang? whats the benefit

Massive distributed failsafe networks.
Facebook's chat, WhatsApp, World of Warcraft, Discord, et.c.

It fits this bill because it was engineered for this very purpose

When you say Erlang you also can't forget about the standard library that really brings everything together

Literally read the wikipedia article on it, it looks pretty good

Attached: 1527935640690.jpg (900x1200, 181K)

Erlang dev here, AMA

Attached: images (9).jpg (144x192, 9K)

is the advertised hot core reload just meme?

Does BEAM-as-a-library exist?

Basically this guy's question
What's the tangible benefit of using a functional language?

Avoiding side effects helps avoiding data races.
Being functional according to whoevers definition is just a side effect - get it? - to erlangs goals.

What's the purpose of a functional language that does not have types?
Do you use containers + Kubernetes to deploy?
Why is everyone saying it's better than Akka? What are the arguments?
How is it performance wise?

As more areas of programming fall victim to the invasion of normies, minorities, and females, white male programmers search for increasingly obscure and niche programming languages to make their domain.

literally everything about the language is what "Enterprise Java" became. nothing about it is exciting, new or particularly good. hell their shitty VM (BEAM) by default busy waits as an "optimization" to reduce scheduling delay when listening on sockets.

yes. it only works in the sense that all the instances of the active "hot code" has to be killed before you'll see your new code go in. literally could use any modern OS with a proper service init, something like a message bus and just restart your service at the OS level and get the same fucking thing, but more reliable and not some nextlevel VM from the stupid ages of computing.

Erlang is like C in that both were designed by people who had a real problem to solve and needed to get shit done. This separates them from solution-looking-for-a-problem kind of meme languages like C++, Rust and Haskell.

Erlang vs Clojure
Which is better?

>Erlang is like C
No Erlang is good and C is trash. That's the big difference Cnile.

different

Use cases:
Riot games chat is handled by erlang
Discord uses Erlang
Whatsapp was built on Erlang

Here's a good list of real use cases

stackoverflow.com/questions/1636455/where-is-erlang-used-and-why

Elixir Phoenix is also objectively better and faster than Ruby and Rails , Python Django, and PHP since it's built for multicore and distributed programming.

wrong you fuckign faggot erlang is complete garbage - worse than shiton. C is language god would use to create the fucking universe.

AKKA, but Beam will always be superior because of the BEAM schedulers guaranteeing a fair share of compute time between all processes, and because erlang processes may be blocking unlike Akka actors.

see here for an informed answer

erlang.org/pipermail/erlang-questions/2008-October/039259.html

also what is a functional language? A language which has first class functions, so Python is multiparadigm with OOP and FP ideas since it includes lambdas. You can do the same things in OOP as you can in FP, but the algorithms are different since you're relying more on map functions and recursion, oftentimes simplifying concurrency and code reasoning by mandating immutability in assignments. Erlang mandates for single-assignment so once you declare a variable X=1. you cannot later say X=2.

Yeah I've used Docker to deploy, pretty easy. I still have no idea how hot code reloading works since it's so complicated to setup.

It can utilize ALL your cpu cores without having to change your code, as long as you're spawning at least that many processes. Erlang uses the actor model which means it can spin up millions of processes in a second and have them all use the CPU cores fairly with something called a scheduler. It passes along cpu cycles to each process, which means in something like a web application you'd have very low latency.

That's pretty nice for something like a chat server, which is the reason why whatsapp and discord and telecoms use erlang. Each process on it's own is probably Python-tier fast which isn't very fast at all, so you wouldn't use it for something computationally expensive. Instead it would be for massive concurrency with low latency.

Having functional features is secondary. Erlang definitely doesn't try to control side effects and writing in a functional style is more of an option than a requirement.
Erlang is used because it is one of the only true OOP languages in the original sense of the word: independent objects which communicate with each other by message passing. In the Erlang model there should be no semantic difference between processes/threads communicating on the same machine and over a distributed network. It has a philosophy letting failures happen an providing the means to recover correctly, instead of trying to prevent every possible error (and failing) like most languages. This makes it great for building robust systems which require high scalability and uptime.

I should also mention that the reason why it's great for low latency work is because each process has its own garbage collector

Unlike the JVM which pauses globally for garbage collection, Erlang actors don't all freeze up at the same time because they each have their own schedule. This ensures a leveling out of response times instead of the maximum times generated by a global pause

No God would use an expressive language like forth. If God was using C there wouldn't be a universe. He'd still be writing a bunch of boiler plate code to implement gravity or some shit.

Erlang is cool but OTP is hard and confusing, there is just too much information there (however havent looked into it that hard so I dont know)

I am experimenting with AI using erlang, at least thats the plan however the very first problem is processes just have random pids, and there is no easy way to (re)naming and looking them up them other than using atoms

Concurrent programming that isn't shit and I'm learning OTP myself user

>I'm learning a dead language shilled by companies with shitloads of legacy shitware written in it.
>I'll conveniently ignore the fact that JVM is superior in every single way because it isn't obscure enough.

You corps need to stop shilling your shitlang here. I don't care if you have millions of lines of crap and you need cucks fresh out of school to replace the boomers that wrote it.

OTP is just a suite of tools

these include:

genserver - a framework for using erlang processes (the famous concurrency aspect of erlang)

dialyzer - a tool for static code analysis/debugging

ets - something like redis, it's a global key value store built into erlang/otp

mnesia - a database that can be used either wholly in-memory, or on disk, or even in hybrid mode. I've heard of some people with 600GB in-memory databases, though it didn't sound like a good idea

supervisors - processes that can monitor other processes and reboot them if they die, so basically making daemons or a built-in systemd. This is why Erlang is considered the best language for fault-tolerant programming, and why the famous motto is "let it crash"

I should mention that OTP comes with OTP built-in

When was the last time you had sex?

3 years ago

observer is my favorite tool desu

>processes just have random pids, and there is no easy way to (re)naming and looking them up them other than using atoms
I don't fully understand what you're trying to achieve but what prevents you from just dumping all the pids you want named in a map?

nothing, I will probably do just that
what kind of map do you have in mind?

>c was designed