4 ms·
i wonder whether they considered scala so they could stay on the JVM (no mention of it in the OP). i don't know Erlang but i develop in scala (w/ Akka) and alwa
by doug1001 12y ago
i wonder whether they considered scala so they could stay on the JVM (no mention of it in the OP). i don't know Erlang but i develop in scala (w/ Akka) and always interested to know how the two languages are different/similar w/r/t enabling devs to build build distributed systems.
- digitalzombie 12y agoErlang have a preemptive scheduler. If you read the article he mention that his company needed low latency. Java doesn't have a preemptive scheduler. An example would be, an infinite loop. If you have an infinite loop in a msg pass to an actor then that message will use the Actor forever in Scala. Because the scheduler is not preemptive. For Erlang, it'll let that msg (infinte loop) run for a small amount of time, put it back in the queue/mailbox and run another task for some time and etc.. Also all actor in Erlang are new processes, so if a process fail it doesn't take down the main process. I've talked to an Akka company and apparently you can spawn actor for akka in same thread/process. IIRC actor in Scala had a weird caveat in coding too. But it's been so long since I've used Scala. The article mentioned small language in Erlang. Erlang gives you primitive to create distributed language. As in it's built into the language to spawn a process, to link the process together and monitor it, etc... With Scala it's a library. Also Erlang isn't just a programming language it's the run time, as you can see with premptive scheduler and etc.. Erlang is powerful because it BEAM or it's VM.
- brucify_ 12y agoAkka was actually inspired by Erlang's design principles, the philosophy "Let it crash", and the actor model.