Erlang vs Other Languages
Discussions debate Erlang (and Elixir) strengths in concurrency, fault tolerance, distribution, and scalability compared to languages like Java, Node.js, Go, JVM, and .NET, while addressing its performance limitations.
Activity Over Time
Top Contributors
Keywords
Sample Comments
Can someone give me some real world examples of where Erlang really out does Java/C#/C++/etc?
I'd appreciate an in-depth write-up about deficiencies you found in Node and how Erlang fixes them
Erlang is not particularly performant, and it seems like what the top comment is describing requires something faster.
What does Erlang offer that the JVM or .NET don't?
I'm a big fan of Erlang, but I think you can acheive similar things in other languages with queues and workers. Erlang's advantage here is that you can do easily do a worker per client connection, for almost any number of client connections; for data processing queues, the lack of data sharing between processes (threads) strongly pushes you towards writing things in a way that easily scales to multiple queue workers -- you can of course write scalable code in other languages, but it&#x
How are Elixir / Erlang anything but great for concurrency?
Fair Question!It's not a language oriented at maximum throughput of parallel operations.It is a language that is oriented at providing very low latency (soft real-time) handling of lots of events.When you write in Erlang, you decompose your program into lots (think upwards of millions) of small user-space processes, that communicate using asynchronous messages.One side-effect of this architecture is that your application will scale in performance as you add more cores wit
Pretty much everything, honestly. Erlang was built from the start to accommodate massive concurrency and robustness requirements, in particular for telecom switches, but largely applicable to anything.Node's a single-threaded reactor pattern event loop, whereas Erlang/OTP is an SMP-enabled virtual machine with a preemptive scheduler that manages lightweight actors called processes, all isolated from each other with their own stack and heap, that can be cheaply spawned and communicat
Isn't this what Erlang/Elixir BEAM is all about?
Can someone explain what Erlang offers that Go does not? Both have great support for concurrency, but Go has type checking and a more familiar syntax.